blob: ba437b186bbf8fc4dd6a476c03884883cb83c86f [file] [log] [blame]
#[cfg(feature = "UI_Composition_Core")]
pub mod Core;
#[cfg(feature = "UI_Composition_Desktop")]
pub mod Desktop;
#[cfg(feature = "UI_Composition_Diagnostics")]
pub mod Diagnostics;
#[cfg(feature = "UI_Composition_Effects")]
pub mod Effects;
#[cfg(feature = "UI_Composition_Interactions")]
pub mod Interactions;
#[cfg(feature = "UI_Composition_Scenes")]
pub mod Scenes;
#[doc(hidden)]
#[repr(transparent)]
pub struct IAmbientLight(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAmbientLight {
type Vtable = IAmbientLight_Vtbl;
}
impl ::core::clone::Clone for IAmbientLight {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAmbientLight {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa48130a1_b7c4_46f7_b9bf_daf43a44e6ee);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAmbientLight_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Color: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::Color) -> ::windows::core::HRESULT,
pub SetColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::Color) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IAmbientLight2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAmbientLight2 {
type Vtable = IAmbientLight2_Vtbl;
}
impl ::core::clone::Clone for IAmbientLight2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAmbientLight2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3b64a6bf_5f97_4c94_86e5_042dd386b27d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAmbientLight2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Intensity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetIntensity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IAnimationController(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAnimationController {
type Vtable = IAnimationController_Vtbl;
}
impl ::core::clone::Clone for IAnimationController {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAnimationController {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc934efd2_0722_4f5f_a4e2_9510f3d43bf7);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAnimationController_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub PlaybackRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetPlaybackRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub Progress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetProgress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub ProgressBehavior: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AnimationControllerProgressBehavior) -> ::windows::core::HRESULT,
pub SetProgressBehavior: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AnimationControllerProgressBehavior) -> ::windows::core::HRESULT,
pub Pause: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Resume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IAnimationControllerStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAnimationControllerStatics {
type Vtable = IAnimationControllerStatics_Vtbl;
}
impl ::core::clone::Clone for IAnimationControllerStatics {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAnimationControllerStatics {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe71164df_651b_4800_b9e5_6a3bcfed3365);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAnimationControllerStatics_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub MaxPlaybackRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub MinPlaybackRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct IAnimationObject(::windows::core::IUnknown);
impl IAnimationObject {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
}
::windows::imp::interface_hierarchy!(IAnimationObject, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::core::cmp::PartialEq for IAnimationObject {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAnimationObject {}
impl ::core::fmt::Debug for IAnimationObject {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAnimationObject").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for IAnimationObject {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{e7141e0a-04b8-4fc5-a4dc-195392e57807}");
}
unsafe impl ::windows::core::Interface for IAnimationObject {
type Vtable = IAnimationObject_Vtbl;
}
impl ::core::clone::Clone for IAnimationObject {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAnimationObject {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe7141e0a_04b8_4fc5_a4dc_195392e57807);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAnimationObject_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub PopulatePropertyInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, propertyinfo: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IAnimationPropertyInfo(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAnimationPropertyInfo {
type Vtable = IAnimationPropertyInfo_Vtbl;
}
impl ::core::clone::Clone for IAnimationPropertyInfo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAnimationPropertyInfo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf4716f05_ed77_4e3c_b328_5c3985b3738f);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAnimationPropertyInfo_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub AccessMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AnimationPropertyAccessMode) -> ::windows::core::HRESULT,
pub SetAccessMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AnimationPropertyAccessMode) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IAnimationPropertyInfo2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAnimationPropertyInfo2 {
type Vtable = IAnimationPropertyInfo2_Vtbl;
}
impl ::core::clone::Clone for IAnimationPropertyInfo2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAnimationPropertyInfo2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x591720b4_7472_5218_8b39_dffe615ae6da);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAnimationPropertyInfo2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub GetResolvedCompositionObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetResolvedCompositionObjectProperty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IBackEasingFunction(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IBackEasingFunction {
type Vtable = IBackEasingFunction_Vtbl;
}
impl ::core::clone::Clone for IBackEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBackEasingFunction {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb8560da4_5e3c_545d_b263_7987a2bd27cb);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBackEasingFunction_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Mode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionEasingFunctionMode) -> ::windows::core::HRESULT,
pub Amplitude: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IBooleanKeyFrameAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IBooleanKeyFrameAnimation {
type Vtable = IBooleanKeyFrameAnimation_Vtbl;
}
impl ::core::clone::Clone for IBooleanKeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBooleanKeyFrameAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x95e23a08_d1f4_4972_9770_3efe68d82e14);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBooleanKeyFrameAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub InsertKeyFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, normalizedprogresskey: f32, value: bool) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IBounceEasingFunction(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IBounceEasingFunction {
type Vtable = IBounceEasingFunction_Vtbl;
}
impl ::core::clone::Clone for IBounceEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBounceEasingFunction {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe7fdb44b_aad5_5174_9421_eef8b75a6a43);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBounceEasingFunction_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Mode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionEasingFunctionMode) -> ::windows::core::HRESULT,
pub Bounces: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows::core::HRESULT,
pub Bounciness: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IBounceScalarNaturalMotionAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IBounceScalarNaturalMotionAnimation {
type Vtable = IBounceScalarNaturalMotionAnimation_Vtbl;
}
impl ::core::clone::Clone for IBounceScalarNaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBounceScalarNaturalMotionAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbaa30dcc_a633_4618_9b06_7f7c72c87cff);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBounceScalarNaturalMotionAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Acceleration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetAcceleration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub Restitution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetRestitution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IBounceVector2NaturalMotionAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IBounceVector2NaturalMotionAnimation {
type Vtable = IBounceVector2NaturalMotionAnimation_Vtbl;
}
impl ::core::clone::Clone for IBounceVector2NaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBounceVector2NaturalMotionAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xda344196_2154_4b3c_88aa_47361204eccd);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBounceVector2NaturalMotionAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Acceleration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetAcceleration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub Restitution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetRestitution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IBounceVector3NaturalMotionAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IBounceVector3NaturalMotionAnimation {
type Vtable = IBounceVector3NaturalMotionAnimation_Vtbl;
}
impl ::core::clone::Clone for IBounceVector3NaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBounceVector3NaturalMotionAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x47dabc31_10d3_4518_86f1_09caf742d113);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBounceVector3NaturalMotionAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Acceleration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetAcceleration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub Restitution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetRestitution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICircleEasingFunction(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICircleEasingFunction {
type Vtable = ICircleEasingFunction_Vtbl;
}
impl ::core::clone::Clone for ICircleEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICircleEasingFunction {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1e07222a_6f82_5a28_8748_2e92fc46ee2b);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICircleEasingFunction_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Mode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionEasingFunctionMode) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IColorKeyFrameAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IColorKeyFrameAnimation {
type Vtable = IColorKeyFrameAnimation_Vtbl;
}
impl ::core::clone::Clone for IColorKeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IColorKeyFrameAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x93adb5e9_8e05_4593_84a3_dca152781e56);
}
#[repr(C)]
#[doc(hidden)]
pub struct IColorKeyFrameAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub InterpolationColorSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionColorSpace) -> ::windows::core::HRESULT,
pub SetInterpolationColorSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CompositionColorSpace) -> ::windows::core::HRESULT,
pub InsertKeyFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, normalizedprogresskey: f32, value: super::Color) -> ::windows::core::HRESULT,
pub InsertKeyFrameWithEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, normalizedprogresskey: f32, value: super::Color, easingfunction: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionAnimation {
type Vtable = ICompositionAnimation_Vtbl;
}
impl ::core::clone::Clone for ICompositionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x464c4c2c_1caa_4061_9b40_e13fde1503ca);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub ClearAllParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ClearParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, key: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub SetColorParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, key: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: super::Color) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub SetMatrix3x2Parameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, key: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetMatrix3x2Parameter: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetMatrix4x4Parameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, key: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetMatrix4x4Parameter: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetQuaternionParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, key: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetQuaternionParameter: usize,
pub SetReferenceParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, key: ::std::mem::MaybeUninit<::windows::core::HSTRING>, compositionobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetScalarParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, key: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: f32) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub SetVector2Parameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, key: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetVector2Parameter: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetVector3Parameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, key: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetVector3Parameter: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetVector4Parameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, key: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetVector4Parameter: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionAnimation2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionAnimation2 {
type Vtable = ICompositionAnimation2_Vtbl;
}
impl ::core::clone::Clone for ICompositionAnimation2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionAnimation2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x369b603e_a80f_4948_93e3_ed23fb38c6cb);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionAnimation2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub SetBooleanParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, key: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: bool) -> ::windows::core::HRESULT,
pub Target: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub SetTarget: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionAnimation3(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionAnimation3 {
type Vtable = ICompositionAnimation3_Vtbl;
}
impl ::core::clone::Clone for ICompositionAnimation3 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionAnimation3 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd51e030d_7da4_4bd7_bc2d_f4517529f43a);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionAnimation3_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Collections")]
pub InitialValueExpressions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
InitialValueExpressions: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionAnimation4(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionAnimation4 {
type Vtable = ICompositionAnimation4_Vtbl;
}
impl ::core::clone::Clone for ICompositionAnimation4 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionAnimation4 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x770137be_76bc_4e23_bfed_fe9cc20f6ec9);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionAnimation4_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub SetExpressionReferenceParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, parametername: ::std::mem::MaybeUninit<::windows::core::HSTRING>, source: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct ICompositionAnimationBase(::windows::core::IUnknown);
impl ICompositionAnimationBase {}
::windows::imp::interface_hierarchy!(ICompositionAnimationBase, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::core::cmp::PartialEq for ICompositionAnimationBase {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ICompositionAnimationBase {}
impl ::core::fmt::Debug for ICompositionAnimationBase {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ICompositionAnimationBase").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for ICompositionAnimationBase {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{1c2c2999-e818-48d3-a6dd-d78c82f8ace9}");
}
unsafe impl ::windows::core::Interface for ICompositionAnimationBase {
type Vtable = ICompositionAnimationBase_Vtbl;
}
impl ::core::clone::Clone for ICompositionAnimationBase {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionAnimationBase {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1c2c2999_e818_48d3_a6dd_d78c82f8ace9);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionAnimationBase_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionAnimationFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionAnimationFactory {
type Vtable = ICompositionAnimationFactory_Vtbl;
}
impl ::core::clone::Clone for ICompositionAnimationFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionAnimationFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x10f6c4fb_6e51_4c25_bbd3_586a9bec3ef4);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionAnimationFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionAnimationGroup(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionAnimationGroup {
type Vtable = ICompositionAnimationGroup_Vtbl;
}
impl ::core::clone::Clone for ICompositionAnimationGroup {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionAnimationGroup {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5e7cc90c_cd14_4e07_8a55_c72527aabdac);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionAnimationGroup_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows::core::HRESULT,
pub Add: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Remove: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub RemoveAll: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionBackdropBrush(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionBackdropBrush {
type Vtable = ICompositionBackdropBrush_Vtbl;
}
impl ::core::clone::Clone for ICompositionBackdropBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionBackdropBrush {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc5acae58_3898_499e_8d7f_224e91286a5d);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionBackdropBrush_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionBatchCompletedEventArgs(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionBatchCompletedEventArgs {
type Vtable = ICompositionBatchCompletedEventArgs_Vtbl;
}
impl ::core::clone::Clone for ICompositionBatchCompletedEventArgs {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionBatchCompletedEventArgs {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0d00dad0_9464_450a_a562_2e2698b0a812);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionBatchCompletedEventArgs_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionBrush(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionBrush {
type Vtable = ICompositionBrush_Vtbl;
}
impl ::core::clone::Clone for ICompositionBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionBrush {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xab0d7608_30c0_40e9_b568_b60a6bd1fb46);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionBrush_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionBrushFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionBrushFactory {
type Vtable = ICompositionBrushFactory_Vtbl;
}
impl ::core::clone::Clone for ICompositionBrushFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionBrushFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xda53fb4c_4650_47c4_ad76_765379607ed6);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionBrushFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionCapabilities(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionCapabilities {
type Vtable = ICompositionCapabilities_Vtbl;
}
impl ::core::clone::Clone for ICompositionCapabilities {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionCapabilities {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8253353e_b517_48bc_b1e8_4b3561a2e181);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionCapabilities_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub AreEffectsSupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub AreEffectsFast: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub Changed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Changed: usize,
#[cfg(feature = "Foundation")]
pub RemoveChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveChanged: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionCapabilitiesStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionCapabilitiesStatics {
type Vtable = ICompositionCapabilitiesStatics_Vtbl;
}
impl ::core::clone::Clone for ICompositionCapabilitiesStatics {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionCapabilitiesStatics {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf7b7a86e_6416_49e5_8ddf_afe949e20562);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionCapabilitiesStatics_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub GetForCurrentView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionClip(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionClip {
type Vtable = ICompositionClip_Vtbl;
}
impl ::core::clone::Clone for ICompositionClip {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionClip {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1ccd2a52_cfc7_4ace_9983_146bb8eb6a3c);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionClip_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionClip2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionClip2 {
type Vtable = ICompositionClip2_Vtbl;
}
impl ::core::clone::Clone for ICompositionClip2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionClip2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5893e069_3516_40e1_89e0_5ba924927235);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionClip2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub AnchorPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
AnchorPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetAnchorPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetAnchorPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub CenterPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
CenterPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetCenterPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetCenterPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub Offset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Offset: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetOffset: usize,
pub RotationAngle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetRotationAngle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub RotationAngleInDegrees: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetRotationAngleInDegrees: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub Scale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Scale: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetScale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetScale: usize,
#[cfg(feature = "Foundation_Numerics")]
pub TransformMatrix: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
TransformMatrix: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetTransformMatrix: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetTransformMatrix: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionClipFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionClipFactory {
type Vtable = ICompositionClipFactory_Vtbl;
}
impl ::core::clone::Clone for ICompositionClipFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionClipFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb9484caf_20c7_4aed_ac4a_9c78ba1302cf);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionClipFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionColorBrush(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionColorBrush {
type Vtable = ICompositionColorBrush_Vtbl;
}
impl ::core::clone::Clone for ICompositionColorBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionColorBrush {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2b264c5e_bf35_4831_8642_cf70c20fff2f);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionColorBrush_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Color: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::Color) -> ::windows::core::HRESULT,
pub SetColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::Color) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionColorGradientStop(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionColorGradientStop {
type Vtable = ICompositionColorGradientStop_Vtbl;
}
impl ::core::clone::Clone for ICompositionColorGradientStop {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionColorGradientStop {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6f00ca92_c801_4e41_9a8f_a53e20f57778);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionColorGradientStop_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Color: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::Color) -> ::windows::core::HRESULT,
pub SetColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::Color) -> ::windows::core::HRESULT,
pub Offset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionColorGradientStopCollection(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionColorGradientStopCollection {
type Vtable = ICompositionColorGradientStopCollection_Vtbl;
}
impl ::core::clone::Clone for ICompositionColorGradientStopCollection {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionColorGradientStopCollection {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9f1d20ec_7b04_4b1d_90bc_9fa32c0cfd26);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionColorGradientStopCollection_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionCommitBatch(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionCommitBatch {
type Vtable = ICompositionCommitBatch_Vtbl;
}
impl ::core::clone::Clone for ICompositionCommitBatch {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionCommitBatch {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0d00dad0_ca07_4400_8c8e_cb5db08559cc);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionCommitBatch_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub IsActive: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub IsEnded: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub Completed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Completed: usize,
#[cfg(feature = "Foundation")]
pub RemoveCompleted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveCompleted: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionContainerShape(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionContainerShape {
type Vtable = ICompositionContainerShape_Vtbl;
}
impl ::core::clone::Clone for ICompositionContainerShape {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionContainerShape {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4f5e859b_2e5b_44a8_982c_aa0f69c16059);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionContainerShape_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Collections")]
pub Shapes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Shapes: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionDrawingSurface(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionDrawingSurface {
type Vtable = ICompositionDrawingSurface_Vtbl;
}
impl ::core::clone::Clone for ICompositionDrawingSurface {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionDrawingSurface {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa166c300_fad0_4d11_9e67_e433162ff49e);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionDrawingSurface_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Graphics_DirectX")]
pub AlphaMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Graphics::DirectX::DirectXAlphaMode) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics_DirectX"))]
AlphaMode: usize,
#[cfg(feature = "Graphics_DirectX")]
pub PixelFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Graphics::DirectX::DirectXPixelFormat) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics_DirectX"))]
PixelFormat: usize,
#[cfg(feature = "Foundation")]
pub Size: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Size) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Size: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionDrawingSurface2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionDrawingSurface2 {
type Vtable = ICompositionDrawingSurface2_Vtbl;
}
impl ::core::clone::Clone for ICompositionDrawingSurface2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionDrawingSurface2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfad0e88b_e354_44e8_8e3d_c4880d5a213f);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionDrawingSurface2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Graphics")]
pub SizeInt32: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Graphics::SizeInt32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics"))]
SizeInt32: usize,
#[cfg(feature = "Graphics")]
pub Resize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sizepixels: super::super::Graphics::SizeInt32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics"))]
Resize: usize,
#[cfg(feature = "Graphics")]
pub Scroll: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, offset: super::super::Graphics::PointInt32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics"))]
Scroll: usize,
#[cfg(feature = "Graphics")]
pub ScrollRect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, offset: super::super::Graphics::PointInt32, scrollrect: super::super::Graphics::RectInt32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics"))]
ScrollRect: usize,
#[cfg(feature = "Graphics")]
pub ScrollWithClip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, offset: super::super::Graphics::PointInt32, cliprect: super::super::Graphics::RectInt32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics"))]
ScrollWithClip: usize,
#[cfg(feature = "Graphics")]
pub ScrollRectWithClip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, offset: super::super::Graphics::PointInt32, cliprect: super::super::Graphics::RectInt32, scrollrect: super::super::Graphics::RectInt32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics"))]
ScrollRectWithClip: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionDrawingSurfaceFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionDrawingSurfaceFactory {
type Vtable = ICompositionDrawingSurfaceFactory_Vtbl;
}
impl ::core::clone::Clone for ICompositionDrawingSurfaceFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionDrawingSurfaceFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9497b00a_312d_46b9_9db3_412fd79464c8);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionDrawingSurfaceFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionEasingFunction(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionEasingFunction {
type Vtable = ICompositionEasingFunction_Vtbl;
}
impl ::core::clone::Clone for ICompositionEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionEasingFunction {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5145e356_bf79_4ea8_8cc2_6b5b472e6c9a);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionEasingFunction_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionEasingFunctionFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionEasingFunctionFactory {
type Vtable = ICompositionEasingFunctionFactory_Vtbl;
}
impl ::core::clone::Clone for ICompositionEasingFunctionFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionEasingFunctionFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x60840774_3da0_4949_8200_7206c00190a0);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionEasingFunctionFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionEasingFunctionStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionEasingFunctionStatics {
type Vtable = ICompositionEasingFunctionStatics_Vtbl;
}
impl ::core::clone::Clone for ICompositionEasingFunctionStatics {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionEasingFunctionStatics {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x17a766b6_2936_53ea_b5af_c642f4a61083);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionEasingFunctionStatics_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub CreateCubicBezierEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, owner: *mut ::core::ffi::c_void, controlpoint1: super::super::Foundation::Numerics::Vector2, controlpoint2: super::super::Foundation::Numerics::Vector2, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
CreateCubicBezierEasingFunction: usize,
pub CreateLinearEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, owner: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateStepEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, owner: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateStepEasingFunctionWithStepCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, owner: *mut ::core::ffi::c_void, stepcount: i32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateBackEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, owner: *mut ::core::ffi::c_void, mode: CompositionEasingFunctionMode, amplitude: f32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateBounceEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, owner: *mut ::core::ffi::c_void, mode: CompositionEasingFunctionMode, bounces: i32, bounciness: f32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateCircleEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, owner: *mut ::core::ffi::c_void, mode: CompositionEasingFunctionMode, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateElasticEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, owner: *mut ::core::ffi::c_void, mode: CompositionEasingFunctionMode, oscillations: i32, springiness: f32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateExponentialEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, owner: *mut ::core::ffi::c_void, mode: CompositionEasingFunctionMode, exponent: f32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreatePowerEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, owner: *mut ::core::ffi::c_void, mode: CompositionEasingFunctionMode, power: f32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateSineEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, owner: *mut ::core::ffi::c_void, mode: CompositionEasingFunctionMode, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionEffectBrush(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionEffectBrush {
type Vtable = ICompositionEffectBrush_Vtbl;
}
impl ::core::clone::Clone for ICompositionEffectBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionEffectBrush {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbf7f795e_83cc_44bf_a447_3e3c071789ec);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionEffectBrush_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub GetSourceParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetSourceParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::HSTRING>, source: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionEffectFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionEffectFactory {
type Vtable = ICompositionEffectFactory_Vtbl;
}
impl ::core::clone::Clone for ICompositionEffectFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionEffectFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbe5624af_ba7e_4510_9850_41c0b4ff74df);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionEffectFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub CreateBrush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ExtendedError: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::windows::core::HRESULT) -> ::windows::core::HRESULT,
pub LoadStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionEffectFactoryLoadStatus) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionEffectSourceParameter(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionEffectSourceParameter {
type Vtable = ICompositionEffectSourceParameter_Vtbl;
}
impl ::core::clone::Clone for ICompositionEffectSourceParameter {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionEffectSourceParameter {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x858ab13a_3292_4e4e_b3bb_2b6c6544a6ee);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionEffectSourceParameter_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Name: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionEffectSourceParameterFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionEffectSourceParameterFactory {
type Vtable = ICompositionEffectSourceParameterFactory_Vtbl;
}
impl ::core::clone::Clone for ICompositionEffectSourceParameterFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionEffectSourceParameterFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb3d9f276_aba3_4724_acf3_d0397464db1c);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionEffectSourceParameterFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionEllipseGeometry(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionEllipseGeometry {
type Vtable = ICompositionEllipseGeometry_Vtbl;
}
impl ::core::clone::Clone for ICompositionEllipseGeometry {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionEllipseGeometry {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4801f884_f6ad_4b93_afa9_897b64e57b1f);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionEllipseGeometry_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub Center: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Center: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetCenter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetCenter: usize,
#[cfg(feature = "Foundation_Numerics")]
pub Radius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Radius: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetRadius: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionGeometricClip(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionGeometricClip {
type Vtable = ICompositionGeometricClip_Vtbl;
}
impl ::core::clone::Clone for ICompositionGeometricClip {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionGeometricClip {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc840b581_81c9_4444_a2c1_ccaece3a50e5);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionGeometricClip_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Geometry: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetGeometry: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ViewBox: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetViewBox: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionGeometry(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionGeometry {
type Vtable = ICompositionGeometry_Vtbl;
}
impl ::core::clone::Clone for ICompositionGeometry {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionGeometry {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe985217c_6a17_4207_abd8_5fd3dd612a9d);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionGeometry_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub TrimEnd: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetTrimEnd: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub TrimOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetTrimOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub TrimStart: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetTrimStart: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionGeometryFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionGeometryFactory {
type Vtable = ICompositionGeometryFactory_Vtbl;
}
impl ::core::clone::Clone for ICompositionGeometryFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionGeometryFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbffebfe1_8c25_480b_9f56_fed6b288055d);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionGeometryFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionGradientBrush(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionGradientBrush {
type Vtable = ICompositionGradientBrush_Vtbl;
}
impl ::core::clone::Clone for ICompositionGradientBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionGradientBrush {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1d9709e0_ffc6_4c0e_a9ab_34144d4c9098);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionGradientBrush_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub AnchorPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
AnchorPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetAnchorPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetAnchorPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub CenterPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
CenterPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetCenterPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetCenterPoint: usize,
pub ColorStops: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ExtendMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionGradientExtendMode) -> ::windows::core::HRESULT,
pub SetExtendMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CompositionGradientExtendMode) -> ::windows::core::HRESULT,
pub InterpolationSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionColorSpace) -> ::windows::core::HRESULT,
pub SetInterpolationSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CompositionColorSpace) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub Offset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Offset: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetOffset: usize,
pub RotationAngle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetRotationAngle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub RotationAngleInDegrees: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetRotationAngleInDegrees: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub Scale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Scale: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetScale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetScale: usize,
#[cfg(feature = "Foundation_Numerics")]
pub TransformMatrix: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
TransformMatrix: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetTransformMatrix: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetTransformMatrix: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionGradientBrush2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionGradientBrush2 {
type Vtable = ICompositionGradientBrush2_Vtbl;
}
impl ::core::clone::Clone for ICompositionGradientBrush2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionGradientBrush2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x899dd5a1_b4c7_4b33_a1b6_264addc26d10);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionGradientBrush2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub MappingMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionMappingMode) -> ::windows::core::HRESULT,
pub SetMappingMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CompositionMappingMode) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionGradientBrushFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionGradientBrushFactory {
type Vtable = ICompositionGradientBrushFactory_Vtbl;
}
impl ::core::clone::Clone for ICompositionGradientBrushFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionGradientBrushFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56d765d7_f189_48c9_9c8d_94daf1bec010);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionGradientBrushFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionGraphicsDevice(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionGraphicsDevice {
type Vtable = ICompositionGraphicsDevice_Vtbl;
}
impl ::core::clone::Clone for ICompositionGraphicsDevice {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionGraphicsDevice {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfb22c6e1_80a2_4667_9936_dbeaf6eefe95);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionGraphicsDevice_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(all(feature = "Foundation", feature = "Graphics_DirectX"))]
pub CreateDrawingSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sizepixels: super::super::Foundation::Size, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "Graphics_DirectX")))]
CreateDrawingSurface: usize,
#[cfg(feature = "Foundation")]
pub RenderingDeviceReplaced: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RenderingDeviceReplaced: usize,
#[cfg(feature = "Foundation")]
pub RemoveRenderingDeviceReplaced: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveRenderingDeviceReplaced: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionGraphicsDevice2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionGraphicsDevice2 {
type Vtable = ICompositionGraphicsDevice2_Vtbl;
}
impl ::core::clone::Clone for ICompositionGraphicsDevice2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionGraphicsDevice2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0fb8bdf6_c0f0_4bcc_9fb8_084982490d7d);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionGraphicsDevice2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Graphics_DirectX")]
pub CreateDrawingSurface2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sizepixels: super::super::Graphics::SizeInt32, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics_DirectX"))]
CreateDrawingSurface2: usize,
#[cfg(feature = "Graphics_DirectX")]
pub CreateVirtualDrawingSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sizepixels: super::super::Graphics::SizeInt32, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics_DirectX"))]
CreateVirtualDrawingSurface: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionGraphicsDevice3(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionGraphicsDevice3 {
type Vtable = ICompositionGraphicsDevice3_Vtbl;
}
impl ::core::clone::Clone for ICompositionGraphicsDevice3 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionGraphicsDevice3 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x37f67514_d3ef_49d1_b69d_0d8eabeb3626);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionGraphicsDevice3_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Graphics_DirectX")]
pub CreateMipmapSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sizepixels: super::super::Graphics::SizeInt32, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics_DirectX"))]
CreateMipmapSurface: usize,
pub Trim: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionGraphicsDevice4(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionGraphicsDevice4 {
type Vtable = ICompositionGraphicsDevice4_Vtbl;
}
impl ::core::clone::Clone for ICompositionGraphicsDevice4 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionGraphicsDevice4 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5a73bff9_a97f_4cf5_ba46_98ef358e71b1);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionGraphicsDevice4_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(all(feature = "Foundation", feature = "Graphics_DirectX"))]
pub CaptureAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, capturevisual: *mut ::core::ffi::c_void, size: super::super::Graphics::SizeInt32, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode, sdrboost: f32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "Graphics_DirectX")))]
CaptureAsync: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionLight(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionLight {
type Vtable = ICompositionLight_Vtbl;
}
impl ::core::clone::Clone for ICompositionLight {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionLight {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x41a6d7c2_2e5d_4bc1_b09e_8f0a03e3d8d3);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionLight_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Targets: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionLight2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionLight2 {
type Vtable = ICompositionLight2_Vtbl;
}
impl ::core::clone::Clone for ICompositionLight2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionLight2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa7bcda72_f35d_425d_9b98_23f4205f6669);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionLight2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub ExclusionsFromTargets: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionLight3(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionLight3 {
type Vtable = ICompositionLight3_Vtbl;
}
impl ::core::clone::Clone for ICompositionLight3 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionLight3 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4b0b00e4_df07_4959_b7a4_4f7e4233f838);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionLight3_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub IsEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub SetIsEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionLightFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionLightFactory {
type Vtable = ICompositionLightFactory_Vtbl;
}
impl ::core::clone::Clone for ICompositionLightFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionLightFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x069cf306_da3c_4b44_838a_5e03d51ace55);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionLightFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionLineGeometry(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionLineGeometry {
type Vtable = ICompositionLineGeometry_Vtbl;
}
impl ::core::clone::Clone for ICompositionLineGeometry {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionLineGeometry {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xdd7615a4_0c9a_4b67_8dce_440a5bf9cdec);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionLineGeometry_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub Start: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Start: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetStart: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetStart: usize,
#[cfg(feature = "Foundation_Numerics")]
pub End: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
End: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetEnd: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetEnd: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionLinearGradientBrush(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionLinearGradientBrush {
type Vtable = ICompositionLinearGradientBrush_Vtbl;
}
impl ::core::clone::Clone for ICompositionLinearGradientBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionLinearGradientBrush {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x983bc519_a9db_413c_a2d8_2a9056fc525e);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionLinearGradientBrush_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub EndPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
EndPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetEndPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetEndPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub StartPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
StartPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetStartPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetStartPoint: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionMaskBrush(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionMaskBrush {
type Vtable = ICompositionMaskBrush_Vtbl;
}
impl ::core::clone::Clone for ICompositionMaskBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionMaskBrush {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x522cf09e_be6b_4f41_be49_f9226d471b4a);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionMaskBrush_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Mask: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetMask: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Source: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionMipmapSurface(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionMipmapSurface {
type Vtable = ICompositionMipmapSurface_Vtbl;
}
impl ::core::clone::Clone for ICompositionMipmapSurface {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionMipmapSurface {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4863675c_cf4a_4b1c_9ece_c5ec0c2b2fe6);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionMipmapSurface_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub LevelCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Graphics_DirectX")]
pub AlphaMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Graphics::DirectX::DirectXAlphaMode) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics_DirectX"))]
AlphaMode: usize,
#[cfg(feature = "Graphics_DirectX")]
pub PixelFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Graphics::DirectX::DirectXPixelFormat) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics_DirectX"))]
PixelFormat: usize,
#[cfg(feature = "Graphics")]
pub SizeInt32: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Graphics::SizeInt32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics"))]
SizeInt32: usize,
pub GetDrawingSurfaceForLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, level: u32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionNineGridBrush(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionNineGridBrush {
type Vtable = ICompositionNineGridBrush_Vtbl;
}
impl ::core::clone::Clone for ICompositionNineGridBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionNineGridBrush {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf25154e4_bc8c_4be7_b80f_8685b83c0186);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionNineGridBrush_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub BottomInset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetBottomInset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub BottomInsetScale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetBottomInsetScale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub IsCenterHollow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub SetIsCenterHollow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
pub LeftInset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetLeftInset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub LeftInsetScale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetLeftInsetScale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub RightInset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetRightInset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub RightInsetScale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetRightInsetScale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub Source: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub TopInset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetTopInset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub TopInsetScale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetTopInsetScale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub SetInsets: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, inset: f32) -> ::windows::core::HRESULT,
pub SetInsetsWithValues: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, left: f32, top: f32, right: f32, bottom: f32) -> ::windows::core::HRESULT,
pub SetInsetScales: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, scale: f32) -> ::windows::core::HRESULT,
pub SetInsetScalesWithValues: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, left: f32, top: f32, right: f32, bottom: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionObject(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionObject {
type Vtable = ICompositionObject_Vtbl;
}
impl ::core::clone::Clone for ICompositionObject {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionObject {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbcb4ad45_7609_4550_934f_16002a68fded);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionObject_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Compositor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "UI_Core")]
pub Dispatcher: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "UI_Core"))]
Dispatcher: usize,
pub Properties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub StartAnimation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, animation: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub StopAnimation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionObject2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionObject2 {
type Vtable = ICompositionObject2_Vtbl;
}
impl ::core::clone::Clone for ICompositionObject2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionObject2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xef874ea1_5cff_4b68_9e30_a1519d08ba03);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionObject2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Comment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub SetComment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub ImplicitAnimations: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetImplicitAnimations: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub StartAnimationGroup: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub StopAnimationGroup: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionObject3(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionObject3 {
type Vtable = ICompositionObject3_Vtbl;
}
impl ::core::clone::Clone for ICompositionObject3 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionObject3 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4bc27925_dacd_4cf2_98b1_986b76e7ebe6);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionObject3_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "System")]
pub DispatcherQueue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "System"))]
DispatcherQueue: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionObject4(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionObject4 {
type Vtable = ICompositionObject4_Vtbl;
}
impl ::core::clone::Clone for ICompositionObject4 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionObject4 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0bb3784c_346b_4a7c_966b_7310966553d5);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionObject4_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub TryGetAnimationController: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionObject5(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionObject5 {
type Vtable = ICompositionObject5_Vtbl;
}
impl ::core::clone::Clone for ICompositionObject5 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionObject5 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1d7f391b_a130_5265_a62b_60b8e668965a);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionObject5_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub StartAnimationWithController: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, animation: *mut ::core::ffi::c_void, animationcontroller: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionObjectFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionObjectFactory {
type Vtable = ICompositionObjectFactory_Vtbl;
}
impl ::core::clone::Clone for ICompositionObjectFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionObjectFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x51205c5e_558a_4f2a_8d39_37bfe1e20ddd);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionObjectFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionObjectStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionObjectStatics {
type Vtable = ICompositionObjectStatics_Vtbl;
}
impl ::core::clone::Clone for ICompositionObjectStatics {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionObjectStatics {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc1ed052f_1ba2_44ba_a904_6a882a0a5adb);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionObjectStatics_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub StartAnimationWithIAnimationObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, animation: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub StartAnimationGroupWithIAnimationObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, animation: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionPath(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionPath {
type Vtable = ICompositionPath_Vtbl;
}
impl ::core::clone::Clone for ICompositionPath {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionPath {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x66da1d5f_2e10_4f22_8a06_0a8151919e60);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionPath_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionPathFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionPathFactory {
type Vtable = ICompositionPathFactory_Vtbl;
}
impl ::core::clone::Clone for ICompositionPathFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionPathFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9c1e8c6a_0f33_4751_9437_eb3fb9d3ab07);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionPathFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Graphics")]
pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, source: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics"))]
Create: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionPathGeometry(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionPathGeometry {
type Vtable = ICompositionPathGeometry_Vtbl;
}
impl ::core::clone::Clone for ICompositionPathGeometry {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionPathGeometry {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0b6a417e_2c77_4c23_af5e_6304c147bb61);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionPathGeometry_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Path: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetPath: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionProjectedShadow(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionProjectedShadow {
type Vtable = ICompositionProjectedShadow_Vtbl;
}
impl ::core::clone::Clone for ICompositionProjectedShadow {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionProjectedShadow {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x285b8e72_4328_523f_bcf2_5557c52c3b25);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionProjectedShadow_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub BlurRadiusMultiplier: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetBlurRadiusMultiplier: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub Casters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub LightSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetLightSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub MaxBlurRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetMaxBlurRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub MinBlurRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetMinBlurRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub Receivers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionProjectedShadowCaster(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionProjectedShadowCaster {
type Vtable = ICompositionProjectedShadowCaster_Vtbl;
}
impl ::core::clone::Clone for ICompositionProjectedShadowCaster {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionProjectedShadowCaster {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb1d7d426_1e36_5a62_be56_a16112fdd148);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionProjectedShadowCaster_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Brush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetBrush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CastingVisual: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetCastingVisual: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionProjectedShadowCasterCollection(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionProjectedShadowCasterCollection {
type Vtable = ICompositionProjectedShadowCasterCollection_Vtbl;
}
impl ::core::clone::Clone for ICompositionProjectedShadowCasterCollection {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionProjectedShadowCasterCollection {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd2525c0c_e07f_58a3_ac91_37f73ee91740);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionProjectedShadowCasterCollection_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows::core::HRESULT,
pub InsertAbove: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newcaster: *mut ::core::ffi::c_void, reference: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub InsertAtBottom: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newcaster: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub InsertAtTop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newcaster: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub InsertBelow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newcaster: *mut ::core::ffi::c_void, reference: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Remove: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, caster: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub RemoveAll: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionProjectedShadowCasterCollectionStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionProjectedShadowCasterCollectionStatics {
type Vtable = ICompositionProjectedShadowCasterCollectionStatics_Vtbl;
}
impl ::core::clone::Clone for ICompositionProjectedShadowCasterCollectionStatics {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionProjectedShadowCasterCollectionStatics {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56fbb136_e94f_5299_ab5b_6e15e38bd899);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionProjectedShadowCasterCollectionStatics_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub MaxRespectedCasters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionProjectedShadowReceiver(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionProjectedShadowReceiver {
type Vtable = ICompositionProjectedShadowReceiver_Vtbl;
}
impl ::core::clone::Clone for ICompositionProjectedShadowReceiver {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionProjectedShadowReceiver {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1377985a_6a49_536a_9be4_a96a8e5298a9);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionProjectedShadowReceiver_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub ReceivingVisual: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetReceivingVisual: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionProjectedShadowReceiverUnorderedCollection(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionProjectedShadowReceiverUnorderedCollection {
type Vtable = ICompositionProjectedShadowReceiverUnorderedCollection_Vtbl;
}
impl ::core::clone::Clone for ICompositionProjectedShadowReceiverUnorderedCollection {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionProjectedShadowReceiverUnorderedCollection {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x02b3e3b7_27d2_599f_ac4b_ab787cdde6fd);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionProjectedShadowReceiverUnorderedCollection_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Add: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows::core::HRESULT,
pub Remove: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub RemoveAll: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionPropertySet(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionPropertySet {
type Vtable = ICompositionPropertySet_Vtbl;
}
impl ::core::clone::Clone for ICompositionPropertySet {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionPropertySet {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc9d6d202_5f67_4453_9117_9eadd430d3c2);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionPropertySet_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub InsertColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: super::Color) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub InsertMatrix3x2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InsertMatrix3x2: usize,
#[cfg(feature = "Foundation_Numerics")]
pub InsertMatrix4x4: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InsertMatrix4x4: usize,
#[cfg(feature = "Foundation_Numerics")]
pub InsertQuaternion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InsertQuaternion: usize,
pub InsertScalar: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: f32) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub InsertVector2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InsertVector2: usize,
#[cfg(feature = "Foundation_Numerics")]
pub InsertVector3: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InsertVector3: usize,
#[cfg(feature = "Foundation_Numerics")]
pub InsertVector4: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InsertVector4: usize,
pub TryGetColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: *mut super::Color, result__: *mut CompositionGetValueStatus) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub TryGetMatrix3x2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: *mut super::super::Foundation::Numerics::Matrix3x2, result__: *mut CompositionGetValueStatus) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
TryGetMatrix3x2: usize,
#[cfg(feature = "Foundation_Numerics")]
pub TryGetMatrix4x4: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: *mut super::super::Foundation::Numerics::Matrix4x4, result__: *mut CompositionGetValueStatus) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
TryGetMatrix4x4: usize,
#[cfg(feature = "Foundation_Numerics")]
pub TryGetQuaternion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: *mut super::super::Foundation::Numerics::Quaternion, result__: *mut CompositionGetValueStatus) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
TryGetQuaternion: usize,
pub TryGetScalar: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: *mut f32, result__: *mut CompositionGetValueStatus) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub TryGetVector2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: *mut super::super::Foundation::Numerics::Vector2, result__: *mut CompositionGetValueStatus) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
TryGetVector2: usize,
#[cfg(feature = "Foundation_Numerics")]
pub TryGetVector3: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: *mut super::super::Foundation::Numerics::Vector3, result__: *mut CompositionGetValueStatus) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
TryGetVector3: usize,
#[cfg(feature = "Foundation_Numerics")]
pub TryGetVector4: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: *mut super::super::Foundation::Numerics::Vector4, result__: *mut CompositionGetValueStatus) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
TryGetVector4: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionPropertySet2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionPropertySet2 {
type Vtable = ICompositionPropertySet2_Vtbl;
}
impl ::core::clone::Clone for ICompositionPropertySet2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionPropertySet2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xde80731e_a211_4455_8880_7d0f3f6a44fd);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionPropertySet2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub InsertBoolean: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: bool) -> ::windows::core::HRESULT,
pub TryGetBoolean: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: *mut bool, result__: *mut CompositionGetValueStatus) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionRadialGradientBrush(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionRadialGradientBrush {
type Vtable = ICompositionRadialGradientBrush_Vtbl;
}
impl ::core::clone::Clone for ICompositionRadialGradientBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionRadialGradientBrush {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3d3b50c5_e3fa_4ce2_b9fc_3ee12561788f);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionRadialGradientBrush_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub EllipseCenter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
EllipseCenter: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetEllipseCenter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetEllipseCenter: usize,
#[cfg(feature = "Foundation_Numerics")]
pub EllipseRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
EllipseRadius: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetEllipseRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetEllipseRadius: usize,
#[cfg(feature = "Foundation_Numerics")]
pub GradientOriginOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
GradientOriginOffset: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetGradientOriginOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetGradientOriginOffset: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionRectangleGeometry(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionRectangleGeometry {
type Vtable = ICompositionRectangleGeometry_Vtbl;
}
impl ::core::clone::Clone for ICompositionRectangleGeometry {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionRectangleGeometry {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cd51428_5356_4246_aecf_7a0b76975400);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionRectangleGeometry_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub Offset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Offset: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetOffset: usize,
#[cfg(feature = "Foundation_Numerics")]
pub Size: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Size: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetSize: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionRoundedRectangleGeometry(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionRoundedRectangleGeometry {
type Vtable = ICompositionRoundedRectangleGeometry_Vtbl;
}
impl ::core::clone::Clone for ICompositionRoundedRectangleGeometry {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionRoundedRectangleGeometry {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8770c822_1d50_4b8b_b013_7c9a0e46935f);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionRoundedRectangleGeometry_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub CornerRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
CornerRadius: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetCornerRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetCornerRadius: usize,
#[cfg(feature = "Foundation_Numerics")]
pub Offset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Offset: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetOffset: usize,
#[cfg(feature = "Foundation_Numerics")]
pub Size: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Size: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetSize: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionScopedBatch(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionScopedBatch {
type Vtable = ICompositionScopedBatch_Vtbl;
}
impl ::core::clone::Clone for ICompositionScopedBatch {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionScopedBatch {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0d00dad0_fb07_46fd_8c72_6280d1a3d1dd);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionScopedBatch_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub IsActive: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub IsEnded: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub End: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Resume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Suspend: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub Completed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Completed: usize,
#[cfg(feature = "Foundation")]
pub RemoveCompleted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveCompleted: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionShadow(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionShadow {
type Vtable = ICompositionShadow_Vtbl;
}
impl ::core::clone::Clone for ICompositionShadow {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionShadow {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x329e52e2_4335_49cc_b14a_37782d10f0c4);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionShadow_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionShadowFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionShadowFactory {
type Vtable = ICompositionShadowFactory_Vtbl;
}
impl ::core::clone::Clone for ICompositionShadowFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionShadowFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x221f492f_dcba_4b91_999e_1dc217a01530);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionShadowFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionShape(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionShape {
type Vtable = ICompositionShape_Vtbl;
}
impl ::core::clone::Clone for ICompositionShape {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionShape {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb47ce2f7_9a88_42c4_9e87_2e500ca8688c);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionShape_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub CenterPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
CenterPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetCenterPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetCenterPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub Offset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Offset: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetOffset: usize,
pub RotationAngle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetRotationAngle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub RotationAngleInDegrees: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetRotationAngleInDegrees: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub Scale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Scale: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetScale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetScale: usize,
#[cfg(feature = "Foundation_Numerics")]
pub TransformMatrix: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
TransformMatrix: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetTransformMatrix: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetTransformMatrix: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionShapeFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionShapeFactory {
type Vtable = ICompositionShapeFactory_Vtbl;
}
impl ::core::clone::Clone for ICompositionShapeFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionShapeFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1dfc36d0_b05a_44ef_82b0_12118bcd4cd0);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionShapeFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionSpriteShape(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionSpriteShape {
type Vtable = ICompositionSpriteShape_Vtbl;
}
impl ::core::clone::Clone for ICompositionSpriteShape {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionSpriteShape {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x401b61bb_0007_4363_b1f3_6bcc003fb83e);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionSpriteShape_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub FillBrush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetFillBrush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Geometry: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetGeometry: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub IsStrokeNonScaling: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub SetIsStrokeNonScaling: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
pub StrokeBrush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetStrokeBrush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub StrokeDashArray: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
StrokeDashArray: usize,
pub StrokeDashCap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionStrokeCap) -> ::windows::core::HRESULT,
pub SetStrokeDashCap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CompositionStrokeCap) -> ::windows::core::HRESULT,
pub StrokeDashOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetStrokeDashOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub StrokeEndCap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionStrokeCap) -> ::windows::core::HRESULT,
pub SetStrokeEndCap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CompositionStrokeCap) -> ::windows::core::HRESULT,
pub StrokeLineJoin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionStrokeLineJoin) -> ::windows::core::HRESULT,
pub SetStrokeLineJoin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CompositionStrokeLineJoin) -> ::windows::core::HRESULT,
pub StrokeMiterLimit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetStrokeMiterLimit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub StrokeStartCap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionStrokeCap) -> ::windows::core::HRESULT,
pub SetStrokeStartCap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CompositionStrokeCap) -> ::windows::core::HRESULT,
pub StrokeThickness: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetStrokeThickness: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct ICompositionSupportsSystemBackdrop(::windows::core::IUnknown);
impl ICompositionSupportsSystemBackdrop {
pub fn SystemBackdrop(&self) -> ::windows::core::Result<CompositionBrush> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBrush>();
(::windows::core::Interface::vtable(this).SystemBackdrop)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetSystemBackdrop<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionBrush>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetSystemBackdrop)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
}
::windows::imp::interface_hierarchy!(ICompositionSupportsSystemBackdrop, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::core::cmp::PartialEq for ICompositionSupportsSystemBackdrop {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ICompositionSupportsSystemBackdrop {}
impl ::core::fmt::Debug for ICompositionSupportsSystemBackdrop {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ICompositionSupportsSystemBackdrop").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for ICompositionSupportsSystemBackdrop {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{397dafe4-b6c2-5bb9-951d-f5707de8b7bc}");
}
unsafe impl ::windows::core::Interface for ICompositionSupportsSystemBackdrop {
type Vtable = ICompositionSupportsSystemBackdrop_Vtbl;
}
impl ::core::clone::Clone for ICompositionSupportsSystemBackdrop {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionSupportsSystemBackdrop {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x397dafe4_b6c2_5bb9_951d_f5707de8b7bc);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionSupportsSystemBackdrop_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub SystemBackdrop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetSystemBackdrop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct ICompositionSurface(::windows::core::IUnknown);
impl ICompositionSurface {}
::windows::imp::interface_hierarchy!(ICompositionSurface, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::core::cmp::PartialEq for ICompositionSurface {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ICompositionSurface {}
impl ::core::fmt::Debug for ICompositionSurface {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ICompositionSurface").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for ICompositionSurface {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{1527540d-42c7-47a6-a408-668f79a90dfb}");
}
unsafe impl ::windows::core::Interface for ICompositionSurface {
type Vtable = ICompositionSurface_Vtbl;
}
impl ::core::clone::Clone for ICompositionSurface {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionSurface {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1527540d_42c7_47a6_a408_668f79a90dfb);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionSurface_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionSurfaceBrush(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionSurfaceBrush {
type Vtable = ICompositionSurfaceBrush_Vtbl;
}
impl ::core::clone::Clone for ICompositionSurfaceBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionSurfaceBrush {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xad016d79_1e4c_4c0d_9c29_83338c87c162);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionSurfaceBrush_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub BitmapInterpolationMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionBitmapInterpolationMode) -> ::windows::core::HRESULT,
pub SetBitmapInterpolationMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CompositionBitmapInterpolationMode) -> ::windows::core::HRESULT,
pub HorizontalAlignmentRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetHorizontalAlignmentRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub Stretch: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionStretch) -> ::windows::core::HRESULT,
pub SetStretch: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CompositionStretch) -> ::windows::core::HRESULT,
pub Surface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub VerticalAlignmentRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetVerticalAlignmentRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionSurfaceBrush2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionSurfaceBrush2 {
type Vtable = ICompositionSurfaceBrush2_Vtbl;
}
impl ::core::clone::Clone for ICompositionSurfaceBrush2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionSurfaceBrush2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd27174d5_64f5_4692_9dc7_71b61d7e5880);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionSurfaceBrush2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub AnchorPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
AnchorPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetAnchorPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetAnchorPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub CenterPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
CenterPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetCenterPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetCenterPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub Offset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Offset: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetOffset: usize,
pub RotationAngle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetRotationAngle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub RotationAngleInDegrees: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetRotationAngleInDegrees: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub Scale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Scale: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetScale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetScale: usize,
#[cfg(feature = "Foundation_Numerics")]
pub TransformMatrix: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
TransformMatrix: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetTransformMatrix: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetTransformMatrix: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionSurfaceBrush3(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionSurfaceBrush3 {
type Vtable = ICompositionSurfaceBrush3_Vtbl;
}
impl ::core::clone::Clone for ICompositionSurfaceBrush3 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionSurfaceBrush3 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x550bb289_1fe0_42e5_8195_1eefa87ff08e);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionSurfaceBrush3_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub SnapToPixels: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub SetSnapToPixels: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct ICompositionSurfaceFacade(::windows::core::IUnknown);
impl ICompositionSurfaceFacade {
pub fn GetRealSurface(&self) -> ::windows::core::Result<ICompositionSurface> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<ICompositionSurface>();
(::windows::core::Interface::vtable(this).GetRealSurface)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
::windows::imp::interface_hierarchy!(ICompositionSurfaceFacade, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::core::cmp::PartialEq for ICompositionSurfaceFacade {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ICompositionSurfaceFacade {}
impl ::core::fmt::Debug for ICompositionSurfaceFacade {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ICompositionSurfaceFacade").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for ICompositionSurfaceFacade {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{e01622c8-2332-55c7-8868-a7312c5c229d}");
}
unsafe impl ::windows::core::Interface for ICompositionSurfaceFacade {
type Vtable = ICompositionSurfaceFacade_Vtbl;
}
impl ::core::clone::Clone for ICompositionSurfaceFacade {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionSurfaceFacade {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe01622c8_2332_55c7_8868_a7312c5c229d);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionSurfaceFacade_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub GetRealSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionTarget(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionTarget {
type Vtable = ICompositionTarget_Vtbl;
}
impl ::core::clone::Clone for ICompositionTarget {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionTarget {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa1bea8ba_d726_4663_8129_6b5e7927ffa6);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionTarget_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Root: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetRoot: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionTargetFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionTargetFactory {
type Vtable = ICompositionTargetFactory_Vtbl;
}
impl ::core::clone::Clone for ICompositionTargetFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionTargetFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x93cd9d2b_8516_4b14_a8ce_f49e2119ec42);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionTargetFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionTransform(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionTransform {
type Vtable = ICompositionTransform_Vtbl;
}
impl ::core::clone::Clone for ICompositionTransform {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionTransform {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7cd54529_fbed_4112_abc5_185906dd927c);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionTransform_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionTransformFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionTransformFactory {
type Vtable = ICompositionTransformFactory_Vtbl;
}
impl ::core::clone::Clone for ICompositionTransformFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionTransformFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xaaaeca26_c149_517a_8f72_6bff7a65ce08);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionTransformFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionViewBox(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionViewBox {
type Vtable = ICompositionViewBox_Vtbl;
}
impl ::core::clone::Clone for ICompositionViewBox {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionViewBox {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb440bf07_068f_4537_84c6_4ecbe019e1f4);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionViewBox_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub HorizontalAlignmentRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetHorizontalAlignmentRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub Offset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Offset: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetOffset: usize,
#[cfg(feature = "Foundation_Numerics")]
pub Size: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Size: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetSize: usize,
pub Stretch: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionStretch) -> ::windows::core::HRESULT,
pub SetStretch: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CompositionStretch) -> ::windows::core::HRESULT,
pub VerticalAlignmentRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetVerticalAlignmentRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionVirtualDrawingSurface(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionVirtualDrawingSurface {
type Vtable = ICompositionVirtualDrawingSurface_Vtbl;
}
impl ::core::clone::Clone for ICompositionVirtualDrawingSurface {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionVirtualDrawingSurface {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa9c384db_8740_4f94_8b9d_b68521e7863d);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionVirtualDrawingSurface_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Graphics")]
pub Trim: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rects_array_size: u32, rects: *const super::super::Graphics::RectInt32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics"))]
Trim: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionVirtualDrawingSurfaceFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionVirtualDrawingSurfaceFactory {
type Vtable = ICompositionVirtualDrawingSurfaceFactory_Vtbl;
}
impl ::core::clone::Clone for ICompositionVirtualDrawingSurfaceFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionVirtualDrawingSurfaceFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6766106c_d56b_4a49_b1df_5076a0620768);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionVirtualDrawingSurfaceFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositionVisualSurface(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositionVisualSurface {
type Vtable = ICompositionVisualSurface_Vtbl;
}
impl ::core::clone::Clone for ICompositionVisualSurface {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositionVisualSurface {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb224d803_4f6e_4a3f_8cae_3dc1cda74fc6);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionVisualSurface_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub SourceVisual: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetSourceVisual: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub SourceOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SourceOffset: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetSourceOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetSourceOffset: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SourceSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SourceSize: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetSourceSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetSourceSize: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositor(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositor {
type Vtable = ICompositor_Vtbl;
}
impl ::core::clone::Clone for ICompositor {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositor {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb403ca50_7f8c_4e83_985f_cc45060036d8);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositor_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub CreateColorKeyFrameAnimation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateColorBrush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateColorBrushWithColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, color: super::Color, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateContainerVisual: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub CreateCubicBezierEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, controlpoint1: super::super::Foundation::Numerics::Vector2, controlpoint2: super::super::Foundation::Numerics::Vector2, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
CreateCubicBezierEasingFunction: usize,
#[cfg(feature = "Graphics_Effects")]
pub CreateEffectFactory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, graphicseffect: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics_Effects"))]
CreateEffectFactory: usize,
#[cfg(all(feature = "Foundation_Collections", feature = "Graphics_Effects"))]
pub CreateEffectFactoryWithProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, graphicseffect: *mut ::core::ffi::c_void, animatableproperties: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Foundation_Collections", feature = "Graphics_Effects")))]
CreateEffectFactoryWithProperties: usize,
pub CreateExpressionAnimation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateExpressionAnimationWithExpression: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, expression: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateInsetClip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateInsetClipWithInsets: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, leftinset: f32, topinset: f32, rightinset: f32, bottominset: f32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateLinearEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreatePropertySet: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateQuaternionKeyFrameAnimation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateScalarKeyFrameAnimation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateScopedBatch: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, batchtype: CompositionBatchTypes, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateSpriteVisual: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateSurfaceBrush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateSurfaceBrushWithSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, surface: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateTargetForCurrentView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateVector2KeyFrameAnimation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateVector3KeyFrameAnimation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateVector4KeyFrameAnimation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetCommitBatch: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, batchtype: CompositionBatchTypes, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositor2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositor2 {
type Vtable = ICompositor2_Vtbl;
}
impl ::core::clone::Clone for ICompositor2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositor2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x735081dc_5e24_45da_a38f_e32cc349a9a0);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositor2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub CreateAmbientLight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateAnimationGroup: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateBackdropBrush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateDistantLight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateDropShadow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateImplicitAnimationCollection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateLayerVisual: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateMaskBrush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateNineGridBrush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreatePointLight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateSpotLight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateStepEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateStepEasingFunctionWithStepCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, stepcount: i32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositor3(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositor3 {
type Vtable = ICompositor3_Vtbl;
}
impl ::core::clone::Clone for ICompositor3 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositor3 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc9dd8ef0_6eb1_4e3c_a658_675d9c64d4ab);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositor3_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub CreateHostBackdropBrush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositor4(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositor4 {
type Vtable = ICompositor4_Vtbl;
}
impl ::core::clone::Clone for ICompositor4 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositor4 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xae47e78a_7910_4425_a482_a05b758adce9);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositor4_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub CreateColorGradientStop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateColorGradientStopWithOffsetAndColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, offset: f32, color: super::Color, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateLinearGradientBrush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateSpringScalarAnimation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateSpringVector2Animation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateSpringVector3Animation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositor5(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositor5 {
type Vtable = ICompositor5_Vtbl;
}
impl ::core::clone::Clone for ICompositor5 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositor5 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x48ea31ad_7fcd_4076_a79c_90cc4b852c9b);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositor5_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Comment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub SetComment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub GlobalPlaybackRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetGlobalPlaybackRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub CreateBounceScalarAnimation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateBounceVector2Animation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateBounceVector3Animation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateContainerShape: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateEllipseGeometry: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateLineGeometry: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreatePathGeometry: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreatePathGeometryWithPath: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, path: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreatePathKeyFrameAnimation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateRectangleGeometry: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateRoundedRectangleGeometry: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateShapeVisual: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateSpriteShape: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateSpriteShapeWithGeometry: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, geometry: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateViewBox: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub RequestCommitAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RequestCommitAsync: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositor6(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositor6 {
type Vtable = ICompositor6_Vtbl;
}
impl ::core::clone::Clone for ICompositor6 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositor6 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7a38b2bd_cec8_4eeb_830f_d8d07aedebc3);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositor6_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub CreateGeometricClip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateGeometricClipWithGeometry: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, geometry: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateRedirectVisual: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateRedirectVisualWithSourceVisual: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, source: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateBooleanKeyFrameAnimation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositor7(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositor7 {
type Vtable = ICompositor7_Vtbl;
}
impl ::core::clone::Clone for ICompositor7 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositor7 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd3483fad_9a12_53ba_bfc8_88b7ff7977c6);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositor7_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "System")]
pub DispatcherQueue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "System"))]
DispatcherQueue: usize,
pub CreateAnimationPropertyInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateRectangleClip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateRectangleClipWithSides: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, left: f32, top: f32, right: f32, bottom: f32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub CreateRectangleClipWithSidesAndRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, left: f32, top: f32, right: f32, bottom: f32, topleftradius: super::super::Foundation::Numerics::Vector2, toprightradius: super::super::Foundation::Numerics::Vector2, bottomrightradius: super::super::Foundation::Numerics::Vector2, bottomleftradius: super::super::Foundation::Numerics::Vector2, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
CreateRectangleClipWithSidesAndRadius: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositor8(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositor8 {
type Vtable = ICompositor8_Vtbl;
}
impl ::core::clone::Clone for ICompositor8 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositor8 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9a0bdee2_fe7b_5f62_a366_9cf8effe2112);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositor8_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub CreateAnimationController: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositorStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositorStatics {
type Vtable = ICompositorStatics_Vtbl;
}
impl ::core::clone::Clone for ICompositorStatics {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositorStatics {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x080db93e_121e_4d97_8b74_1dfcf91987ea);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositorStatics_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub MaxGlobalPlaybackRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub MinGlobalPlaybackRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositorWithBlurredWallpaperBackdropBrush(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositorWithBlurredWallpaperBackdropBrush {
type Vtable = ICompositorWithBlurredWallpaperBackdropBrush_Vtbl;
}
impl ::core::clone::Clone for ICompositorWithBlurredWallpaperBackdropBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositorWithBlurredWallpaperBackdropBrush {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0d8fb190_f122_5b8d_9fdd_543b0d8eb7f3);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositorWithBlurredWallpaperBackdropBrush_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub TryCreateBlurredWallpaperBackdropBrush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositorWithProjectedShadow(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositorWithProjectedShadow {
type Vtable = ICompositorWithProjectedShadow_Vtbl;
}
impl ::core::clone::Clone for ICompositorWithProjectedShadow {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositorWithProjectedShadow {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa2e6330e_8a60_5a38_bb85_b44ea901677c);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositorWithProjectedShadow_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub CreateProjectedShadowCaster: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateProjectedShadow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateProjectedShadowReceiver: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositorWithRadialGradient(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositorWithRadialGradient {
type Vtable = ICompositorWithRadialGradient_Vtbl;
}
impl ::core::clone::Clone for ICompositorWithRadialGradient {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositorWithRadialGradient {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x98b9c1a7_8e71_4b53_b4a8_69ba5d19dc5b);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositorWithRadialGradient_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub CreateRadialGradientBrush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICompositorWithVisualSurface(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICompositorWithVisualSurface {
type Vtable = ICompositorWithVisualSurface_Vtbl;
}
impl ::core::clone::Clone for ICompositorWithVisualSurface {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICompositorWithVisualSurface {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xcfa1658b_0123_4551_8891_89bdcc40322b);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositorWithVisualSurface_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub CreateVisualSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IContainerVisual(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IContainerVisual {
type Vtable = IContainerVisual_Vtbl;
}
impl ::core::clone::Clone for IContainerVisual {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IContainerVisual {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x02f6bc74_ed20_4773_afe6_d49b4a93db32);
}
#[repr(C)]
#[doc(hidden)]
pub struct IContainerVisual_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Children: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IContainerVisualFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IContainerVisualFactory {
type Vtable = IContainerVisualFactory_Vtbl;
}
impl ::core::clone::Clone for IContainerVisualFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IContainerVisualFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0363a65b_c7da_4d9a_95f4_69b5c8df670b);
}
#[repr(C)]
#[doc(hidden)]
pub struct IContainerVisualFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICubicBezierEasingFunction(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICubicBezierEasingFunction {
type Vtable = ICubicBezierEasingFunction_Vtbl;
}
impl ::core::clone::Clone for ICubicBezierEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICubicBezierEasingFunction {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x32350666_c1e8_44f9_96b8_c98acf0ae698);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICubicBezierEasingFunction_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub ControlPoint1: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
ControlPoint1: usize,
#[cfg(feature = "Foundation_Numerics")]
pub ControlPoint2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
ControlPoint2: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IDelegatedInkTrailVisual(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IDelegatedInkTrailVisual {
type Vtable = IDelegatedInkTrailVisual_Vtbl;
}
impl ::core::clone::Clone for IDelegatedInkTrailVisual {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDelegatedInkTrailVisual {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x856e60b1_e1ab_5b23_8e3d_d513f221c998);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDelegatedInkTrailVisual_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation")]
pub AddTrailPoints: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, inkPoints_array_size: u32, inkpoints: *const InkTrailPoint, result__: *mut u32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
AddTrailPoints: usize,
#[cfg(feature = "Foundation")]
pub AddTrailPointsWithPrediction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, inkPoints_array_size: u32, inkpoints: *const InkTrailPoint, predictedInkPoints_array_size: u32, predictedinkpoints: *const InkTrailPoint, result__: *mut u32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
AddTrailPointsWithPrediction: usize,
pub RemoveTrailPoints: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, generationid: u32) -> ::windows::core::HRESULT,
pub StartNewTrail: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, color: super::Color) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IDelegatedInkTrailVisualStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IDelegatedInkTrailVisualStatics {
type Vtable = IDelegatedInkTrailVisualStatics_Vtbl;
}
impl ::core::clone::Clone for IDelegatedInkTrailVisualStatics {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDelegatedInkTrailVisualStatics {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0daf6bd5_42c6_555c_9267_e0ac663af836);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDelegatedInkTrailVisualStatics_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, compositor: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateForSwapChain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, compositor: *mut ::core::ffi::c_void, swapchain: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IDistantLight(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IDistantLight {
type Vtable = IDistantLight_Vtbl;
}
impl ::core::clone::Clone for IDistantLight {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDistantLight {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x318cfafc_5ce3_4b55_ab5d_07a00353ac99);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDistantLight_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Color: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::Color) -> ::windows::core::HRESULT,
pub SetColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::Color) -> ::windows::core::HRESULT,
pub CoordinateSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetCoordinateSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub Direction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Direction: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetDirection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetDirection: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IDistantLight2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IDistantLight2 {
type Vtable = IDistantLight2_Vtbl;
}
impl ::core::clone::Clone for IDistantLight2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDistantLight2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xdbcdaa1c_294b_48d7_b60e_76df64aa392b);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDistantLight2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Intensity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetIntensity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IDropShadow(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IDropShadow {
type Vtable = IDropShadow_Vtbl;
}
impl ::core::clone::Clone for IDropShadow {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDropShadow {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xcb977c07_a154_4851_85e7_a8924c84fad8);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDropShadow_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub BlurRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetBlurRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub Color: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::Color) -> ::windows::core::HRESULT,
pub SetColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::Color) -> ::windows::core::HRESULT,
pub Mask: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetMask: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub Offset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Offset: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetOffset: usize,
pub Opacity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetOpacity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IDropShadow2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IDropShadow2 {
type Vtable = IDropShadow2_Vtbl;
}
impl ::core::clone::Clone for IDropShadow2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDropShadow2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6c4218bc_15b9_4c2d_8d4a_0767df11977a);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDropShadow2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub SourcePolicy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionDropShadowSourcePolicy) -> ::windows::core::HRESULT,
pub SetSourcePolicy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CompositionDropShadowSourcePolicy) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IElasticEasingFunction(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IElasticEasingFunction {
type Vtable = IElasticEasingFunction_Vtbl;
}
impl ::core::clone::Clone for IElasticEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IElasticEasingFunction {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x66de6285_054e_5594_8475_c22cb51f1bd5);
}
#[repr(C)]
#[doc(hidden)]
pub struct IElasticEasingFunction_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Mode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionEasingFunctionMode) -> ::windows::core::HRESULT,
pub Oscillations: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows::core::HRESULT,
pub Springiness: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IExponentialEasingFunction(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IExponentialEasingFunction {
type Vtable = IExponentialEasingFunction_Vtbl;
}
impl ::core::clone::Clone for IExponentialEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IExponentialEasingFunction {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6f7d1a51_98d2_5638_a34a_00486554c750);
}
#[repr(C)]
#[doc(hidden)]
pub struct IExponentialEasingFunction_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Mode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionEasingFunctionMode) -> ::windows::core::HRESULT,
pub Exponent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IExpressionAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IExpressionAnimation {
type Vtable = IExpressionAnimation_Vtbl;
}
impl ::core::clone::Clone for IExpressionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IExpressionAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6acc5431_7d3d_4bf3_abb6_f44bdc4888c1);
}
#[repr(C)]
#[doc(hidden)]
pub struct IExpressionAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Expression: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub SetExpression: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IImplicitAnimationCollection(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IImplicitAnimationCollection {
type Vtable = IImplicitAnimationCollection_Vtbl;
}
impl ::core::clone::Clone for IImplicitAnimationCollection {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IImplicitAnimationCollection {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0598a3ff_0a92_4c9d_a427_b25519250dbf);
}
#[repr(C)]
#[doc(hidden)]
pub struct IImplicitAnimationCollection_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IInsetClip(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IInsetClip {
type Vtable = IInsetClip_Vtbl;
}
impl ::core::clone::Clone for IInsetClip {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IInsetClip {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1e73e647_84c7_477a_b474_5880e0442e15);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInsetClip_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub BottomInset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetBottomInset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub LeftInset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetLeftInset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub RightInset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetRightInset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub TopInset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetTopInset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IKeyFrameAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IKeyFrameAnimation {
type Vtable = IKeyFrameAnimation_Vtbl;
}
impl ::core::clone::Clone for IKeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IKeyFrameAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x126e7f22_3ae9_4540_9a8a_deae8a4a4a84);
}
#[repr(C)]
#[doc(hidden)]
pub struct IKeyFrameAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation")]
pub DelayTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
DelayTime: usize,
#[cfg(feature = "Foundation")]
pub SetDelayTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
SetDelayTime: usize,
#[cfg(feature = "Foundation")]
pub Duration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Duration: usize,
#[cfg(feature = "Foundation")]
pub SetDuration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
SetDuration: usize,
pub IterationBehavior: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AnimationIterationBehavior) -> ::windows::core::HRESULT,
pub SetIterationBehavior: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AnimationIterationBehavior) -> ::windows::core::HRESULT,
pub IterationCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows::core::HRESULT,
pub SetIterationCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32) -> ::windows::core::HRESULT,
pub KeyFrameCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows::core::HRESULT,
pub StopBehavior: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AnimationStopBehavior) -> ::windows::core::HRESULT,
pub SetStopBehavior: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AnimationStopBehavior) -> ::windows::core::HRESULT,
pub InsertExpressionKeyFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, normalizedprogresskey: f32, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub InsertExpressionKeyFrameWithEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, normalizedprogresskey: f32, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>, easingfunction: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IKeyFrameAnimation2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IKeyFrameAnimation2 {
type Vtable = IKeyFrameAnimation2_Vtbl;
}
impl ::core::clone::Clone for IKeyFrameAnimation2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IKeyFrameAnimation2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf4b488bb_2940_4ec0_a41a_eb6d801a2f18);
}
#[repr(C)]
#[doc(hidden)]
pub struct IKeyFrameAnimation2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Direction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AnimationDirection) -> ::windows::core::HRESULT,
pub SetDirection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AnimationDirection) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IKeyFrameAnimation3(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IKeyFrameAnimation3 {
type Vtable = IKeyFrameAnimation3_Vtbl;
}
impl ::core::clone::Clone for IKeyFrameAnimation3 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IKeyFrameAnimation3 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x845bf0b4_d8de_462f_8753_c80d43c6ff5a);
}
#[repr(C)]
#[doc(hidden)]
pub struct IKeyFrameAnimation3_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub DelayBehavior: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AnimationDelayBehavior) -> ::windows::core::HRESULT,
pub SetDelayBehavior: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AnimationDelayBehavior) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IKeyFrameAnimationFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IKeyFrameAnimationFactory {
type Vtable = IKeyFrameAnimationFactory_Vtbl;
}
impl ::core::clone::Clone for IKeyFrameAnimationFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IKeyFrameAnimationFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbf0803f8_712a_4fc1_8c87_970859ed8d2e);
}
#[repr(C)]
#[doc(hidden)]
pub struct IKeyFrameAnimationFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ILayerVisual(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ILayerVisual {
type Vtable = ILayerVisual_Vtbl;
}
impl ::core::clone::Clone for ILayerVisual {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ILayerVisual {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xaf843985_0444_4887_8e83_b40b253f822c);
}
#[repr(C)]
#[doc(hidden)]
pub struct ILayerVisual_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Effect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetEffect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ILayerVisual2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ILayerVisual2 {
type Vtable = ILayerVisual2_Vtbl;
}
impl ::core::clone::Clone for ILayerVisual2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ILayerVisual2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x98f9aeeb_6f23_49f1_90b1_1f59a14fbce3);
}
#[repr(C)]
#[doc(hidden)]
pub struct ILayerVisual2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Shadow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetShadow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ILinearEasingFunction(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ILinearEasingFunction {
type Vtable = ILinearEasingFunction_Vtbl;
}
impl ::core::clone::Clone for ILinearEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ILinearEasingFunction {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9400975a_c7a6_46b3_acf7_1a268a0a117d);
}
#[repr(C)]
#[doc(hidden)]
pub struct ILinearEasingFunction_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct INaturalMotionAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for INaturalMotionAnimation {
type Vtable = INaturalMotionAnimation_Vtbl;
}
impl ::core::clone::Clone for INaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for INaturalMotionAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x438de12d_769b_4821_a949_284a6547e873);
}
#[repr(C)]
#[doc(hidden)]
pub struct INaturalMotionAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub DelayBehavior: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AnimationDelayBehavior) -> ::windows::core::HRESULT,
pub SetDelayBehavior: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AnimationDelayBehavior) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub DelayTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
DelayTime: usize,
#[cfg(feature = "Foundation")]
pub SetDelayTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
SetDelayTime: usize,
pub StopBehavior: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AnimationStopBehavior) -> ::windows::core::HRESULT,
pub SetStopBehavior: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AnimationStopBehavior) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct INaturalMotionAnimationFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for INaturalMotionAnimationFactory {
type Vtable = INaturalMotionAnimationFactory_Vtbl;
}
impl ::core::clone::Clone for INaturalMotionAnimationFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for INaturalMotionAnimationFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf53acb06_cf6a_4387_a3fe_5221f3e7e0e0);
}
#[repr(C)]
#[doc(hidden)]
pub struct INaturalMotionAnimationFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPathKeyFrameAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPathKeyFrameAnimation {
type Vtable = IPathKeyFrameAnimation_Vtbl;
}
impl ::core::clone::Clone for IPathKeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IPathKeyFrameAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9d0d18c9_1576_4b3f_be60_1d5031f5e71b);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPathKeyFrameAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub InsertKeyFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, normalizedprogresskey: f32, path: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub InsertKeyFrameWithEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, normalizedprogresskey: f32, path: *mut ::core::ffi::c_void, easingfunction: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPointLight(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPointLight {
type Vtable = IPointLight_Vtbl;
}
impl ::core::clone::Clone for IPointLight {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IPointLight {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb18545b3_0c5a_4ab0_bedc_4f3546948272);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPointLight_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Color: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::Color) -> ::windows::core::HRESULT,
pub SetColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::Color) -> ::windows::core::HRESULT,
pub ConstantAttenuation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetConstantAttenuation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub CoordinateSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetCoordinateSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub LinearAttenuation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetLinearAttenuation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub Offset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Offset: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetOffset: usize,
pub QuadraticAttenuation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetQuadraticAttenuation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPointLight2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPointLight2 {
type Vtable = IPointLight2_Vtbl;
}
impl ::core::clone::Clone for IPointLight2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IPointLight2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xefe98f2c_0678_4f69_b164_a810d995bcb7);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPointLight2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Intensity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetIntensity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPointLight3(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPointLight3 {
type Vtable = IPointLight3_Vtbl;
}
impl ::core::clone::Clone for IPointLight3 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IPointLight3 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4c0a8367_d4e9_468a_87ae_7ba43ab29485);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPointLight3_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub MinAttenuationCutoff: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetMinAttenuationCutoff: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub MaxAttenuationCutoff: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetMaxAttenuationCutoff: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPowerEasingFunction(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPowerEasingFunction {
type Vtable = IPowerEasingFunction_Vtbl;
}
impl ::core::clone::Clone for IPowerEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IPowerEasingFunction {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc3ff53d6_138b_5815_891a_b7f615ccc563);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPowerEasingFunction_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Mode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionEasingFunctionMode) -> ::windows::core::HRESULT,
pub Power: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IQuaternionKeyFrameAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IQuaternionKeyFrameAnimation {
type Vtable = IQuaternionKeyFrameAnimation_Vtbl;
}
impl ::core::clone::Clone for IQuaternionKeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IQuaternionKeyFrameAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x404e5835_ecf6_4240_8520_671279cf36bc);
}
#[repr(C)]
#[doc(hidden)]
pub struct IQuaternionKeyFrameAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub InsertKeyFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InsertKeyFrame: usize,
#[cfg(feature = "Foundation_Numerics")]
pub InsertKeyFrameWithEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Quaternion, easingfunction: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InsertKeyFrameWithEasingFunction: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IRectangleClip(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IRectangleClip {
type Vtable = IRectangleClip_Vtbl;
}
impl ::core::clone::Clone for IRectangleClip {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IRectangleClip {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb3e7549e_00b4_5b53_8be8_353f6c433101);
}
#[repr(C)]
#[doc(hidden)]
pub struct IRectangleClip_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Bottom: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetBottom: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub BottomLeftRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
BottomLeftRadius: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetBottomLeftRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetBottomLeftRadius: usize,
#[cfg(feature = "Foundation_Numerics")]
pub BottomRightRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
BottomRightRadius: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetBottomRightRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetBottomRightRadius: usize,
pub Left: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetLeft: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub Right: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetRight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub Top: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetTop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub TopLeftRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
TopLeftRadius: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetTopLeftRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetTopLeftRadius: usize,
#[cfg(feature = "Foundation_Numerics")]
pub TopRightRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
TopRightRadius: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetTopRightRadius: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetTopRightRadius: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IRedirectVisual(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IRedirectVisual {
type Vtable = IRedirectVisual_Vtbl;
}
impl ::core::clone::Clone for IRedirectVisual {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IRedirectVisual {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8cc6e340_8b75_5422_b06f_09ffe9f8617e);
}
#[repr(C)]
#[doc(hidden)]
pub struct IRedirectVisual_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Source: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IRenderingDeviceReplacedEventArgs(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IRenderingDeviceReplacedEventArgs {
type Vtable = IRenderingDeviceReplacedEventArgs_Vtbl;
}
impl ::core::clone::Clone for IRenderingDeviceReplacedEventArgs {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IRenderingDeviceReplacedEventArgs {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3a31ac7d_28bf_4e7a_8524_71679d480f38);
}
#[repr(C)]
#[doc(hidden)]
pub struct IRenderingDeviceReplacedEventArgs_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub GraphicsDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IScalarKeyFrameAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IScalarKeyFrameAnimation {
type Vtable = IScalarKeyFrameAnimation_Vtbl;
}
impl ::core::clone::Clone for IScalarKeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IScalarKeyFrameAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xae288fa9_252c_4b95_a725_bf85e38000a1);
}
#[repr(C)]
#[doc(hidden)]
pub struct IScalarKeyFrameAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub InsertKeyFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, normalizedprogresskey: f32, value: f32) -> ::windows::core::HRESULT,
pub InsertKeyFrameWithEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, normalizedprogresskey: f32, value: f32, easingfunction: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IScalarNaturalMotionAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IScalarNaturalMotionAnimation {
type Vtable = IScalarNaturalMotionAnimation_Vtbl;
}
impl ::core::clone::Clone for IScalarNaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IScalarNaturalMotionAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x94a94581_bf92_495b_b5bd_d2c659430737);
}
#[repr(C)]
#[doc(hidden)]
pub struct IScalarNaturalMotionAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation")]
pub FinalValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
FinalValue: usize,
#[cfg(feature = "Foundation")]
pub SetFinalValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
SetFinalValue: usize,
#[cfg(feature = "Foundation")]
pub InitialValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
InitialValue: usize,
#[cfg(feature = "Foundation")]
pub SetInitialValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
SetInitialValue: usize,
pub InitialVelocity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetInitialVelocity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IScalarNaturalMotionAnimationFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IScalarNaturalMotionAnimationFactory {
type Vtable = IScalarNaturalMotionAnimationFactory_Vtbl;
}
impl ::core::clone::Clone for IScalarNaturalMotionAnimationFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IScalarNaturalMotionAnimationFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x835aa4fc_671c_41dd_af48_ae8def8b1529);
}
#[repr(C)]
#[doc(hidden)]
pub struct IScalarNaturalMotionAnimationFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IShapeVisual(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IShapeVisual {
type Vtable = IShapeVisual_Vtbl;
}
impl ::core::clone::Clone for IShapeVisual {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IShapeVisual {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf2bd13c3_ba7e_4b0f_9126_ffb7536b8176);
}
#[repr(C)]
#[doc(hidden)]
pub struct IShapeVisual_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Collections")]
pub Shapes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Shapes: usize,
pub ViewBox: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetViewBox: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ISineEasingFunction(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ISineEasingFunction {
type Vtable = ISineEasingFunction_Vtbl;
}
impl ::core::clone::Clone for ISineEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ISineEasingFunction {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf1b518bf_9563_5474_bd13_44b2df4b1d58);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISineEasingFunction_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Mode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionEasingFunctionMode) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ISpotLight(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ISpotLight {
type Vtable = ISpotLight_Vtbl;
}
impl ::core::clone::Clone for ISpotLight {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ISpotLight {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5a9fe273_44a1_4f95_a422_8fa5116bdb44);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISpotLight_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub ConstantAttenuation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetConstantAttenuation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub CoordinateSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetCoordinateSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub Direction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Direction: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetDirection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetDirection: usize,
pub InnerConeAngle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetInnerConeAngle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub InnerConeAngleInDegrees: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetInnerConeAngleInDegrees: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub InnerConeColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::Color) -> ::windows::core::HRESULT,
pub SetInnerConeColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::Color) -> ::windows::core::HRESULT,
pub LinearAttenuation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetLinearAttenuation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub Offset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Offset: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetOffset: usize,
pub OuterConeAngle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetOuterConeAngle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub OuterConeAngleInDegrees: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetOuterConeAngleInDegrees: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub OuterConeColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::Color) -> ::windows::core::HRESULT,
pub SetOuterConeColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::Color) -> ::windows::core::HRESULT,
pub QuadraticAttenuation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetQuadraticAttenuation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ISpotLight2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ISpotLight2 {
type Vtable = ISpotLight2_Vtbl;
}
impl ::core::clone::Clone for ISpotLight2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ISpotLight2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x64ee615e_0686_4dea_a9e8_bc3a8c701459);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISpotLight2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub InnerConeIntensity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetInnerConeIntensity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub OuterConeIntensity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetOuterConeIntensity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ISpotLight3(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ISpotLight3 {
type Vtable = ISpotLight3_Vtbl;
}
impl ::core::clone::Clone for ISpotLight3 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ISpotLight3 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe4d03eea_131f_480e_859e_b82705b74360);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISpotLight3_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub MinAttenuationCutoff: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetMinAttenuationCutoff: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub MaxAttenuationCutoff: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetMaxAttenuationCutoff: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ISpringScalarNaturalMotionAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ISpringScalarNaturalMotionAnimation {
type Vtable = ISpringScalarNaturalMotionAnimation_Vtbl;
}
impl ::core::clone::Clone for ISpringScalarNaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ISpringScalarNaturalMotionAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0572a95f_37f9_4fbe_b87b_5cd03a89501c);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISpringScalarNaturalMotionAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub DampingRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetDampingRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub Period: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Period: usize,
#[cfg(feature = "Foundation")]
pub SetPeriod: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
SetPeriod: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ISpringVector2NaturalMotionAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ISpringVector2NaturalMotionAnimation {
type Vtable = ISpringVector2NaturalMotionAnimation_Vtbl;
}
impl ::core::clone::Clone for ISpringVector2NaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ISpringVector2NaturalMotionAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x23f494b5_ee73_4f0f_a423_402b946df4b3);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISpringVector2NaturalMotionAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub DampingRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetDampingRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub Period: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Period: usize,
#[cfg(feature = "Foundation")]
pub SetPeriod: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
SetPeriod: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ISpringVector3NaturalMotionAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ISpringVector3NaturalMotionAnimation {
type Vtable = ISpringVector3NaturalMotionAnimation_Vtbl;
}
impl ::core::clone::Clone for ISpringVector3NaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ISpringVector3NaturalMotionAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6c8749df_d57b_4794_8e2d_cecb11e194e5);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISpringVector3NaturalMotionAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub DampingRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetDampingRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub Period: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Period: usize,
#[cfg(feature = "Foundation")]
pub SetPeriod: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
SetPeriod: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ISpriteVisual(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ISpriteVisual {
type Vtable = ISpriteVisual_Vtbl;
}
impl ::core::clone::Clone for ISpriteVisual {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ISpriteVisual {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x08e05581_1ad1_4f97_9757_402d76e4233b);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISpriteVisual_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Brush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetBrush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ISpriteVisual2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ISpriteVisual2 {
type Vtable = ISpriteVisual2_Vtbl;
}
impl ::core::clone::Clone for ISpriteVisual2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ISpriteVisual2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x588c9664_997a_4850_91fe_53cb58f81ce9);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISpriteVisual2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Shadow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetShadow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IStepEasingFunction(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IStepEasingFunction {
type Vtable = IStepEasingFunction_Vtbl;
}
impl ::core::clone::Clone for IStepEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IStepEasingFunction {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd0caa74b_560c_4a0b_a5f6_206ca8c3ecd6);
}
#[repr(C)]
#[doc(hidden)]
pub struct IStepEasingFunction_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub FinalStep: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows::core::HRESULT,
pub SetFinalStep: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32) -> ::windows::core::HRESULT,
pub InitialStep: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows::core::HRESULT,
pub SetInitialStep: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32) -> ::windows::core::HRESULT,
pub IsFinalStepSingleFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub SetIsFinalStepSingleFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
pub IsInitialStepSingleFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub SetIsInitialStepSingleFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
pub StepCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows::core::HRESULT,
pub SetStepCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IVector2KeyFrameAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IVector2KeyFrameAnimation {
type Vtable = IVector2KeyFrameAnimation_Vtbl;
}
impl ::core::clone::Clone for IVector2KeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVector2KeyFrameAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xdf414515_4e29_4f11_b55e_bf2a6eb36294);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVector2KeyFrameAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub InsertKeyFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InsertKeyFrame: usize,
#[cfg(feature = "Foundation_Numerics")]
pub InsertKeyFrameWithEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector2, easingfunction: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InsertKeyFrameWithEasingFunction: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IVector2NaturalMotionAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IVector2NaturalMotionAnimation {
type Vtable = IVector2NaturalMotionAnimation_Vtbl;
}
impl ::core::clone::Clone for IVector2NaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVector2NaturalMotionAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0f3e0b7d_e512_479d_a00c_77c93a30a395);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVector2NaturalMotionAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub FinalValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
FinalValue: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetFinalValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetFinalValue: usize,
#[cfg(feature = "Foundation_Numerics")]
pub InitialValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InitialValue: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetInitialValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetInitialValue: usize,
#[cfg(feature = "Foundation_Numerics")]
pub InitialVelocity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InitialVelocity: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetInitialVelocity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetInitialVelocity: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IVector2NaturalMotionAnimationFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IVector2NaturalMotionAnimationFactory {
type Vtable = IVector2NaturalMotionAnimationFactory_Vtbl;
}
impl ::core::clone::Clone for IVector2NaturalMotionAnimationFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVector2NaturalMotionAnimationFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8c74ff61_0761_48a2_bddb_6afcc52b89d8);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVector2NaturalMotionAnimationFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IVector3KeyFrameAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IVector3KeyFrameAnimation {
type Vtable = IVector3KeyFrameAnimation_Vtbl;
}
impl ::core::clone::Clone for IVector3KeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVector3KeyFrameAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc8039daa_a281_43c2_a73d_b68e3c533c40);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVector3KeyFrameAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub InsertKeyFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InsertKeyFrame: usize,
#[cfg(feature = "Foundation_Numerics")]
pub InsertKeyFrameWithEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector3, easingfunction: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InsertKeyFrameWithEasingFunction: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IVector3NaturalMotionAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IVector3NaturalMotionAnimation {
type Vtable = IVector3NaturalMotionAnimation_Vtbl;
}
impl ::core::clone::Clone for IVector3NaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVector3NaturalMotionAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9c17042c_e2ca_45ad_969e_4e78b7b9ad41);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVector3NaturalMotionAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub FinalValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
FinalValue: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetFinalValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetFinalValue: usize,
#[cfg(feature = "Foundation_Numerics")]
pub InitialValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InitialValue: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetInitialValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetInitialValue: usize,
#[cfg(feature = "Foundation_Numerics")]
pub InitialVelocity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InitialVelocity: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetInitialVelocity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetInitialVelocity: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IVector3NaturalMotionAnimationFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IVector3NaturalMotionAnimationFactory {
type Vtable = IVector3NaturalMotionAnimationFactory_Vtbl;
}
impl ::core::clone::Clone for IVector3NaturalMotionAnimationFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVector3NaturalMotionAnimationFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x21a81d2f_0880_457b_ac87_b609018c876d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVector3NaturalMotionAnimationFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IVector4KeyFrameAnimation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IVector4KeyFrameAnimation {
type Vtable = IVector4KeyFrameAnimation_Vtbl;
}
impl ::core::clone::Clone for IVector4KeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVector4KeyFrameAnimation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2457945b_addd_4385_9606_b6a3d5e4e1b9);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVector4KeyFrameAnimation_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub InsertKeyFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InsertKeyFrame: usize,
#[cfg(feature = "Foundation_Numerics")]
pub InsertKeyFrameWithEasingFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector4, easingfunction: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
InsertKeyFrameWithEasingFunction: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IVisual(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IVisual {
type Vtable = IVisual_Vtbl;
}
impl ::core::clone::Clone for IVisual {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVisual {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x117e202d_a859_4c89_873b_c2aa566788e3);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVisual_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub AnchorPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
AnchorPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetAnchorPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetAnchorPoint: usize,
pub BackfaceVisibility: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionBackfaceVisibility) -> ::windows::core::HRESULT,
pub SetBackfaceVisibility: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CompositionBackfaceVisibility) -> ::windows::core::HRESULT,
pub BorderMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionBorderMode) -> ::windows::core::HRESULT,
pub SetBorderMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CompositionBorderMode) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub CenterPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
CenterPoint: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetCenterPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetCenterPoint: usize,
pub Clip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetClip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CompositeMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CompositionCompositeMode) -> ::windows::core::HRESULT,
pub SetCompositeMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CompositionCompositeMode) -> ::windows::core::HRESULT,
pub IsVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub SetIsVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub Offset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Offset: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetOffset: usize,
pub Opacity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetOpacity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub Orientation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Quaternion) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Orientation: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetOrientation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetOrientation: usize,
pub Parent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub RotationAngle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetRotationAngle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
pub RotationAngleInDegrees: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
pub SetRotationAngleInDegrees: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub RotationAxis: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
RotationAxis: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetRotationAxis: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetRotationAxis: usize,
#[cfg(feature = "Foundation_Numerics")]
pub Scale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Scale: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetScale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetScale: usize,
#[cfg(feature = "Foundation_Numerics")]
pub Size: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
Size: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetSize: usize,
#[cfg(feature = "Foundation_Numerics")]
pub TransformMatrix: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
TransformMatrix: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetTransformMatrix: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetTransformMatrix: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IVisual2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IVisual2 {
type Vtable = IVisual2_Vtbl;
}
impl ::core::clone::Clone for IVisual2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVisual2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3052b611_56c3_4c3e_8bf3_f6e1ad473f06);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVisual2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub ParentForTransform: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetParentForTransform: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Numerics")]
pub RelativeOffsetAdjustment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
RelativeOffsetAdjustment: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetRelativeOffsetAdjustment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetRelativeOffsetAdjustment: usize,
#[cfg(feature = "Foundation_Numerics")]
pub RelativeSizeAdjustment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
RelativeSizeAdjustment: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetRelativeSizeAdjustment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetRelativeSizeAdjustment: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IVisual3(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IVisual3 {
type Vtable = IVisual3_Vtbl;
}
impl ::core::clone::Clone for IVisual3 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVisual3 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x30be580d_f4b6_4ab7_80dd_3738cbac9f2c);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVisual3_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub IsHitTestVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub SetIsHitTestVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IVisual4(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IVisual4 {
type Vtable = IVisual4_Vtbl;
}
impl ::core::clone::Clone for IVisual4 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVisual4 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9476bf11_e24b_5bf9_9ebe_6274109b2711);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVisual4_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub IsPixelSnappingEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub SetIsPixelSnappingEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IVisualCollection(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IVisualCollection {
type Vtable = IVisualCollection_Vtbl;
}
impl ::core::clone::Clone for IVisualCollection {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVisualCollection {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8b745505_fd3e_4a98_84a8_e949468c6bcb);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVisualCollection_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows::core::HRESULT,
pub InsertAbove: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newchild: *mut ::core::ffi::c_void, sibling: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub InsertAtBottom: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newchild: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub InsertAtTop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newchild: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub InsertBelow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newchild: *mut ::core::ffi::c_void, sibling: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Remove: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, child: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub RemoveAll: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct IVisualElement(::windows::core::IUnknown);
impl IVisualElement {}
::windows::imp::interface_hierarchy!(IVisualElement, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::core::cmp::PartialEq for IVisualElement {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVisualElement {}
impl ::core::fmt::Debug for IVisualElement {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVisualElement").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for IVisualElement {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{01e64612-1d82-42f4-8e3f-a722ded33fc7}");
}
unsafe impl ::windows::core::Interface for IVisualElement {
type Vtable = IVisualElement_Vtbl;
}
impl ::core::clone::Clone for IVisualElement {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVisualElement {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x01e64612_1d82_42f4_8e3f_a722ded33fc7);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVisualElement_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct IVisualElement2(::windows::core::IUnknown);
impl IVisualElement2 {
pub fn GetVisualInternal(&self) -> ::windows::core::Result<Visual> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<Visual>();
(::windows::core::Interface::vtable(this).GetVisualInternal)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
::windows::imp::interface_hierarchy!(IVisualElement2, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::core::cmp::PartialEq for IVisualElement2 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVisualElement2 {}
impl ::core::fmt::Debug for IVisualElement2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVisualElement2").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for IVisualElement2 {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{993ae8a0-6057-5e40-918c-e06e0b7e7c64}");
}
unsafe impl ::windows::core::Interface for IVisualElement2 {
type Vtable = IVisualElement2_Vtbl;
}
impl ::core::clone::Clone for IVisualElement2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVisualElement2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x993ae8a0_6057_5e40_918c_e06e0b7e7c64);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVisualElement2_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub GetVisualInternal: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IVisualFactory(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IVisualFactory {
type Vtable = IVisualFactory_Vtbl;
}
impl ::core::clone::Clone for IVisualFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVisualFactory {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xad0ff93e_b502_4eb5_87b4_9a38a71d0137);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVisualFactory_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IVisualUnorderedCollection(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IVisualUnorderedCollection {
type Vtable = IVisualUnorderedCollection_Vtbl;
}
impl ::core::clone::Clone for IVisualUnorderedCollection {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVisualUnorderedCollection {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x338faa70_54c8_40a7_8029_c9ceeb0aa250);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVisualUnorderedCollection_Vtbl {
pub base__: ::windows::core::IInspectable_Vtbl,
pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows::core::HRESULT,
pub Add: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newvisual: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Remove: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, visual: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub RemoveAll: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct AmbientLight(::windows::core::IUnknown);
impl AmbientLight {
pub fn Color(&self) -> ::windows::core::Result<super::Color> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Color>();
(::windows::core::Interface::vtable(this).Color)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetColor(&self, value: super::Color) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetColor)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Intensity(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IAmbientLight2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Intensity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIntensity(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAmbientLight2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIntensity)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Targets(&self) -> ::windows::core::Result<VisualUnorderedCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<VisualUnorderedCollection>();
(::windows::core::Interface::vtable(this).Targets)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn ExclusionsFromTargets(&self) -> ::windows::core::Result<VisualUnorderedCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<VisualUnorderedCollection>();
(::windows::core::Interface::vtable(this).ExclusionsFromTargets)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsEnabled(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsEnabled(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for AmbientLight {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for AmbientLight {}
impl ::core::fmt::Debug for AmbientLight {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AmbientLight").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for AmbientLight {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.AmbientLight;{a48130a1-b7c4-46f7-b9bf-daf43a44e6ee})");
}
impl ::core::clone::Clone for AmbientLight {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for AmbientLight {
type Vtable = IAmbientLight_Vtbl;
}
unsafe impl ::windows::core::ComInterface for AmbientLight {
const IID: ::windows::core::GUID = <IAmbientLight as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for AmbientLight {
const NAME: &'static str = "Windows.UI.Composition.AmbientLight";
}
::windows::imp::interface_hierarchy!(AmbientLight, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for AmbientLight {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for AmbientLight {}
impl ::windows::core::CanTryInto<CompositionLight> for AmbientLight {}
impl ::windows::core::CanTryInto<CompositionObject> for AmbientLight {}
unsafe impl ::core::marker::Send for AmbientLight {}
unsafe impl ::core::marker::Sync for AmbientLight {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct AnimationController(::windows::core::IUnknown);
impl AnimationController {
pub fn PlaybackRate(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).PlaybackRate)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetPlaybackRate(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetPlaybackRate)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Progress(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Progress)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetProgress(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetProgress)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn ProgressBehavior(&self) -> ::windows::core::Result<AnimationControllerProgressBehavior> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationControllerProgressBehavior>();
(::windows::core::Interface::vtable(this).ProgressBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetProgressBehavior(&self, value: AnimationControllerProgressBehavior) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetProgressBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Pause(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Pause)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Resume(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Resume)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn MaxPlaybackRate() -> ::windows::core::Result<f32> {
Self::IAnimationControllerStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).MaxPlaybackRate)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
})
}
pub fn MinPlaybackRate() -> ::windows::core::Result<f32> {
Self::IAnimationControllerStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).MinPlaybackRate)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
})
}
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc(hidden)]
pub fn IAnimationControllerStatics<R, F: FnOnce(&IAnimationControllerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::imp::FactoryCache<AnimationController, IAnimationControllerStatics> = ::windows::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::core::cmp::PartialEq for AnimationController {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for AnimationController {}
impl ::core::fmt::Debug for AnimationController {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AnimationController").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for AnimationController {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.AnimationController;{c934efd2-0722-4f5f-a4e2-9510f3d43bf7})");
}
impl ::core::clone::Clone for AnimationController {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for AnimationController {
type Vtable = IAnimationController_Vtbl;
}
unsafe impl ::windows::core::ComInterface for AnimationController {
const IID: ::windows::core::GUID = <IAnimationController as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for AnimationController {
const NAME: &'static str = "Windows.UI.Composition.AnimationController";
}
::windows::imp::interface_hierarchy!(AnimationController, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for AnimationController {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for AnimationController {}
impl ::windows::core::CanTryInto<CompositionObject> for AnimationController {}
unsafe impl ::core::marker::Send for AnimationController {}
unsafe impl ::core::marker::Sync for AnimationController {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct AnimationPropertyInfo(::windows::core::IUnknown);
impl AnimationPropertyInfo {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
pub fn AccessMode(&self) -> ::windows::core::Result<AnimationPropertyAccessMode> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationPropertyAccessMode>();
(::windows::core::Interface::vtable(this).AccessMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetAccessMode(&self, value: AnimationPropertyAccessMode) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetAccessMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn GetResolvedCompositionObject(&self) -> ::windows::core::Result<CompositionObject> {
let this = &::windows::core::ComInterface::cast::<IAnimationPropertyInfo2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionObject>();
(::windows::core::Interface::vtable(this).GetResolvedCompositionObject)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn GetResolvedCompositionObjectProperty(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<IAnimationPropertyInfo2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).GetResolvedCompositionObjectProperty)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for AnimationPropertyInfo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for AnimationPropertyInfo {}
impl ::core::fmt::Debug for AnimationPropertyInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AnimationPropertyInfo").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for AnimationPropertyInfo {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.AnimationPropertyInfo;{f4716f05-ed77-4e3c-b328-5c3985b3738f})");
}
impl ::core::clone::Clone for AnimationPropertyInfo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for AnimationPropertyInfo {
type Vtable = IAnimationPropertyInfo_Vtbl;
}
unsafe impl ::windows::core::ComInterface for AnimationPropertyInfo {
const IID: ::windows::core::GUID = <IAnimationPropertyInfo as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for AnimationPropertyInfo {
const NAME: &'static str = "Windows.UI.Composition.AnimationPropertyInfo";
}
::windows::imp::interface_hierarchy!(AnimationPropertyInfo, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for AnimationPropertyInfo {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for AnimationPropertyInfo {}
impl ::windows::core::CanTryInto<CompositionObject> for AnimationPropertyInfo {}
unsafe impl ::core::marker::Send for AnimationPropertyInfo {}
unsafe impl ::core::marker::Sync for AnimationPropertyInfo {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct BackEasingFunction(::windows::core::IUnknown);
impl BackEasingFunction {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
pub fn Mode(&self) -> ::windows::core::Result<CompositionEasingFunctionMode> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionEasingFunctionMode>();
(::windows::core::Interface::vtable(this).Mode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Amplitude(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Amplitude)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for BackEasingFunction {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for BackEasingFunction {}
impl ::core::fmt::Debug for BackEasingFunction {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BackEasingFunction").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for BackEasingFunction {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.BackEasingFunction;{b8560da4-5e3c-545d-b263-7987a2bd27cb})");
}
impl ::core::clone::Clone for BackEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for BackEasingFunction {
type Vtable = IBackEasingFunction_Vtbl;
}
unsafe impl ::windows::core::ComInterface for BackEasingFunction {
const IID: ::windows::core::GUID = <IBackEasingFunction as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for BackEasingFunction {
const NAME: &'static str = "Windows.UI.Composition.BackEasingFunction";
}
::windows::imp::interface_hierarchy!(BackEasingFunction, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for BackEasingFunction {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for BackEasingFunction {}
impl ::windows::core::CanTryInto<CompositionEasingFunction> for BackEasingFunction {}
impl ::windows::core::CanTryInto<CompositionObject> for BackEasingFunction {}
unsafe impl ::core::marker::Send for BackEasingFunction {}
unsafe impl ::core::marker::Sync for BackEasingFunction {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct BooleanKeyFrameAnimation(::windows::core::IUnknown);
impl BooleanKeyFrameAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
pub fn InsertKeyFrame(&self, normalizedprogresskey: f32, value: bool) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertKeyFrame)(::windows::core::Interface::as_raw(this), normalizedprogresskey, value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Duration(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).Duration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDuration)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationBehavior(&self) -> ::windows::core::Result<AnimationIterationBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationIterationBehavior>();
(::windows::core::Interface::vtable(this).IterationBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIterationBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationCount(&self) -> ::windows::core::Result<i32> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).IterationCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationCount(&self, value: i32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIterationCount)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn KeyFrameCount(&self) -> ::windows::core::Result<i32> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).KeyFrameCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InsertExpressionKeyFrame(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrame)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value)).ok() }
}
pub fn InsertExpressionKeyFrameWithEasingFunction<P0>(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING, easingfunction: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionEasingFunction>,
{
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrameWithEasingFunction)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value), easingfunction.try_into_param()?.abi()).ok() }
}
pub fn Direction(&self) -> ::windows::core::Result<AnimationDirection> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDirection>();
(::windows::core::Interface::vtable(this).Direction)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDirection)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for BooleanKeyFrameAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for BooleanKeyFrameAnimation {}
impl ::core::fmt::Debug for BooleanKeyFrameAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BooleanKeyFrameAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for BooleanKeyFrameAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.BooleanKeyFrameAnimation;{95e23a08-d1f4-4972-9770-3efe68d82e14})");
}
impl ::core::clone::Clone for BooleanKeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for BooleanKeyFrameAnimation {
type Vtable = IBooleanKeyFrameAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for BooleanKeyFrameAnimation {
const IID: ::windows::core::GUID = <IBooleanKeyFrameAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for BooleanKeyFrameAnimation {
const NAME: &'static str = "Windows.UI.Composition.BooleanKeyFrameAnimation";
}
::windows::imp::interface_hierarchy!(BooleanKeyFrameAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for BooleanKeyFrameAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for BooleanKeyFrameAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for BooleanKeyFrameAnimation {}
impl ::windows::core::CanTryInto<KeyFrameAnimation> for BooleanKeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for BooleanKeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for BooleanKeyFrameAnimation {}
unsafe impl ::core::marker::Send for BooleanKeyFrameAnimation {}
unsafe impl ::core::marker::Sync for BooleanKeyFrameAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct BounceEasingFunction(::windows::core::IUnknown);
impl BounceEasingFunction {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
pub fn Mode(&self) -> ::windows::core::Result<CompositionEasingFunctionMode> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionEasingFunctionMode>();
(::windows::core::Interface::vtable(this).Mode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Bounces(&self) -> ::windows::core::Result<i32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).Bounces)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Bounciness(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Bounciness)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for BounceEasingFunction {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for BounceEasingFunction {}
impl ::core::fmt::Debug for BounceEasingFunction {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BounceEasingFunction").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for BounceEasingFunction {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.BounceEasingFunction;{e7fdb44b-aad5-5174-9421-eef8b75a6a43})");
}
impl ::core::clone::Clone for BounceEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for BounceEasingFunction {
type Vtable = IBounceEasingFunction_Vtbl;
}
unsafe impl ::windows::core::ComInterface for BounceEasingFunction {
const IID: ::windows::core::GUID = <IBounceEasingFunction as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for BounceEasingFunction {
const NAME: &'static str = "Windows.UI.Composition.BounceEasingFunction";
}
::windows::imp::interface_hierarchy!(BounceEasingFunction, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for BounceEasingFunction {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for BounceEasingFunction {}
impl ::windows::core::CanTryInto<CompositionEasingFunction> for BounceEasingFunction {}
impl ::windows::core::CanTryInto<CompositionObject> for BounceEasingFunction {}
unsafe impl ::core::marker::Send for BounceEasingFunction {}
unsafe impl ::core::marker::Sync for BounceEasingFunction {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct BounceScalarNaturalMotionAnimation(::windows::core::IUnknown);
impl BounceScalarNaturalMotionAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
pub fn Acceleration(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Acceleration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetAcceleration(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetAcceleration)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Restitution(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Restitution)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRestitution(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetRestitution)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn FinalValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<f32>> {
let this = &::windows::core::ComInterface::cast::<IScalarNaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<f32>>();
(::windows::core::Interface::vtable(this).FinalValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetFinalValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<f32>>,
{
let this = &::windows::core::ComInterface::cast::<IScalarNaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetFinalValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn InitialValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<f32>> {
let this = &::windows::core::ComInterface::cast::<IScalarNaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<f32>>();
(::windows::core::Interface::vtable(this).InitialValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetInitialValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<f32>>,
{
let this = &::windows::core::ComInterface::cast::<IScalarNaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetInitialValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn InitialVelocity(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IScalarNaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).InitialVelocity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetInitialVelocity(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IScalarNaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetInitialVelocity)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for BounceScalarNaturalMotionAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for BounceScalarNaturalMotionAnimation {}
impl ::core::fmt::Debug for BounceScalarNaturalMotionAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BounceScalarNaturalMotionAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for BounceScalarNaturalMotionAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.BounceScalarNaturalMotionAnimation;{baa30dcc-a633-4618-9b06-7f7c72c87cff})");
}
impl ::core::clone::Clone for BounceScalarNaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for BounceScalarNaturalMotionAnimation {
type Vtable = IBounceScalarNaturalMotionAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for BounceScalarNaturalMotionAnimation {
const IID: ::windows::core::GUID = <IBounceScalarNaturalMotionAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for BounceScalarNaturalMotionAnimation {
const NAME: &'static str = "Windows.UI.Composition.BounceScalarNaturalMotionAnimation";
}
::windows::imp::interface_hierarchy!(BounceScalarNaturalMotionAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for BounceScalarNaturalMotionAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for BounceScalarNaturalMotionAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for BounceScalarNaturalMotionAnimation {}
impl ::windows::core::CanTryInto<ScalarNaturalMotionAnimation> for BounceScalarNaturalMotionAnimation {}
impl ::windows::core::CanTryInto<NaturalMotionAnimation> for BounceScalarNaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for BounceScalarNaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for BounceScalarNaturalMotionAnimation {}
unsafe impl ::core::marker::Send for BounceScalarNaturalMotionAnimation {}
unsafe impl ::core::marker::Sync for BounceScalarNaturalMotionAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct BounceVector2NaturalMotionAnimation(::windows::core::IUnknown);
impl BounceVector2NaturalMotionAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
pub fn Acceleration(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Acceleration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetAcceleration(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetAcceleration)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Restitution(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Restitution)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRestitution(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetRestitution)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn FinalValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>> {
let this = &::windows::core::ComInterface::cast::<IVector2NaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>();
(::windows::core::Interface::vtable(this).FinalValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetFinalValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>,
{
let this = &::windows::core::ComInterface::cast::<IVector2NaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetFinalValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InitialValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>> {
let this = &::windows::core::ComInterface::cast::<IVector2NaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>();
(::windows::core::Interface::vtable(this).InitialValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetInitialValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>,
{
let this = &::windows::core::ComInterface::cast::<IVector2NaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetInitialValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InitialVelocity(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVector2NaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).InitialVelocity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetInitialVelocity(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVector2NaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetInitialVelocity)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for BounceVector2NaturalMotionAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for BounceVector2NaturalMotionAnimation {}
impl ::core::fmt::Debug for BounceVector2NaturalMotionAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BounceVector2NaturalMotionAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for BounceVector2NaturalMotionAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.BounceVector2NaturalMotionAnimation;{da344196-2154-4b3c-88aa-47361204eccd})");
}
impl ::core::clone::Clone for BounceVector2NaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for BounceVector2NaturalMotionAnimation {
type Vtable = IBounceVector2NaturalMotionAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for BounceVector2NaturalMotionAnimation {
const IID: ::windows::core::GUID = <IBounceVector2NaturalMotionAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for BounceVector2NaturalMotionAnimation {
const NAME: &'static str = "Windows.UI.Composition.BounceVector2NaturalMotionAnimation";
}
::windows::imp::interface_hierarchy!(BounceVector2NaturalMotionAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for BounceVector2NaturalMotionAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for BounceVector2NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for BounceVector2NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<Vector2NaturalMotionAnimation> for BounceVector2NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<NaturalMotionAnimation> for BounceVector2NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for BounceVector2NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for BounceVector2NaturalMotionAnimation {}
unsafe impl ::core::marker::Send for BounceVector2NaturalMotionAnimation {}
unsafe impl ::core::marker::Sync for BounceVector2NaturalMotionAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct BounceVector3NaturalMotionAnimation(::windows::core::IUnknown);
impl BounceVector3NaturalMotionAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
pub fn Acceleration(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Acceleration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetAcceleration(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetAcceleration)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Restitution(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Restitution)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRestitution(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetRestitution)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn FinalValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>> {
let this = &::windows::core::ComInterface::cast::<IVector3NaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>();
(::windows::core::Interface::vtable(this).FinalValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetFinalValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>,
{
let this = &::windows::core::ComInterface::cast::<IVector3NaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetFinalValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InitialValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>> {
let this = &::windows::core::ComInterface::cast::<IVector3NaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>();
(::windows::core::Interface::vtable(this).InitialValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetInitialValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>,
{
let this = &::windows::core::ComInterface::cast::<IVector3NaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetInitialValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InitialVelocity(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVector3NaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).InitialVelocity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetInitialVelocity(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVector3NaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetInitialVelocity)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for BounceVector3NaturalMotionAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for BounceVector3NaturalMotionAnimation {}
impl ::core::fmt::Debug for BounceVector3NaturalMotionAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BounceVector3NaturalMotionAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for BounceVector3NaturalMotionAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.BounceVector3NaturalMotionAnimation;{47dabc31-10d3-4518-86f1-09caf742d113})");
}
impl ::core::clone::Clone for BounceVector3NaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for BounceVector3NaturalMotionAnimation {
type Vtable = IBounceVector3NaturalMotionAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for BounceVector3NaturalMotionAnimation {
const IID: ::windows::core::GUID = <IBounceVector3NaturalMotionAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for BounceVector3NaturalMotionAnimation {
const NAME: &'static str = "Windows.UI.Composition.BounceVector3NaturalMotionAnimation";
}
::windows::imp::interface_hierarchy!(BounceVector3NaturalMotionAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for BounceVector3NaturalMotionAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for BounceVector3NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for BounceVector3NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<Vector3NaturalMotionAnimation> for BounceVector3NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<NaturalMotionAnimation> for BounceVector3NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for BounceVector3NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for BounceVector3NaturalMotionAnimation {}
unsafe impl ::core::marker::Send for BounceVector3NaturalMotionAnimation {}
unsafe impl ::core::marker::Sync for BounceVector3NaturalMotionAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CircleEasingFunction(::windows::core::IUnknown);
impl CircleEasingFunction {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
pub fn Mode(&self) -> ::windows::core::Result<CompositionEasingFunctionMode> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionEasingFunctionMode>();
(::windows::core::Interface::vtable(this).Mode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CircleEasingFunction {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CircleEasingFunction {}
impl ::core::fmt::Debug for CircleEasingFunction {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CircleEasingFunction").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CircleEasingFunction {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CircleEasingFunction;{1e07222a-6f82-5a28-8748-2e92fc46ee2b})");
}
impl ::core::clone::Clone for CircleEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CircleEasingFunction {
type Vtable = ICircleEasingFunction_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CircleEasingFunction {
const IID: ::windows::core::GUID = <ICircleEasingFunction as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CircleEasingFunction {
const NAME: &'static str = "Windows.UI.Composition.CircleEasingFunction";
}
::windows::imp::interface_hierarchy!(CircleEasingFunction, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CircleEasingFunction {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CircleEasingFunction {}
impl ::windows::core::CanTryInto<CompositionEasingFunction> for CircleEasingFunction {}
impl ::windows::core::CanTryInto<CompositionObject> for CircleEasingFunction {}
unsafe impl ::core::marker::Send for CircleEasingFunction {}
unsafe impl ::core::marker::Sync for CircleEasingFunction {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct ColorKeyFrameAnimation(::windows::core::IUnknown);
impl ColorKeyFrameAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn InterpolationColorSpace(&self) -> ::windows::core::Result<CompositionColorSpace> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionColorSpace>();
(::windows::core::Interface::vtable(this).InterpolationColorSpace)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetInterpolationColorSpace(&self, value: CompositionColorSpace) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetInterpolationColorSpace)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InsertKeyFrame(&self, normalizedprogresskey: f32, value: super::Color) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertKeyFrame)(::windows::core::Interface::as_raw(this), normalizedprogresskey, value).ok() }
}
pub fn InsertKeyFrameWithEasingFunction<P0>(&self, normalizedprogresskey: f32, value: super::Color, easingfunction: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionEasingFunction>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertKeyFrameWithEasingFunction)(::windows::core::Interface::as_raw(this), normalizedprogresskey, value, easingfunction.try_into_param()?.abi()).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Duration(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).Duration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDuration)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationBehavior(&self) -> ::windows::core::Result<AnimationIterationBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationIterationBehavior>();
(::windows::core::Interface::vtable(this).IterationBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIterationBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationCount(&self) -> ::windows::core::Result<i32> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).IterationCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationCount(&self, value: i32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIterationCount)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn KeyFrameCount(&self) -> ::windows::core::Result<i32> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).KeyFrameCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InsertExpressionKeyFrame(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrame)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value)).ok() }
}
pub fn InsertExpressionKeyFrameWithEasingFunction<P0>(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING, easingfunction: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionEasingFunction>,
{
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrameWithEasingFunction)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value), easingfunction.try_into_param()?.abi()).ok() }
}
pub fn Direction(&self) -> ::windows::core::Result<AnimationDirection> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDirection>();
(::windows::core::Interface::vtable(this).Direction)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDirection)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for ColorKeyFrameAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ColorKeyFrameAnimation {}
impl ::core::fmt::Debug for ColorKeyFrameAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ColorKeyFrameAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for ColorKeyFrameAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ColorKeyFrameAnimation;{93adb5e9-8e05-4593-84a3-dca152781e56})");
}
impl ::core::clone::Clone for ColorKeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for ColorKeyFrameAnimation {
type Vtable = IColorKeyFrameAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for ColorKeyFrameAnimation {
const IID: ::windows::core::GUID = <IColorKeyFrameAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for ColorKeyFrameAnimation {
const NAME: &'static str = "Windows.UI.Composition.ColorKeyFrameAnimation";
}
::windows::imp::interface_hierarchy!(ColorKeyFrameAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for ColorKeyFrameAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for ColorKeyFrameAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for ColorKeyFrameAnimation {}
impl ::windows::core::CanTryInto<KeyFrameAnimation> for ColorKeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for ColorKeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for ColorKeyFrameAnimation {}
unsafe impl ::core::marker::Send for ColorKeyFrameAnimation {}
unsafe impl ::core::marker::Sync for ColorKeyFrameAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionAnimation(::windows::core::IUnknown);
impl CompositionAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionAnimation {}
impl ::core::fmt::Debug for CompositionAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionAnimation;{464c4c2c-1caa-4061-9b40-e13fde1503ca})");
}
impl ::core::clone::Clone for CompositionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionAnimation {
type Vtable = ICompositionAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionAnimation {
const IID: ::windows::core::GUID = <ICompositionAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionAnimation {
const NAME: &'static str = "Windows.UI.Composition.CompositionAnimation";
}
::windows::imp::interface_hierarchy!(CompositionAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for CompositionAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionAnimation {}
unsafe impl ::core::marker::Send for CompositionAnimation {}
unsafe impl ::core::marker::Sync for CompositionAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionAnimationGroup(::windows::core::IUnknown);
impl CompositionAnimationGroup {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Count(&self) -> ::windows::core::Result<i32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).Count)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Add<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Add)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn Remove<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Remove)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn RemoveAll(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveAll)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn First(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IIterator<CompositionAnimation>> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IIterable<CompositionAnimation>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IIterator<CompositionAnimation>>();
(::windows::core::Interface::vtable(this).First)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::core::cmp::PartialEq for CompositionAnimationGroup {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionAnimationGroup {}
impl ::core::fmt::Debug for CompositionAnimationGroup {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionAnimationGroup").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionAnimationGroup {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionAnimationGroup;{5e7cc90c-cd14-4e07-8a55-c72527aabdac})");
}
impl ::core::clone::Clone for CompositionAnimationGroup {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionAnimationGroup {
type Vtable = ICompositionAnimationGroup_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionAnimationGroup {
const IID: ::windows::core::GUID = <ICompositionAnimationGroup as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionAnimationGroup {
const NAME: &'static str = "Windows.UI.Composition.CompositionAnimationGroup";
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for CompositionAnimationGroup {
type Item = CompositionAnimation;
type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
::core::iter::IntoIterator::into_iter(&self)
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for &CompositionAnimationGroup {
type Item = CompositionAnimation;
type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
self.First().unwrap()
}
}
::windows::imp::interface_hierarchy!(CompositionAnimationGroup, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionAnimationGroup {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionAnimationGroup {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for CompositionAnimationGroup {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::Collections::IIterable<CompositionAnimation>> for CompositionAnimationGroup {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionAnimationGroup {}
unsafe impl ::core::marker::Send for CompositionAnimationGroup {}
unsafe impl ::core::marker::Sync for CompositionAnimationGroup {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionBackdropBrush(::windows::core::IUnknown);
impl CompositionBackdropBrush {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionBackdropBrush {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionBackdropBrush {}
impl ::core::fmt::Debug for CompositionBackdropBrush {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionBackdropBrush").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionBackdropBrush {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionBackdropBrush;{c5acae58-3898-499e-8d7f-224e91286a5d})");
}
impl ::core::clone::Clone for CompositionBackdropBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionBackdropBrush {
type Vtable = ICompositionBackdropBrush_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionBackdropBrush {
const IID: ::windows::core::GUID = <ICompositionBackdropBrush as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionBackdropBrush {
const NAME: &'static str = "Windows.UI.Composition.CompositionBackdropBrush";
}
::windows::imp::interface_hierarchy!(CompositionBackdropBrush, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionBackdropBrush {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionBackdropBrush {}
impl ::windows::core::CanTryInto<CompositionBrush> for CompositionBackdropBrush {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionBackdropBrush {}
unsafe impl ::core::marker::Send for CompositionBackdropBrush {}
unsafe impl ::core::marker::Sync for CompositionBackdropBrush {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionBatchCompletedEventArgs(::windows::core::IUnknown);
impl CompositionBatchCompletedEventArgs {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionBatchCompletedEventArgs {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionBatchCompletedEventArgs {}
impl ::core::fmt::Debug for CompositionBatchCompletedEventArgs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionBatchCompletedEventArgs").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionBatchCompletedEventArgs {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionBatchCompletedEventArgs;{0d00dad0-9464-450a-a562-2e2698b0a812})");
}
impl ::core::clone::Clone for CompositionBatchCompletedEventArgs {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionBatchCompletedEventArgs {
type Vtable = ICompositionBatchCompletedEventArgs_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionBatchCompletedEventArgs {
const IID: ::windows::core::GUID = <ICompositionBatchCompletedEventArgs as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionBatchCompletedEventArgs {
const NAME: &'static str = "Windows.UI.Composition.CompositionBatchCompletedEventArgs";
}
::windows::imp::interface_hierarchy!(CompositionBatchCompletedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionBatchCompletedEventArgs {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionBatchCompletedEventArgs {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionBatchCompletedEventArgs {}
unsafe impl ::core::marker::Send for CompositionBatchCompletedEventArgs {}
unsafe impl ::core::marker::Sync for CompositionBatchCompletedEventArgs {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionBrush(::windows::core::IUnknown);
impl CompositionBrush {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionBrush {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionBrush {}
impl ::core::fmt::Debug for CompositionBrush {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionBrush").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionBrush {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionBrush;{ab0d7608-30c0-40e9-b568-b60a6bd1fb46})");
}
impl ::core::clone::Clone for CompositionBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionBrush {
type Vtable = ICompositionBrush_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionBrush {
const IID: ::windows::core::GUID = <ICompositionBrush as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionBrush {
const NAME: &'static str = "Windows.UI.Composition.CompositionBrush";
}
::windows::imp::interface_hierarchy!(CompositionBrush, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionBrush {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionBrush {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionBrush {}
unsafe impl ::core::marker::Send for CompositionBrush {}
unsafe impl ::core::marker::Sync for CompositionBrush {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionCapabilities(::windows::core::IUnknown);
impl CompositionCapabilities {
pub fn AreEffectsSupported(&self) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).AreEffectsSupported)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn AreEffectsFast(&self) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).AreEffectsFast)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Changed(&self, handler: &super::super::Foundation::TypedEventHandler<CompositionCapabilities, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
(::windows::core::Interface::vtable(this).Changed)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemoveChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveChanged)(::windows::core::Interface::as_raw(this), token).ok() }
}
pub fn GetForCurrentView() -> ::windows::core::Result<CompositionCapabilities> {
Self::ICompositionCapabilitiesStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionCapabilities>();
(::windows::core::Interface::vtable(this).GetForCurrentView)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
})
}
#[doc(hidden)]
pub fn ICompositionCapabilitiesStatics<R, F: FnOnce(&ICompositionCapabilitiesStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::imp::FactoryCache<CompositionCapabilities, ICompositionCapabilitiesStatics> = ::windows::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::core::cmp::PartialEq for CompositionCapabilities {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionCapabilities {}
impl ::core::fmt::Debug for CompositionCapabilities {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionCapabilities").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionCapabilities {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionCapabilities;{8253353e-b517-48bc-b1e8-4b3561a2e181})");
}
impl ::core::clone::Clone for CompositionCapabilities {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionCapabilities {
type Vtable = ICompositionCapabilities_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionCapabilities {
const IID: ::windows::core::GUID = <ICompositionCapabilities as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionCapabilities {
const NAME: &'static str = "Windows.UI.Composition.CompositionCapabilities";
}
::windows::imp::interface_hierarchy!(CompositionCapabilities, ::windows::core::IUnknown, ::windows::core::IInspectable);
unsafe impl ::core::marker::Send for CompositionCapabilities {}
unsafe impl ::core::marker::Sync for CompositionCapabilities {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionClip(::windows::core::IUnknown);
impl CompositionClip {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn AnchorPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).AnchorPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetAnchorPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetAnchorPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix3x2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix3x2>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionClip {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionClip {}
impl ::core::fmt::Debug for CompositionClip {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionClip").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionClip {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionClip;{1ccd2a52-cfc7-4ace-9983-146bb8eb6a3c})");
}
impl ::core::clone::Clone for CompositionClip {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionClip {
type Vtable = ICompositionClip_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionClip {
const IID: ::windows::core::GUID = <ICompositionClip as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionClip {
const NAME: &'static str = "Windows.UI.Composition.CompositionClip";
}
::windows::imp::interface_hierarchy!(CompositionClip, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionClip {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionClip {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionClip {}
unsafe impl ::core::marker::Send for CompositionClip {}
unsafe impl ::core::marker::Sync for CompositionClip {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionColorBrush(::windows::core::IUnknown);
impl CompositionColorBrush {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Color(&self) -> ::windows::core::Result<super::Color> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Color>();
(::windows::core::Interface::vtable(this).Color)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetColor(&self, value: super::Color) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetColor)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionColorBrush {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionColorBrush {}
impl ::core::fmt::Debug for CompositionColorBrush {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionColorBrush").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionColorBrush {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionColorBrush;{2b264c5e-bf35-4831-8642-cf70c20fff2f})");
}
impl ::core::clone::Clone for CompositionColorBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionColorBrush {
type Vtable = ICompositionColorBrush_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionColorBrush {
const IID: ::windows::core::GUID = <ICompositionColorBrush as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionColorBrush {
const NAME: &'static str = "Windows.UI.Composition.CompositionColorBrush";
}
::windows::imp::interface_hierarchy!(CompositionColorBrush, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionColorBrush {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionColorBrush {}
impl ::windows::core::CanTryInto<CompositionBrush> for CompositionColorBrush {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionColorBrush {}
unsafe impl ::core::marker::Send for CompositionColorBrush {}
unsafe impl ::core::marker::Sync for CompositionColorBrush {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionColorGradientStop(::windows::core::IUnknown);
impl CompositionColorGradientStop {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Color(&self) -> ::windows::core::Result<super::Color> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Color>();
(::windows::core::Interface::vtable(this).Color)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetColor(&self, value: super::Color) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetColor)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Offset(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetOffset(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionColorGradientStop {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionColorGradientStop {}
impl ::core::fmt::Debug for CompositionColorGradientStop {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionColorGradientStop").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionColorGradientStop {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionColorGradientStop;{6f00ca92-c801-4e41-9a8f-a53e20f57778})");
}
impl ::core::clone::Clone for CompositionColorGradientStop {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionColorGradientStop {
type Vtable = ICompositionColorGradientStop_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionColorGradientStop {
const IID: ::windows::core::GUID = <ICompositionColorGradientStop as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionColorGradientStop {
const NAME: &'static str = "Windows.UI.Composition.CompositionColorGradientStop";
}
::windows::imp::interface_hierarchy!(CompositionColorGradientStop, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionColorGradientStop {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionColorGradientStop {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionColorGradientStop {}
unsafe impl ::core::marker::Send for CompositionColorGradientStop {}
unsafe impl ::core::marker::Sync for CompositionColorGradientStop {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionColorGradientStopCollection(::windows::core::IUnknown);
impl CompositionColorGradientStopCollection {
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn First(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IIterator<CompositionColorGradientStop>> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IIterable<CompositionColorGradientStop>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IIterator<CompositionColorGradientStop>>();
(::windows::core::Interface::vtable(this).First)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetAt(&self, index: u32) -> ::windows::core::Result<CompositionColorGradientStop> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionColorGradientStop>();
(::windows::core::Interface::vtable(this).GetAt)(::windows::core::Interface::as_raw(this), index, &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Size(&self) -> ::windows::core::Result<u32> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetView(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<CompositionColorGradientStop>> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVectorView<CompositionColorGradientStop>>();
(::windows::core::Interface::vtable(this).GetView)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn IndexOf(&self, value: &CompositionColorGradientStop, index: &mut u32) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IndexOf)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value), index, &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn SetAt(&self, index: u32, value: &CompositionColorGradientStop) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetAt)(::windows::core::Interface::as_raw(this), index, ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InsertAt(&self, index: u32, value: &CompositionColorGradientStop) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertAt)(::windows::core::Interface::as_raw(this), index, ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn RemoveAt(&self, index: u32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
unsafe { (::windows::core::Interface::vtable(this).RemoveAt)(::windows::core::Interface::as_raw(this), index).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Append(&self, value: &CompositionColorGradientStop) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Append)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn RemoveAtEnd(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
unsafe { (::windows::core::Interface::vtable(this).RemoveAtEnd)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Clear(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Clear)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetMany(&self, startindex: u32, items: &mut [::core::option::Option<CompositionColorGradientStop>]) -> ::windows::core::Result<u32> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(this).GetMany)(::windows::core::Interface::as_raw(this), startindex, items.len() as u32, ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn ReplaceAll(&self, items: &[::core::option::Option<CompositionColorGradientStop>]) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ReplaceAll)(::windows::core::Interface::as_raw(this), items.len() as u32, ::core::mem::transmute(items.as_ptr())).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionColorGradientStopCollection {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionColorGradientStopCollection {}
impl ::core::fmt::Debug for CompositionColorGradientStopCollection {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionColorGradientStopCollection").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionColorGradientStopCollection {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionColorGradientStopCollection;{9f1d20ec-7b04-4b1d-90bc-9fa32c0cfd26})");
}
impl ::core::clone::Clone for CompositionColorGradientStopCollection {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionColorGradientStopCollection {
type Vtable = ICompositionColorGradientStopCollection_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionColorGradientStopCollection {
const IID: ::windows::core::GUID = <ICompositionColorGradientStopCollection as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionColorGradientStopCollection {
const NAME: &'static str = "Windows.UI.Composition.CompositionColorGradientStopCollection";
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for CompositionColorGradientStopCollection {
type Item = CompositionColorGradientStop;
type IntoIter = super::super::Foundation::Collections::VectorIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
::core::iter::IntoIterator::into_iter(&self)
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for &CompositionColorGradientStopCollection {
type Item = CompositionColorGradientStop;
type IntoIter = super::super::Foundation::Collections::VectorIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
super::super::Foundation::Collections::VectorIterator::new(::windows::core::ComInterface::cast(self).ok())
}
}
::windows::imp::interface_hierarchy!(CompositionColorGradientStopCollection, ::windows::core::IUnknown, ::windows::core::IInspectable);
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::Collections::IIterable<CompositionColorGradientStop>> for CompositionColorGradientStopCollection {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>> for CompositionColorGradientStopCollection {}
unsafe impl ::core::marker::Send for CompositionColorGradientStopCollection {}
unsafe impl ::core::marker::Sync for CompositionColorGradientStopCollection {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionCommitBatch(::windows::core::IUnknown);
impl CompositionCommitBatch {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn IsActive(&self) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsActive)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsEnded(&self) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsEnded)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Completed(&self, handler: &super::super::Foundation::TypedEventHandler<::windows::core::IInspectable, CompositionBatchCompletedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
(::windows::core::Interface::vtable(this).Completed)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemoveCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveCompleted)(::windows::core::Interface::as_raw(this), token).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionCommitBatch {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionCommitBatch {}
impl ::core::fmt::Debug for CompositionCommitBatch {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionCommitBatch").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionCommitBatch {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionCommitBatch;{0d00dad0-ca07-4400-8c8e-cb5db08559cc})");
}
impl ::core::clone::Clone for CompositionCommitBatch {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionCommitBatch {
type Vtable = ICompositionCommitBatch_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionCommitBatch {
const IID: ::windows::core::GUID = <ICompositionCommitBatch as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionCommitBatch {
const NAME: &'static str = "Windows.UI.Composition.CompositionCommitBatch";
}
::windows::imp::interface_hierarchy!(CompositionCommitBatch, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionCommitBatch {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionCommitBatch {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionCommitBatch {}
unsafe impl ::core::marker::Send for CompositionCommitBatch {}
unsafe impl ::core::marker::Sync for CompositionCommitBatch {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionContainerShape(::windows::core::IUnknown);
impl CompositionContainerShape {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Shapes(&self) -> ::windows::core::Result<CompositionShapeCollection> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionShapeCollection>();
(::windows::core::Interface::vtable(this).Shapes)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix3x2> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix3x2>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionContainerShape {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionContainerShape {}
impl ::core::fmt::Debug for CompositionContainerShape {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionContainerShape").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionContainerShape {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionContainerShape;{4f5e859b-2e5b-44a8-982c-aa0f69c16059})");
}
impl ::core::clone::Clone for CompositionContainerShape {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionContainerShape {
type Vtable = ICompositionContainerShape_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionContainerShape {
const IID: ::windows::core::GUID = <ICompositionContainerShape as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionContainerShape {
const NAME: &'static str = "Windows.UI.Composition.CompositionContainerShape";
}
::windows::imp::interface_hierarchy!(CompositionContainerShape, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionContainerShape {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionContainerShape {}
impl ::windows::core::CanTryInto<CompositionShape> for CompositionContainerShape {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionContainerShape {}
unsafe impl ::core::marker::Send for CompositionContainerShape {}
unsafe impl ::core::marker::Sync for CompositionContainerShape {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionDrawingSurface(::windows::core::IUnknown);
impl CompositionDrawingSurface {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Graphics_DirectX\"`*"]
#[cfg(feature = "Graphics_DirectX")]
pub fn AlphaMode(&self) -> ::windows::core::Result<super::super::Graphics::DirectX::DirectXAlphaMode> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::DirectX::DirectXAlphaMode>();
(::windows::core::Interface::vtable(this).AlphaMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Graphics_DirectX\"`*"]
#[cfg(feature = "Graphics_DirectX")]
pub fn PixelFormat(&self) -> ::windows::core::Result<super::super::Graphics::DirectX::DirectXPixelFormat> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::DirectX::DirectXPixelFormat>();
(::windows::core::Interface::vtable(this).PixelFormat)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Size(&self) -> ::windows::core::Result<super::super::Foundation::Size> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Size>();
(::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Graphics\"`*"]
#[cfg(feature = "Graphics")]
pub fn SizeInt32(&self) -> ::windows::core::Result<super::super::Graphics::SizeInt32> {
let this = &::windows::core::ComInterface::cast::<ICompositionDrawingSurface2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::SizeInt32>();
(::windows::core::Interface::vtable(this).SizeInt32)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Graphics\"`*"]
#[cfg(feature = "Graphics")]
pub fn Resize(&self, sizepixels: super::super::Graphics::SizeInt32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionDrawingSurface2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Resize)(::windows::core::Interface::as_raw(this), sizepixels).ok() }
}
#[doc = "*Required features: `\"Graphics\"`*"]
#[cfg(feature = "Graphics")]
pub fn Scroll(&self, offset: super::super::Graphics::PointInt32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionDrawingSurface2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Scroll)(::windows::core::Interface::as_raw(this), offset).ok() }
}
#[doc = "*Required features: `\"Graphics\"`*"]
#[cfg(feature = "Graphics")]
pub fn ScrollRect(&self, offset: super::super::Graphics::PointInt32, scrollrect: super::super::Graphics::RectInt32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionDrawingSurface2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ScrollRect)(::windows::core::Interface::as_raw(this), offset, scrollrect).ok() }
}
#[doc = "*Required features: `\"Graphics\"`*"]
#[cfg(feature = "Graphics")]
pub fn ScrollWithClip(&self, offset: super::super::Graphics::PointInt32, cliprect: super::super::Graphics::RectInt32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionDrawingSurface2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ScrollWithClip)(::windows::core::Interface::as_raw(this), offset, cliprect).ok() }
}
#[doc = "*Required features: `\"Graphics\"`*"]
#[cfg(feature = "Graphics")]
pub fn ScrollRectWithClip(&self, offset: super::super::Graphics::PointInt32, cliprect: super::super::Graphics::RectInt32, scrollrect: super::super::Graphics::RectInt32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionDrawingSurface2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ScrollRectWithClip)(::windows::core::Interface::as_raw(this), offset, cliprect, scrollrect).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionDrawingSurface {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionDrawingSurface {}
impl ::core::fmt::Debug for CompositionDrawingSurface {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionDrawingSurface").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionDrawingSurface {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionDrawingSurface;{a166c300-fad0-4d11-9e67-e433162ff49e})");
}
impl ::core::clone::Clone for CompositionDrawingSurface {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionDrawingSurface {
type Vtable = ICompositionDrawingSurface_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionDrawingSurface {
const IID: ::windows::core::GUID = <ICompositionDrawingSurface as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionDrawingSurface {
const NAME: &'static str = "Windows.UI.Composition.CompositionDrawingSurface";
}
::windows::imp::interface_hierarchy!(CompositionDrawingSurface, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionDrawingSurface {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionDrawingSurface {}
impl ::windows::core::CanTryInto<ICompositionSurface> for CompositionDrawingSurface {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionDrawingSurface {}
unsafe impl ::core::marker::Send for CompositionDrawingSurface {}
unsafe impl ::core::marker::Sync for CompositionDrawingSurface {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionEasingFunction(::windows::core::IUnknown);
impl CompositionEasingFunction {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CreateCubicBezierEasingFunction(owner: &Compositor, controlpoint1: super::super::Foundation::Numerics::Vector2, controlpoint2: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<CubicBezierEasingFunction> {
Self::ICompositionEasingFunctionStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<CubicBezierEasingFunction>();
(::windows::core::Interface::vtable(this).CreateCubicBezierEasingFunction)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(owner), controlpoint1, controlpoint2, &mut result__).from_abi(result__)
})
}
pub fn CreateLinearEasingFunction(owner: &Compositor) -> ::windows::core::Result<LinearEasingFunction> {
Self::ICompositionEasingFunctionStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<LinearEasingFunction>();
(::windows::core::Interface::vtable(this).CreateLinearEasingFunction)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(owner), &mut result__).from_abi(result__)
})
}
pub fn CreateStepEasingFunction(owner: &Compositor) -> ::windows::core::Result<StepEasingFunction> {
Self::ICompositionEasingFunctionStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<StepEasingFunction>();
(::windows::core::Interface::vtable(this).CreateStepEasingFunction)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(owner), &mut result__).from_abi(result__)
})
}
pub fn CreateStepEasingFunctionWithStepCount(owner: &Compositor, stepcount: i32) -> ::windows::core::Result<StepEasingFunction> {
Self::ICompositionEasingFunctionStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<StepEasingFunction>();
(::windows::core::Interface::vtable(this).CreateStepEasingFunctionWithStepCount)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(owner), stepcount, &mut result__).from_abi(result__)
})
}
pub fn CreateBackEasingFunction(owner: &Compositor, mode: CompositionEasingFunctionMode, amplitude: f32) -> ::windows::core::Result<BackEasingFunction> {
Self::ICompositionEasingFunctionStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<BackEasingFunction>();
(::windows::core::Interface::vtable(this).CreateBackEasingFunction)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(owner), mode, amplitude, &mut result__).from_abi(result__)
})
}
pub fn CreateBounceEasingFunction(owner: &Compositor, mode: CompositionEasingFunctionMode, bounces: i32, bounciness: f32) -> ::windows::core::Result<BounceEasingFunction> {
Self::ICompositionEasingFunctionStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<BounceEasingFunction>();
(::windows::core::Interface::vtable(this).CreateBounceEasingFunction)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(owner), mode, bounces, bounciness, &mut result__).from_abi(result__)
})
}
pub fn CreateCircleEasingFunction(owner: &Compositor, mode: CompositionEasingFunctionMode) -> ::windows::core::Result<CircleEasingFunction> {
Self::ICompositionEasingFunctionStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<CircleEasingFunction>();
(::windows::core::Interface::vtable(this).CreateCircleEasingFunction)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(owner), mode, &mut result__).from_abi(result__)
})
}
pub fn CreateElasticEasingFunction(owner: &Compositor, mode: CompositionEasingFunctionMode, oscillations: i32, springiness: f32) -> ::windows::core::Result<ElasticEasingFunction> {
Self::ICompositionEasingFunctionStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<ElasticEasingFunction>();
(::windows::core::Interface::vtable(this).CreateElasticEasingFunction)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(owner), mode, oscillations, springiness, &mut result__).from_abi(result__)
})
}
pub fn CreateExponentialEasingFunction(owner: &Compositor, mode: CompositionEasingFunctionMode, exponent: f32) -> ::windows::core::Result<ExponentialEasingFunction> {
Self::ICompositionEasingFunctionStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<ExponentialEasingFunction>();
(::windows::core::Interface::vtable(this).CreateExponentialEasingFunction)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(owner), mode, exponent, &mut result__).from_abi(result__)
})
}
pub fn CreatePowerEasingFunction(owner: &Compositor, mode: CompositionEasingFunctionMode, power: f32) -> ::windows::core::Result<PowerEasingFunction> {
Self::ICompositionEasingFunctionStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<PowerEasingFunction>();
(::windows::core::Interface::vtable(this).CreatePowerEasingFunction)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(owner), mode, power, &mut result__).from_abi(result__)
})
}
pub fn CreateSineEasingFunction(owner: &Compositor, mode: CompositionEasingFunctionMode) -> ::windows::core::Result<SineEasingFunction> {
Self::ICompositionEasingFunctionStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<SineEasingFunction>();
(::windows::core::Interface::vtable(this).CreateSineEasingFunction)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(owner), mode, &mut result__).from_abi(result__)
})
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc(hidden)]
pub fn ICompositionEasingFunctionStatics<R, F: FnOnce(&ICompositionEasingFunctionStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::imp::FactoryCache<CompositionEasingFunction, ICompositionEasingFunctionStatics> = ::windows::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::core::cmp::PartialEq for CompositionEasingFunction {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionEasingFunction {}
impl ::core::fmt::Debug for CompositionEasingFunction {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionEasingFunction").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionEasingFunction {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionEasingFunction;{5145e356-bf79-4ea8-8cc2-6b5b472e6c9a})");
}
impl ::core::clone::Clone for CompositionEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionEasingFunction {
type Vtable = ICompositionEasingFunction_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionEasingFunction {
const IID: ::windows::core::GUID = <ICompositionEasingFunction as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionEasingFunction {
const NAME: &'static str = "Windows.UI.Composition.CompositionEasingFunction";
}
::windows::imp::interface_hierarchy!(CompositionEasingFunction, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionEasingFunction {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionEasingFunction {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionEasingFunction {}
unsafe impl ::core::marker::Send for CompositionEasingFunction {}
unsafe impl ::core::marker::Sync for CompositionEasingFunction {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionEffectBrush(::windows::core::IUnknown);
impl CompositionEffectBrush {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn GetSourceParameter(&self, name: &::windows::core::HSTRING) -> ::windows::core::Result<CompositionBrush> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBrush>();
(::windows::core::Interface::vtable(this).GetSourceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__)
}
}
pub fn SetSourceParameter<P0>(&self, name: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionBrush>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetSourceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionEffectBrush {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionEffectBrush {}
impl ::core::fmt::Debug for CompositionEffectBrush {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionEffectBrush").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionEffectBrush {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionEffectBrush;{bf7f795e-83cc-44bf-a447-3e3c071789ec})");
}
impl ::core::clone::Clone for CompositionEffectBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionEffectBrush {
type Vtable = ICompositionEffectBrush_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionEffectBrush {
const IID: ::windows::core::GUID = <ICompositionEffectBrush as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionEffectBrush {
const NAME: &'static str = "Windows.UI.Composition.CompositionEffectBrush";
}
::windows::imp::interface_hierarchy!(CompositionEffectBrush, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionEffectBrush {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionEffectBrush {}
impl ::windows::core::CanTryInto<CompositionBrush> for CompositionEffectBrush {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionEffectBrush {}
unsafe impl ::core::marker::Send for CompositionEffectBrush {}
unsafe impl ::core::marker::Sync for CompositionEffectBrush {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionEffectFactory(::windows::core::IUnknown);
impl CompositionEffectFactory {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn CreateBrush(&self) -> ::windows::core::Result<CompositionEffectBrush> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionEffectBrush>();
(::windows::core::Interface::vtable(this).CreateBrush)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn ExtendedError(&self) -> ::windows::core::Result<::windows::core::HRESULT> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HRESULT>();
(::windows::core::Interface::vtable(this).ExtendedError)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn LoadStatus(&self) -> ::windows::core::Result<CompositionEffectFactoryLoadStatus> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionEffectFactoryLoadStatus>();
(::windows::core::Interface::vtable(this).LoadStatus)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionEffectFactory {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionEffectFactory {}
impl ::core::fmt::Debug for CompositionEffectFactory {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionEffectFactory").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionEffectFactory {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionEffectFactory;{be5624af-ba7e-4510-9850-41c0b4ff74df})");
}
impl ::core::clone::Clone for CompositionEffectFactory {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionEffectFactory {
type Vtable = ICompositionEffectFactory_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionEffectFactory {
const IID: ::windows::core::GUID = <ICompositionEffectFactory as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionEffectFactory {
const NAME: &'static str = "Windows.UI.Composition.CompositionEffectFactory";
}
::windows::imp::interface_hierarchy!(CompositionEffectFactory, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionEffectFactory {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionEffectFactory {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionEffectFactory {}
unsafe impl ::core::marker::Send for CompositionEffectFactory {}
unsafe impl ::core::marker::Sync for CompositionEffectFactory {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionEffectSourceParameter(::windows::core::IUnknown);
impl CompositionEffectSourceParameter {
pub fn Name(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Name)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Create(name: &::windows::core::HSTRING) -> ::windows::core::Result<CompositionEffectSourceParameter> {
Self::ICompositionEffectSourceParameterFactory(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionEffectSourceParameter>();
(::windows::core::Interface::vtable(this).Create)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__)
})
}
#[doc(hidden)]
pub fn ICompositionEffectSourceParameterFactory<R, F: FnOnce(&ICompositionEffectSourceParameterFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::imp::FactoryCache<CompositionEffectSourceParameter, ICompositionEffectSourceParameterFactory> = ::windows::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::core::cmp::PartialEq for CompositionEffectSourceParameter {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionEffectSourceParameter {}
impl ::core::fmt::Debug for CompositionEffectSourceParameter {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionEffectSourceParameter").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionEffectSourceParameter {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionEffectSourceParameter;{858ab13a-3292-4e4e-b3bb-2b6c6544a6ee})");
}
impl ::core::clone::Clone for CompositionEffectSourceParameter {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionEffectSourceParameter {
type Vtable = ICompositionEffectSourceParameter_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionEffectSourceParameter {
const IID: ::windows::core::GUID = <ICompositionEffectSourceParameter as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionEffectSourceParameter {
const NAME: &'static str = "Windows.UI.Composition.CompositionEffectSourceParameter";
}
::windows::imp::interface_hierarchy!(CompositionEffectSourceParameter, ::windows::core::IUnknown, ::windows::core::IInspectable);
#[cfg(feature = "Graphics_Effects")]
impl ::windows::core::CanTryInto<super::super::Graphics::Effects::IGraphicsEffectSource> for CompositionEffectSourceParameter {}
unsafe impl ::core::marker::Send for CompositionEffectSourceParameter {}
unsafe impl ::core::marker::Sync for CompositionEffectSourceParameter {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionEllipseGeometry(::windows::core::IUnknown);
impl CompositionEllipseGeometry {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Center(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Center)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenter(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetCenter)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Radius(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Radius)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRadius(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetRadius)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn TrimEnd(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimEnd)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimEnd(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTrimEnd)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn TrimOffset(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimOffset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimOffset(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTrimOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn TrimStart(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimStart)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimStart(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTrimStart)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionEllipseGeometry {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionEllipseGeometry {}
impl ::core::fmt::Debug for CompositionEllipseGeometry {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionEllipseGeometry").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionEllipseGeometry {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionEllipseGeometry;{4801f884-f6ad-4b93-afa9-897b64e57b1f})");
}
impl ::core::clone::Clone for CompositionEllipseGeometry {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionEllipseGeometry {
type Vtable = ICompositionEllipseGeometry_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionEllipseGeometry {
const IID: ::windows::core::GUID = <ICompositionEllipseGeometry as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionEllipseGeometry {
const NAME: &'static str = "Windows.UI.Composition.CompositionEllipseGeometry";
}
::windows::imp::interface_hierarchy!(CompositionEllipseGeometry, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionEllipseGeometry {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionEllipseGeometry {}
impl ::windows::core::CanTryInto<CompositionGeometry> for CompositionEllipseGeometry {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionEllipseGeometry {}
unsafe impl ::core::marker::Send for CompositionEllipseGeometry {}
unsafe impl ::core::marker::Sync for CompositionEllipseGeometry {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionGeometricClip(::windows::core::IUnknown);
impl CompositionGeometricClip {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn AnchorPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).AnchorPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetAnchorPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetAnchorPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix3x2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix3x2>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Geometry(&self) -> ::windows::core::Result<CompositionGeometry> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionGeometry>();
(::windows::core::Interface::vtable(this).Geometry)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetGeometry<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionGeometry>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetGeometry)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn ViewBox(&self) -> ::windows::core::Result<CompositionViewBox> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionViewBox>();
(::windows::core::Interface::vtable(this).ViewBox)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetViewBox(&self, value: &CompositionViewBox) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetViewBox)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionGeometricClip {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionGeometricClip {}
impl ::core::fmt::Debug for CompositionGeometricClip {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionGeometricClip").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionGeometricClip {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionGeometricClip;{c840b581-81c9-4444-a2c1-ccaece3a50e5})");
}
impl ::core::clone::Clone for CompositionGeometricClip {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionGeometricClip {
type Vtable = ICompositionGeometricClip_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionGeometricClip {
const IID: ::windows::core::GUID = <ICompositionGeometricClip as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionGeometricClip {
const NAME: &'static str = "Windows.UI.Composition.CompositionGeometricClip";
}
::windows::imp::interface_hierarchy!(CompositionGeometricClip, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionGeometricClip {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionGeometricClip {}
impl ::windows::core::CanTryInto<CompositionClip> for CompositionGeometricClip {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionGeometricClip {}
unsafe impl ::core::marker::Send for CompositionGeometricClip {}
unsafe impl ::core::marker::Sync for CompositionGeometricClip {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionGeometry(::windows::core::IUnknown);
impl CompositionGeometry {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn TrimEnd(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimEnd)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimEnd(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetTrimEnd)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn TrimOffset(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimOffset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimOffset(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetTrimOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn TrimStart(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimStart)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimStart(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetTrimStart)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionGeometry {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionGeometry {}
impl ::core::fmt::Debug for CompositionGeometry {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionGeometry").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionGeometry {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionGeometry;{e985217c-6a17-4207-abd8-5fd3dd612a9d})");
}
impl ::core::clone::Clone for CompositionGeometry {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionGeometry {
type Vtable = ICompositionGeometry_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionGeometry {
const IID: ::windows::core::GUID = <ICompositionGeometry as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionGeometry {
const NAME: &'static str = "Windows.UI.Composition.CompositionGeometry";
}
::windows::imp::interface_hierarchy!(CompositionGeometry, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionGeometry {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionGeometry {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionGeometry {}
unsafe impl ::core::marker::Send for CompositionGeometry {}
unsafe impl ::core::marker::Sync for CompositionGeometry {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionGradientBrush(::windows::core::IUnknown);
impl CompositionGradientBrush {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn AnchorPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).AnchorPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetAnchorPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetAnchorPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn ColorStops(&self) -> ::windows::core::Result<CompositionColorGradientStopCollection> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionColorGradientStopCollection>();
(::windows::core::Interface::vtable(this).ColorStops)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn ExtendMode(&self) -> ::windows::core::Result<CompositionGradientExtendMode> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionGradientExtendMode>();
(::windows::core::Interface::vtable(this).ExtendMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExtendMode(&self, value: CompositionGradientExtendMode) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetExtendMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InterpolationSpace(&self) -> ::windows::core::Result<CompositionColorSpace> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionColorSpace>();
(::windows::core::Interface::vtable(this).InterpolationSpace)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetInterpolationSpace(&self, value: CompositionColorSpace) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetInterpolationSpace)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix3x2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix3x2>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn MappingMode(&self) -> ::windows::core::Result<CompositionMappingMode> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionMappingMode>();
(::windows::core::Interface::vtable(this).MappingMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetMappingMode(&self, value: CompositionMappingMode) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMappingMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionGradientBrush {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionGradientBrush {}
impl ::core::fmt::Debug for CompositionGradientBrush {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionGradientBrush").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionGradientBrush {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionGradientBrush;{1d9709e0-ffc6-4c0e-a9ab-34144d4c9098})");
}
impl ::core::clone::Clone for CompositionGradientBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionGradientBrush {
type Vtable = ICompositionGradientBrush_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionGradientBrush {
const IID: ::windows::core::GUID = <ICompositionGradientBrush as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionGradientBrush {
const NAME: &'static str = "Windows.UI.Composition.CompositionGradientBrush";
}
::windows::imp::interface_hierarchy!(CompositionGradientBrush, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionGradientBrush {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionGradientBrush {}
impl ::windows::core::CanTryInto<CompositionBrush> for CompositionGradientBrush {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionGradientBrush {}
unsafe impl ::core::marker::Send for CompositionGradientBrush {}
unsafe impl ::core::marker::Sync for CompositionGradientBrush {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionGraphicsDevice(::windows::core::IUnknown);
impl CompositionGraphicsDevice {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`, `\"Graphics_DirectX\"`*"]
#[cfg(all(feature = "Foundation", feature = "Graphics_DirectX"))]
pub fn CreateDrawingSurface(&self, sizepixels: super::super::Foundation::Size, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode) -> ::windows::core::Result<CompositionDrawingSurface> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionDrawingSurface>();
(::windows::core::Interface::vtable(this).CreateDrawingSurface)(::windows::core::Interface::as_raw(this), sizepixels, pixelformat, alphamode, &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RenderingDeviceReplaced(&self, handler: &super::super::Foundation::TypedEventHandler<CompositionGraphicsDevice, RenderingDeviceReplacedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
(::windows::core::Interface::vtable(this).RenderingDeviceReplaced)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemoveRenderingDeviceReplaced(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveRenderingDeviceReplaced)(::windows::core::Interface::as_raw(this), token).ok() }
}
#[doc = "*Required features: `\"Graphics_DirectX\"`*"]
#[cfg(feature = "Graphics_DirectX")]
pub fn CreateDrawingSurface2(&self, sizepixels: super::super::Graphics::SizeInt32, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode) -> ::windows::core::Result<CompositionDrawingSurface> {
let this = &::windows::core::ComInterface::cast::<ICompositionGraphicsDevice2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionDrawingSurface>();
(::windows::core::Interface::vtable(this).CreateDrawingSurface2)(::windows::core::Interface::as_raw(this), sizepixels, pixelformat, alphamode, &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Graphics_DirectX\"`*"]
#[cfg(feature = "Graphics_DirectX")]
pub fn CreateVirtualDrawingSurface(&self, sizepixels: super::super::Graphics::SizeInt32, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode) -> ::windows::core::Result<CompositionVirtualDrawingSurface> {
let this = &::windows::core::ComInterface::cast::<ICompositionGraphicsDevice2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionVirtualDrawingSurface>();
(::windows::core::Interface::vtable(this).CreateVirtualDrawingSurface)(::windows::core::Interface::as_raw(this), sizepixels, pixelformat, alphamode, &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Graphics_DirectX\"`*"]
#[cfg(feature = "Graphics_DirectX")]
pub fn CreateMipmapSurface(&self, sizepixels: super::super::Graphics::SizeInt32, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode) -> ::windows::core::Result<CompositionMipmapSurface> {
let this = &::windows::core::ComInterface::cast::<ICompositionGraphicsDevice3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionMipmapSurface>();
(::windows::core::Interface::vtable(this).CreateMipmapSurface)(::windows::core::Interface::as_raw(this), sizepixels, pixelformat, alphamode, &mut result__).from_abi(result__)
}
}
pub fn Trim(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGraphicsDevice3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Trim)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`, `\"Graphics_DirectX\"`*"]
#[cfg(all(feature = "Foundation", feature = "Graphics_DirectX"))]
pub fn CaptureAsync<P0>(&self, capturevisual: P0, size: super::super::Graphics::SizeInt32, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode, sdrboost: f32) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ICompositionSurface>>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionGraphicsDevice4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ICompositionSurface>>();
(::windows::core::Interface::vtable(this).CaptureAsync)(::windows::core::Interface::as_raw(this), capturevisual.try_into_param()?.abi(), size, pixelformat, alphamode, sdrboost, &mut result__).from_abi(result__)
}
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionGraphicsDevice {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionGraphicsDevice {}
impl ::core::fmt::Debug for CompositionGraphicsDevice {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionGraphicsDevice").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionGraphicsDevice {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionGraphicsDevice;{fb22c6e1-80a2-4667-9936-dbeaf6eefe95})");
}
impl ::core::clone::Clone for CompositionGraphicsDevice {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionGraphicsDevice {
type Vtable = ICompositionGraphicsDevice_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionGraphicsDevice {
const IID: ::windows::core::GUID = <ICompositionGraphicsDevice as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionGraphicsDevice {
const NAME: &'static str = "Windows.UI.Composition.CompositionGraphicsDevice";
}
::windows::imp::interface_hierarchy!(CompositionGraphicsDevice, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionGraphicsDevice {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionGraphicsDevice {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionGraphicsDevice {}
unsafe impl ::core::marker::Send for CompositionGraphicsDevice {}
unsafe impl ::core::marker::Sync for CompositionGraphicsDevice {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionLight(::windows::core::IUnknown);
impl CompositionLight {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Targets(&self) -> ::windows::core::Result<VisualUnorderedCollection> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<VisualUnorderedCollection>();
(::windows::core::Interface::vtable(this).Targets)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn ExclusionsFromTargets(&self) -> ::windows::core::Result<VisualUnorderedCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<VisualUnorderedCollection>();
(::windows::core::Interface::vtable(this).ExclusionsFromTargets)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsEnabled(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsEnabled(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionLight {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionLight {}
impl ::core::fmt::Debug for CompositionLight {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionLight").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionLight {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionLight;{41a6d7c2-2e5d-4bc1-b09e-8f0a03e3d8d3})");
}
impl ::core::clone::Clone for CompositionLight {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionLight {
type Vtable = ICompositionLight_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionLight {
const IID: ::windows::core::GUID = <ICompositionLight as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionLight {
const NAME: &'static str = "Windows.UI.Composition.CompositionLight";
}
::windows::imp::interface_hierarchy!(CompositionLight, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionLight {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionLight {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionLight {}
unsafe impl ::core::marker::Send for CompositionLight {}
unsafe impl ::core::marker::Sync for CompositionLight {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionLineGeometry(::windows::core::IUnknown);
impl CompositionLineGeometry {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn TrimEnd(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimEnd)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimEnd(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTrimEnd)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn TrimOffset(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimOffset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimOffset(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTrimOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn TrimStart(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimStart)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimStart(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTrimStart)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Start(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Start)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetStart(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetStart)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn End(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).End)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetEnd(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetEnd)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionLineGeometry {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionLineGeometry {}
impl ::core::fmt::Debug for CompositionLineGeometry {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionLineGeometry").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionLineGeometry {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionLineGeometry;{dd7615a4-0c9a-4b67-8dce-440a5bf9cdec})");
}
impl ::core::clone::Clone for CompositionLineGeometry {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionLineGeometry {
type Vtable = ICompositionLineGeometry_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionLineGeometry {
const IID: ::windows::core::GUID = <ICompositionLineGeometry as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionLineGeometry {
const NAME: &'static str = "Windows.UI.Composition.CompositionLineGeometry";
}
::windows::imp::interface_hierarchy!(CompositionLineGeometry, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionLineGeometry {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionLineGeometry {}
impl ::windows::core::CanTryInto<CompositionGeometry> for CompositionLineGeometry {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionLineGeometry {}
unsafe impl ::core::marker::Send for CompositionLineGeometry {}
unsafe impl ::core::marker::Sync for CompositionLineGeometry {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionLinearGradientBrush(::windows::core::IUnknown);
impl CompositionLinearGradientBrush {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn AnchorPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).AnchorPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetAnchorPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetAnchorPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn ColorStops(&self) -> ::windows::core::Result<CompositionColorGradientStopCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionColorGradientStopCollection>();
(::windows::core::Interface::vtable(this).ColorStops)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn ExtendMode(&self) -> ::windows::core::Result<CompositionGradientExtendMode> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionGradientExtendMode>();
(::windows::core::Interface::vtable(this).ExtendMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExtendMode(&self, value: CompositionGradientExtendMode) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExtendMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InterpolationSpace(&self) -> ::windows::core::Result<CompositionColorSpace> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionColorSpace>();
(::windows::core::Interface::vtable(this).InterpolationSpace)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetInterpolationSpace(&self, value: CompositionColorSpace) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetInterpolationSpace)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix3x2> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix3x2>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn MappingMode(&self) -> ::windows::core::Result<CompositionMappingMode> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionMappingMode>();
(::windows::core::Interface::vtable(this).MappingMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetMappingMode(&self, value: CompositionMappingMode) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMappingMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn EndPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).EndPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetEndPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetEndPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn StartPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).StartPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetStartPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetStartPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionLinearGradientBrush {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionLinearGradientBrush {}
impl ::core::fmt::Debug for CompositionLinearGradientBrush {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionLinearGradientBrush").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionLinearGradientBrush {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionLinearGradientBrush;{983bc519-a9db-413c-a2d8-2a9056fc525e})");
}
impl ::core::clone::Clone for CompositionLinearGradientBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionLinearGradientBrush {
type Vtable = ICompositionLinearGradientBrush_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionLinearGradientBrush {
const IID: ::windows::core::GUID = <ICompositionLinearGradientBrush as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionLinearGradientBrush {
const NAME: &'static str = "Windows.UI.Composition.CompositionLinearGradientBrush";
}
::windows::imp::interface_hierarchy!(CompositionLinearGradientBrush, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionLinearGradientBrush {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionLinearGradientBrush {}
impl ::windows::core::CanTryInto<CompositionGradientBrush> for CompositionLinearGradientBrush {}
impl ::windows::core::CanTryInto<CompositionBrush> for CompositionLinearGradientBrush {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionLinearGradientBrush {}
unsafe impl ::core::marker::Send for CompositionLinearGradientBrush {}
unsafe impl ::core::marker::Sync for CompositionLinearGradientBrush {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionMaskBrush(::windows::core::IUnknown);
impl CompositionMaskBrush {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Mask(&self) -> ::windows::core::Result<CompositionBrush> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBrush>();
(::windows::core::Interface::vtable(this).Mask)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetMask<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionBrush>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetMask)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn Source(&self) -> ::windows::core::Result<CompositionBrush> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBrush>();
(::windows::core::Interface::vtable(this).Source)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetSource<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionBrush>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetSource)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionMaskBrush {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionMaskBrush {}
impl ::core::fmt::Debug for CompositionMaskBrush {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionMaskBrush").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionMaskBrush {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionMaskBrush;{522cf09e-be6b-4f41-be49-f9226d471b4a})");
}
impl ::core::clone::Clone for CompositionMaskBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionMaskBrush {
type Vtable = ICompositionMaskBrush_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionMaskBrush {
const IID: ::windows::core::GUID = <ICompositionMaskBrush as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionMaskBrush {
const NAME: &'static str = "Windows.UI.Composition.CompositionMaskBrush";
}
::windows::imp::interface_hierarchy!(CompositionMaskBrush, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionMaskBrush {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionMaskBrush {}
impl ::windows::core::CanTryInto<CompositionBrush> for CompositionMaskBrush {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionMaskBrush {}
unsafe impl ::core::marker::Send for CompositionMaskBrush {}
unsafe impl ::core::marker::Sync for CompositionMaskBrush {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionMipmapSurface(::windows::core::IUnknown);
impl CompositionMipmapSurface {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn LevelCount(&self) -> ::windows::core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(this).LevelCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Graphics_DirectX\"`*"]
#[cfg(feature = "Graphics_DirectX")]
pub fn AlphaMode(&self) -> ::windows::core::Result<super::super::Graphics::DirectX::DirectXAlphaMode> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::DirectX::DirectXAlphaMode>();
(::windows::core::Interface::vtable(this).AlphaMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Graphics_DirectX\"`*"]
#[cfg(feature = "Graphics_DirectX")]
pub fn PixelFormat(&self) -> ::windows::core::Result<super::super::Graphics::DirectX::DirectXPixelFormat> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::DirectX::DirectXPixelFormat>();
(::windows::core::Interface::vtable(this).PixelFormat)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Graphics\"`*"]
#[cfg(feature = "Graphics")]
pub fn SizeInt32(&self) -> ::windows::core::Result<super::super::Graphics::SizeInt32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::SizeInt32>();
(::windows::core::Interface::vtable(this).SizeInt32)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn GetDrawingSurfaceForLevel(&self, level: u32) -> ::windows::core::Result<CompositionDrawingSurface> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionDrawingSurface>();
(::windows::core::Interface::vtable(this).GetDrawingSurfaceForLevel)(::windows::core::Interface::as_raw(this), level, &mut result__).from_abi(result__)
}
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionMipmapSurface {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionMipmapSurface {}
impl ::core::fmt::Debug for CompositionMipmapSurface {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionMipmapSurface").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionMipmapSurface {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionMipmapSurface;{4863675c-cf4a-4b1c-9ece-c5ec0c2b2fe6})");
}
impl ::core::clone::Clone for CompositionMipmapSurface {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionMipmapSurface {
type Vtable = ICompositionMipmapSurface_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionMipmapSurface {
const IID: ::windows::core::GUID = <ICompositionMipmapSurface as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionMipmapSurface {
const NAME: &'static str = "Windows.UI.Composition.CompositionMipmapSurface";
}
::windows::imp::interface_hierarchy!(CompositionMipmapSurface, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionMipmapSurface {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionMipmapSurface {}
impl ::windows::core::CanTryInto<ICompositionSurface> for CompositionMipmapSurface {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionMipmapSurface {}
unsafe impl ::core::marker::Send for CompositionMipmapSurface {}
unsafe impl ::core::marker::Sync for CompositionMipmapSurface {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionNineGridBrush(::windows::core::IUnknown);
impl CompositionNineGridBrush {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn BottomInset(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).BottomInset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBottomInset(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetBottomInset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn BottomInsetScale(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).BottomInsetScale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBottomInsetScale(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetBottomInsetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsCenterHollow(&self) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsCenterHollow)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsCenterHollow(&self, value: bool) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetIsCenterHollow)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn LeftInset(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).LeftInset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetLeftInset(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetLeftInset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn LeftInsetScale(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).LeftInsetScale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetLeftInsetScale(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetLeftInsetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RightInset(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RightInset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRightInset(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetRightInset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RightInsetScale(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RightInsetScale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRightInsetScale(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetRightInsetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Source(&self) -> ::windows::core::Result<CompositionBrush> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBrush>();
(::windows::core::Interface::vtable(this).Source)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetSource<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionBrush>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetSource)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn TopInset(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TopInset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTopInset(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetTopInset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn TopInsetScale(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TopInsetScale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTopInsetScale(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetTopInsetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn SetInsets(&self, inset: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetInsets)(::windows::core::Interface::as_raw(this), inset).ok() }
}
pub fn SetInsetsWithValues(&self, left: f32, top: f32, right: f32, bottom: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetInsetsWithValues)(::windows::core::Interface::as_raw(this), left, top, right, bottom).ok() }
}
pub fn SetInsetScales(&self, scale: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetInsetScales)(::windows::core::Interface::as_raw(this), scale).ok() }
}
pub fn SetInsetScalesWithValues(&self, left: f32, top: f32, right: f32, bottom: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetInsetScalesWithValues)(::windows::core::Interface::as_raw(this), left, top, right, bottom).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionNineGridBrush {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionNineGridBrush {}
impl ::core::fmt::Debug for CompositionNineGridBrush {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionNineGridBrush").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionNineGridBrush {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionNineGridBrush;{f25154e4-bc8c-4be7-b80f-8685b83c0186})");
}
impl ::core::clone::Clone for CompositionNineGridBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionNineGridBrush {
type Vtable = ICompositionNineGridBrush_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionNineGridBrush {
const IID: ::windows::core::GUID = <ICompositionNineGridBrush as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionNineGridBrush {
const NAME: &'static str = "Windows.UI.Composition.CompositionNineGridBrush";
}
::windows::imp::interface_hierarchy!(CompositionNineGridBrush, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionNineGridBrush {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionNineGridBrush {}
impl ::windows::core::CanTryInto<CompositionBrush> for CompositionNineGridBrush {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionNineGridBrush {}
unsafe impl ::core::marker::Send for CompositionNineGridBrush {}
unsafe impl ::core::marker::Sync for CompositionNineGridBrush {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionObject(::windows::core::IUnknown);
impl CompositionObject {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn StartAnimationWithIAnimationObject<P0, P1>(target: P0, propertyname: &::windows::core::HSTRING, animation: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
P1: ::windows::core::TryIntoParam<CompositionAnimation>,
{
Self::ICompositionObjectStatics(|this| unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithIAnimationObject)(::windows::core::Interface::as_raw(this), target.try_into_param()?.abi(), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() })
}
pub fn StartAnimationGroupWithIAnimationObject<P0, P1>(target: P0, animation: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
P1: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
Self::ICompositionObjectStatics(|this| unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroupWithIAnimationObject)(::windows::core::Interface::as_raw(this), target.try_into_param()?.abi(), animation.try_into_param()?.abi()).ok() })
}
#[doc(hidden)]
pub fn ICompositionObjectStatics<R, F: FnOnce(&ICompositionObjectStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::imp::FactoryCache<CompositionObject, ICompositionObjectStatics> = ::windows::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::core::cmp::PartialEq for CompositionObject {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionObject {}
impl ::core::fmt::Debug for CompositionObject {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionObject").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionObject {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionObject;{bcb4ad45-7609-4550-934f-16002a68fded})");
}
impl ::core::clone::Clone for CompositionObject {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionObject {
type Vtable = ICompositionObject_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionObject {
const IID: ::windows::core::GUID = <ICompositionObject as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionObject {
const NAME: &'static str = "Windows.UI.Composition.CompositionObject";
}
::windows::imp::interface_hierarchy!(CompositionObject, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionObject {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionObject {}
unsafe impl ::core::marker::Send for CompositionObject {}
unsafe impl ::core::marker::Sync for CompositionObject {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionPath(::windows::core::IUnknown);
impl CompositionPath {
#[doc = "*Required features: `\"Graphics\"`*"]
#[cfg(feature = "Graphics")]
pub fn Create<P0>(source: P0) -> ::windows::core::Result<CompositionPath>
where
P0: ::windows::core::TryIntoParam<super::super::Graphics::IGeometrySource2D>,
{
Self::ICompositionPathFactory(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPath>();
(::windows::core::Interface::vtable(this).Create)(::windows::core::Interface::as_raw(this), source.try_into_param()?.abi(), &mut result__).from_abi(result__)
})
}
#[doc(hidden)]
pub fn ICompositionPathFactory<R, F: FnOnce(&ICompositionPathFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::imp::FactoryCache<CompositionPath, ICompositionPathFactory> = ::windows::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::core::cmp::PartialEq for CompositionPath {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionPath {}
impl ::core::fmt::Debug for CompositionPath {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionPath").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionPath {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionPath;{66da1d5f-2e10-4f22-8a06-0a8151919e60})");
}
impl ::core::clone::Clone for CompositionPath {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionPath {
type Vtable = ICompositionPath_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionPath {
const IID: ::windows::core::GUID = <ICompositionPath as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionPath {
const NAME: &'static str = "Windows.UI.Composition.CompositionPath";
}
::windows::imp::interface_hierarchy!(CompositionPath, ::windows::core::IUnknown, ::windows::core::IInspectable);
#[cfg(feature = "Graphics")]
impl ::windows::core::CanTryInto<super::super::Graphics::IGeometrySource2D> for CompositionPath {}
unsafe impl ::core::marker::Send for CompositionPath {}
unsafe impl ::core::marker::Sync for CompositionPath {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionPathGeometry(::windows::core::IUnknown);
impl CompositionPathGeometry {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn TrimEnd(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimEnd)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimEnd(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTrimEnd)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn TrimOffset(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimOffset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimOffset(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTrimOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn TrimStart(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimStart)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimStart(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTrimStart)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Path(&self) -> ::windows::core::Result<CompositionPath> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPath>();
(::windows::core::Interface::vtable(this).Path)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetPath(&self, value: &CompositionPath) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetPath)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionPathGeometry {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionPathGeometry {}
impl ::core::fmt::Debug for CompositionPathGeometry {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionPathGeometry").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionPathGeometry {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionPathGeometry;{0b6a417e-2c77-4c23-af5e-6304c147bb61})");
}
impl ::core::clone::Clone for CompositionPathGeometry {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionPathGeometry {
type Vtable = ICompositionPathGeometry_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionPathGeometry {
const IID: ::windows::core::GUID = <ICompositionPathGeometry as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionPathGeometry {
const NAME: &'static str = "Windows.UI.Composition.CompositionPathGeometry";
}
::windows::imp::interface_hierarchy!(CompositionPathGeometry, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionPathGeometry {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionPathGeometry {}
impl ::windows::core::CanTryInto<CompositionGeometry> for CompositionPathGeometry {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionPathGeometry {}
unsafe impl ::core::marker::Send for CompositionPathGeometry {}
unsafe impl ::core::marker::Sync for CompositionPathGeometry {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionProjectedShadow(::windows::core::IUnknown);
impl CompositionProjectedShadow {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn BlurRadiusMultiplier(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).BlurRadiusMultiplier)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBlurRadiusMultiplier(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetBlurRadiusMultiplier)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Casters(&self) -> ::windows::core::Result<CompositionProjectedShadowCasterCollection> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionProjectedShadowCasterCollection>();
(::windows::core::Interface::vtable(this).Casters)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn LightSource(&self) -> ::windows::core::Result<CompositionLight> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionLight>();
(::windows::core::Interface::vtable(this).LightSource)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetLightSource<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionLight>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetLightSource)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn MaxBlurRadius(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).MaxBlurRadius)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetMaxBlurRadius(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetMaxBlurRadius)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn MinBlurRadius(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).MinBlurRadius)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetMinBlurRadius(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetMinBlurRadius)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Receivers(&self) -> ::windows::core::Result<CompositionProjectedShadowReceiverUnorderedCollection> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionProjectedShadowReceiverUnorderedCollection>();
(::windows::core::Interface::vtable(this).Receivers)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::core::cmp::PartialEq for CompositionProjectedShadow {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionProjectedShadow {}
impl ::core::fmt::Debug for CompositionProjectedShadow {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionProjectedShadow").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionProjectedShadow {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionProjectedShadow;{285b8e72-4328-523f-bcf2-5557c52c3b25})");
}
impl ::core::clone::Clone for CompositionProjectedShadow {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionProjectedShadow {
type Vtable = ICompositionProjectedShadow_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionProjectedShadow {
const IID: ::windows::core::GUID = <ICompositionProjectedShadow as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionProjectedShadow {
const NAME: &'static str = "Windows.UI.Composition.CompositionProjectedShadow";
}
::windows::imp::interface_hierarchy!(CompositionProjectedShadow, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionProjectedShadow {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionProjectedShadow {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionProjectedShadow {}
unsafe impl ::core::marker::Send for CompositionProjectedShadow {}
unsafe impl ::core::marker::Sync for CompositionProjectedShadow {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionProjectedShadowCaster(::windows::core::IUnknown);
impl CompositionProjectedShadowCaster {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Brush(&self) -> ::windows::core::Result<CompositionBrush> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBrush>();
(::windows::core::Interface::vtable(this).Brush)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBrush<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionBrush>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetBrush)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn CastingVisual(&self) -> ::windows::core::Result<Visual> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<Visual>();
(::windows::core::Interface::vtable(this).CastingVisual)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetCastingVisual<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetCastingVisual)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionProjectedShadowCaster {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionProjectedShadowCaster {}
impl ::core::fmt::Debug for CompositionProjectedShadowCaster {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionProjectedShadowCaster").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionProjectedShadowCaster {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionProjectedShadowCaster;{b1d7d426-1e36-5a62-be56-a16112fdd148})");
}
impl ::core::clone::Clone for CompositionProjectedShadowCaster {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionProjectedShadowCaster {
type Vtable = ICompositionProjectedShadowCaster_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionProjectedShadowCaster {
const IID: ::windows::core::GUID = <ICompositionProjectedShadowCaster as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionProjectedShadowCaster {
const NAME: &'static str = "Windows.UI.Composition.CompositionProjectedShadowCaster";
}
::windows::imp::interface_hierarchy!(CompositionProjectedShadowCaster, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionProjectedShadowCaster {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionProjectedShadowCaster {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionProjectedShadowCaster {}
unsafe impl ::core::marker::Send for CompositionProjectedShadowCaster {}
unsafe impl ::core::marker::Sync for CompositionProjectedShadowCaster {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionProjectedShadowCasterCollection(::windows::core::IUnknown);
impl CompositionProjectedShadowCasterCollection {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Count(&self) -> ::windows::core::Result<i32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).Count)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn InsertAbove(&self, newcaster: &CompositionProjectedShadowCaster, reference: &CompositionProjectedShadowCaster) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertAbove)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(newcaster), ::core::mem::transmute_copy(reference)).ok() }
}
pub fn InsertAtBottom(&self, newcaster: &CompositionProjectedShadowCaster) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertAtBottom)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(newcaster)).ok() }
}
pub fn InsertAtTop(&self, newcaster: &CompositionProjectedShadowCaster) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertAtTop)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(newcaster)).ok() }
}
pub fn InsertBelow(&self, newcaster: &CompositionProjectedShadowCaster, reference: &CompositionProjectedShadowCaster) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertBelow)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(newcaster), ::core::mem::transmute_copy(reference)).ok() }
}
pub fn Remove(&self, caster: &CompositionProjectedShadowCaster) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Remove)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(caster)).ok() }
}
pub fn RemoveAll(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveAll)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn MaxRespectedCasters() -> ::windows::core::Result<i32> {
Self::ICompositionProjectedShadowCasterCollectionStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).MaxRespectedCasters)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
})
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn First(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IIterator<CompositionProjectedShadowCaster>> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IIterable<CompositionProjectedShadowCaster>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IIterator<CompositionProjectedShadowCaster>>();
(::windows::core::Interface::vtable(this).First)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc(hidden)]
pub fn ICompositionProjectedShadowCasterCollectionStatics<R, F: FnOnce(&ICompositionProjectedShadowCasterCollectionStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::imp::FactoryCache<CompositionProjectedShadowCasterCollection, ICompositionProjectedShadowCasterCollectionStatics> = ::windows::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::core::cmp::PartialEq for CompositionProjectedShadowCasterCollection {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionProjectedShadowCasterCollection {}
impl ::core::fmt::Debug for CompositionProjectedShadowCasterCollection {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionProjectedShadowCasterCollection").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionProjectedShadowCasterCollection {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionProjectedShadowCasterCollection;{d2525c0c-e07f-58a3-ac91-37f73ee91740})");
}
impl ::core::clone::Clone for CompositionProjectedShadowCasterCollection {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionProjectedShadowCasterCollection {
type Vtable = ICompositionProjectedShadowCasterCollection_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionProjectedShadowCasterCollection {
const IID: ::windows::core::GUID = <ICompositionProjectedShadowCasterCollection as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionProjectedShadowCasterCollection {
const NAME: &'static str = "Windows.UI.Composition.CompositionProjectedShadowCasterCollection";
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for CompositionProjectedShadowCasterCollection {
type Item = CompositionProjectedShadowCaster;
type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
::core::iter::IntoIterator::into_iter(&self)
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for &CompositionProjectedShadowCasterCollection {
type Item = CompositionProjectedShadowCaster;
type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
self.First().unwrap()
}
}
::windows::imp::interface_hierarchy!(CompositionProjectedShadowCasterCollection, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionProjectedShadowCasterCollection {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionProjectedShadowCasterCollection {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::Collections::IIterable<CompositionProjectedShadowCaster>> for CompositionProjectedShadowCasterCollection {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionProjectedShadowCasterCollection {}
unsafe impl ::core::marker::Send for CompositionProjectedShadowCasterCollection {}
unsafe impl ::core::marker::Sync for CompositionProjectedShadowCasterCollection {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionProjectedShadowReceiver(::windows::core::IUnknown);
impl CompositionProjectedShadowReceiver {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn ReceivingVisual(&self) -> ::windows::core::Result<Visual> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<Visual>();
(::windows::core::Interface::vtable(this).ReceivingVisual)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetReceivingVisual<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetReceivingVisual)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionProjectedShadowReceiver {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionProjectedShadowReceiver {}
impl ::core::fmt::Debug for CompositionProjectedShadowReceiver {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionProjectedShadowReceiver").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionProjectedShadowReceiver {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionProjectedShadowReceiver;{1377985a-6a49-536a-9be4-a96a8e5298a9})");
}
impl ::core::clone::Clone for CompositionProjectedShadowReceiver {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionProjectedShadowReceiver {
type Vtable = ICompositionProjectedShadowReceiver_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionProjectedShadowReceiver {
const IID: ::windows::core::GUID = <ICompositionProjectedShadowReceiver as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionProjectedShadowReceiver {
const NAME: &'static str = "Windows.UI.Composition.CompositionProjectedShadowReceiver";
}
::windows::imp::interface_hierarchy!(CompositionProjectedShadowReceiver, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionProjectedShadowReceiver {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionProjectedShadowReceiver {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionProjectedShadowReceiver {}
unsafe impl ::core::marker::Send for CompositionProjectedShadowReceiver {}
unsafe impl ::core::marker::Sync for CompositionProjectedShadowReceiver {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionProjectedShadowReceiverUnorderedCollection(::windows::core::IUnknown);
impl CompositionProjectedShadowReceiverUnorderedCollection {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Add(&self, value: &CompositionProjectedShadowReceiver) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Add)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn Count(&self) -> ::windows::core::Result<i32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).Count)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Remove(&self, value: &CompositionProjectedShadowReceiver) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Remove)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn RemoveAll(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveAll)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn First(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IIterator<CompositionProjectedShadowReceiver>> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IIterable<CompositionProjectedShadowReceiver>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IIterator<CompositionProjectedShadowReceiver>>();
(::windows::core::Interface::vtable(this).First)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::core::cmp::PartialEq for CompositionProjectedShadowReceiverUnorderedCollection {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionProjectedShadowReceiverUnorderedCollection {}
impl ::core::fmt::Debug for CompositionProjectedShadowReceiverUnorderedCollection {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionProjectedShadowReceiverUnorderedCollection").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionProjectedShadowReceiverUnorderedCollection {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionProjectedShadowReceiverUnorderedCollection;{02b3e3b7-27d2-599f-ac4b-ab787cdde6fd})");
}
impl ::core::clone::Clone for CompositionProjectedShadowReceiverUnorderedCollection {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionProjectedShadowReceiverUnorderedCollection {
type Vtable = ICompositionProjectedShadowReceiverUnorderedCollection_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionProjectedShadowReceiverUnorderedCollection {
const IID: ::windows::core::GUID = <ICompositionProjectedShadowReceiverUnorderedCollection as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionProjectedShadowReceiverUnorderedCollection {
const NAME: &'static str = "Windows.UI.Composition.CompositionProjectedShadowReceiverUnorderedCollection";
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for CompositionProjectedShadowReceiverUnorderedCollection {
type Item = CompositionProjectedShadowReceiver;
type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
::core::iter::IntoIterator::into_iter(&self)
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for &CompositionProjectedShadowReceiverUnorderedCollection {
type Item = CompositionProjectedShadowReceiver;
type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
self.First().unwrap()
}
}
::windows::imp::interface_hierarchy!(CompositionProjectedShadowReceiverUnorderedCollection, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionProjectedShadowReceiverUnorderedCollection {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionProjectedShadowReceiverUnorderedCollection {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::Collections::IIterable<CompositionProjectedShadowReceiver>> for CompositionProjectedShadowReceiverUnorderedCollection {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionProjectedShadowReceiverUnorderedCollection {}
unsafe impl ::core::marker::Send for CompositionProjectedShadowReceiverUnorderedCollection {}
unsafe impl ::core::marker::Sync for CompositionProjectedShadowReceiverUnorderedCollection {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionPropertySet(::windows::core::IUnknown);
impl CompositionPropertySet {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn InsertColor(&self, propertyname: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertColor)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InsertMatrix3x2(&self, propertyname: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertMatrix3x2)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InsertMatrix4x4(&self, propertyname: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertMatrix4x4)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InsertQuaternion(&self, propertyname: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertQuaternion)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value).ok() }
}
pub fn InsertScalar(&self, propertyname: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertScalar)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InsertVector2(&self, propertyname: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertVector2)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InsertVector3(&self, propertyname: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertVector3)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InsertVector4(&self, propertyname: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertVector4)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value).ok() }
}
pub fn TryGetColor(&self, propertyname: &::windows::core::HSTRING, value: &mut super::Color) -> ::windows::core::Result<CompositionGetValueStatus> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionGetValueStatus>();
(::windows::core::Interface::vtable(this).TryGetColor)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TryGetMatrix3x2(&self, propertyname: &::windows::core::HSTRING, value: &mut super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<CompositionGetValueStatus> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionGetValueStatus>();
(::windows::core::Interface::vtable(this).TryGetMatrix3x2)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TryGetMatrix4x4(&self, propertyname: &::windows::core::HSTRING, value: &mut super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<CompositionGetValueStatus> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionGetValueStatus>();
(::windows::core::Interface::vtable(this).TryGetMatrix4x4)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TryGetQuaternion(&self, propertyname: &::windows::core::HSTRING, value: &mut super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<CompositionGetValueStatus> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionGetValueStatus>();
(::windows::core::Interface::vtable(this).TryGetQuaternion)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__)
}
}
pub fn TryGetScalar(&self, propertyname: &::windows::core::HSTRING, value: &mut f32) -> ::windows::core::Result<CompositionGetValueStatus> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionGetValueStatus>();
(::windows::core::Interface::vtable(this).TryGetScalar)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TryGetVector2(&self, propertyname: &::windows::core::HSTRING, value: &mut super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<CompositionGetValueStatus> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionGetValueStatus>();
(::windows::core::Interface::vtable(this).TryGetVector2)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TryGetVector3(&self, propertyname: &::windows::core::HSTRING, value: &mut super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<CompositionGetValueStatus> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionGetValueStatus>();
(::windows::core::Interface::vtable(this).TryGetVector3)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TryGetVector4(&self, propertyname: &::windows::core::HSTRING, value: &mut super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<CompositionGetValueStatus> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionGetValueStatus>();
(::windows::core::Interface::vtable(this).TryGetVector4)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__)
}
}
pub fn InsertBoolean(&self, propertyname: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionPropertySet2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertBoolean)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value).ok() }
}
pub fn TryGetBoolean(&self, propertyname: &::windows::core::HSTRING, value: &mut bool) -> ::windows::core::Result<CompositionGetValueStatus> {
let this = &::windows::core::ComInterface::cast::<ICompositionPropertySet2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionGetValueStatus>();
(::windows::core::Interface::vtable(this).TryGetBoolean)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__)
}
}
}
impl ::core::cmp::PartialEq for CompositionPropertySet {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionPropertySet {}
impl ::core::fmt::Debug for CompositionPropertySet {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionPropertySet").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionPropertySet {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionPropertySet;{c9d6d202-5f67-4453-9117-9eadd430d3c2})");
}
impl ::core::clone::Clone for CompositionPropertySet {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionPropertySet {
type Vtable = ICompositionPropertySet_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionPropertySet {
const IID: ::windows::core::GUID = <ICompositionPropertySet as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionPropertySet {
const NAME: &'static str = "Windows.UI.Composition.CompositionPropertySet";
}
::windows::imp::interface_hierarchy!(CompositionPropertySet, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionPropertySet {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionPropertySet {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionPropertySet {}
unsafe impl ::core::marker::Send for CompositionPropertySet {}
unsafe impl ::core::marker::Sync for CompositionPropertySet {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionRadialGradientBrush(::windows::core::IUnknown);
impl CompositionRadialGradientBrush {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn AnchorPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).AnchorPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetAnchorPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetAnchorPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn ColorStops(&self) -> ::windows::core::Result<CompositionColorGradientStopCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionColorGradientStopCollection>();
(::windows::core::Interface::vtable(this).ColorStops)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn ExtendMode(&self) -> ::windows::core::Result<CompositionGradientExtendMode> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionGradientExtendMode>();
(::windows::core::Interface::vtable(this).ExtendMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExtendMode(&self, value: CompositionGradientExtendMode) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExtendMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InterpolationSpace(&self) -> ::windows::core::Result<CompositionColorSpace> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionColorSpace>();
(::windows::core::Interface::vtable(this).InterpolationSpace)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetInterpolationSpace(&self, value: CompositionColorSpace) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetInterpolationSpace)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix3x2> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix3x2>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn MappingMode(&self) -> ::windows::core::Result<CompositionMappingMode> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionMappingMode>();
(::windows::core::Interface::vtable(this).MappingMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetMappingMode(&self, value: CompositionMappingMode) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGradientBrush2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMappingMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn EllipseCenter(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).EllipseCenter)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetEllipseCenter(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetEllipseCenter)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn EllipseRadius(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).EllipseRadius)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetEllipseRadius(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetEllipseRadius)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn GradientOriginOffset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).GradientOriginOffset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetGradientOriginOffset(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetGradientOriginOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionRadialGradientBrush {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionRadialGradientBrush {}
impl ::core::fmt::Debug for CompositionRadialGradientBrush {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionRadialGradientBrush").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionRadialGradientBrush {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionRadialGradientBrush;{3d3b50c5-e3fa-4ce2-b9fc-3ee12561788f})");
}
impl ::core::clone::Clone for CompositionRadialGradientBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionRadialGradientBrush {
type Vtable = ICompositionRadialGradientBrush_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionRadialGradientBrush {
const IID: ::windows::core::GUID = <ICompositionRadialGradientBrush as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionRadialGradientBrush {
const NAME: &'static str = "Windows.UI.Composition.CompositionRadialGradientBrush";
}
::windows::imp::interface_hierarchy!(CompositionRadialGradientBrush, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionRadialGradientBrush {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionRadialGradientBrush {}
impl ::windows::core::CanTryInto<CompositionGradientBrush> for CompositionRadialGradientBrush {}
impl ::windows::core::CanTryInto<CompositionBrush> for CompositionRadialGradientBrush {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionRadialGradientBrush {}
unsafe impl ::core::marker::Send for CompositionRadialGradientBrush {}
unsafe impl ::core::marker::Sync for CompositionRadialGradientBrush {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionRectangleGeometry(::windows::core::IUnknown);
impl CompositionRectangleGeometry {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn TrimEnd(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimEnd)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimEnd(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTrimEnd)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn TrimOffset(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimOffset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimOffset(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTrimOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn TrimStart(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimStart)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimStart(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTrimStart)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Size(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetSize(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetSize)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionRectangleGeometry {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionRectangleGeometry {}
impl ::core::fmt::Debug for CompositionRectangleGeometry {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionRectangleGeometry").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionRectangleGeometry {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionRectangleGeometry;{0cd51428-5356-4246-aecf-7a0b76975400})");
}
impl ::core::clone::Clone for CompositionRectangleGeometry {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionRectangleGeometry {
type Vtable = ICompositionRectangleGeometry_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionRectangleGeometry {
const IID: ::windows::core::GUID = <ICompositionRectangleGeometry as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionRectangleGeometry {
const NAME: &'static str = "Windows.UI.Composition.CompositionRectangleGeometry";
}
::windows::imp::interface_hierarchy!(CompositionRectangleGeometry, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionRectangleGeometry {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionRectangleGeometry {}
impl ::windows::core::CanTryInto<CompositionGeometry> for CompositionRectangleGeometry {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionRectangleGeometry {}
unsafe impl ::core::marker::Send for CompositionRectangleGeometry {}
unsafe impl ::core::marker::Sync for CompositionRectangleGeometry {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionRoundedRectangleGeometry(::windows::core::IUnknown);
impl CompositionRoundedRectangleGeometry {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn TrimEnd(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimEnd)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimEnd(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTrimEnd)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn TrimOffset(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimOffset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimOffset(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTrimOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn TrimStart(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TrimStart)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTrimStart(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionGeometry>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTrimStart)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CornerRadius(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).CornerRadius)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCornerRadius(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetCornerRadius)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Size(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetSize(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetSize)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionRoundedRectangleGeometry {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionRoundedRectangleGeometry {}
impl ::core::fmt::Debug for CompositionRoundedRectangleGeometry {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionRoundedRectangleGeometry").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionRoundedRectangleGeometry {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionRoundedRectangleGeometry;{8770c822-1d50-4b8b-b013-7c9a0e46935f})");
}
impl ::core::clone::Clone for CompositionRoundedRectangleGeometry {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionRoundedRectangleGeometry {
type Vtable = ICompositionRoundedRectangleGeometry_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionRoundedRectangleGeometry {
const IID: ::windows::core::GUID = <ICompositionRoundedRectangleGeometry as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionRoundedRectangleGeometry {
const NAME: &'static str = "Windows.UI.Composition.CompositionRoundedRectangleGeometry";
}
::windows::imp::interface_hierarchy!(CompositionRoundedRectangleGeometry, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionRoundedRectangleGeometry {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionRoundedRectangleGeometry {}
impl ::windows::core::CanTryInto<CompositionGeometry> for CompositionRoundedRectangleGeometry {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionRoundedRectangleGeometry {}
unsafe impl ::core::marker::Send for CompositionRoundedRectangleGeometry {}
unsafe impl ::core::marker::Sync for CompositionRoundedRectangleGeometry {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionScopedBatch(::windows::core::IUnknown);
impl CompositionScopedBatch {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn IsActive(&self) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsActive)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsEnded(&self) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsEnded)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn End(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).End)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Resume(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Resume)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Suspend(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Suspend)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Completed(&self, handler: &super::super::Foundation::TypedEventHandler<::windows::core::IInspectable, CompositionBatchCompletedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
(::windows::core::Interface::vtable(this).Completed)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemoveCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveCompleted)(::windows::core::Interface::as_raw(this), token).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionScopedBatch {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionScopedBatch {}
impl ::core::fmt::Debug for CompositionScopedBatch {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionScopedBatch").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionScopedBatch {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionScopedBatch;{0d00dad0-fb07-46fd-8c72-6280d1a3d1dd})");
}
impl ::core::clone::Clone for CompositionScopedBatch {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionScopedBatch {
type Vtable = ICompositionScopedBatch_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionScopedBatch {
const IID: ::windows::core::GUID = <ICompositionScopedBatch as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionScopedBatch {
const NAME: &'static str = "Windows.UI.Composition.CompositionScopedBatch";
}
::windows::imp::interface_hierarchy!(CompositionScopedBatch, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionScopedBatch {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionScopedBatch {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionScopedBatch {}
unsafe impl ::core::marker::Send for CompositionScopedBatch {}
unsafe impl ::core::marker::Sync for CompositionScopedBatch {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionShadow(::windows::core::IUnknown);
impl CompositionShadow {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionShadow {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionShadow {}
impl ::core::fmt::Debug for CompositionShadow {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionShadow").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionShadow {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionShadow;{329e52e2-4335-49cc-b14a-37782d10f0c4})");
}
impl ::core::clone::Clone for CompositionShadow {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionShadow {
type Vtable = ICompositionShadow_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionShadow {
const IID: ::windows::core::GUID = <ICompositionShadow as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionShadow {
const NAME: &'static str = "Windows.UI.Composition.CompositionShadow";
}
::windows::imp::interface_hierarchy!(CompositionShadow, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionShadow {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionShadow {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionShadow {}
unsafe impl ::core::marker::Send for CompositionShadow {}
unsafe impl ::core::marker::Sync for CompositionShadow {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionShape(::windows::core::IUnknown);
impl CompositionShape {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix3x2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix3x2>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionShape {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionShape {}
impl ::core::fmt::Debug for CompositionShape {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionShape").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionShape {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionShape;{b47ce2f7-9a88-42c4-9e87-2e500ca8688c})");
}
impl ::core::clone::Clone for CompositionShape {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionShape {
type Vtable = ICompositionShape_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionShape {
const IID: ::windows::core::GUID = <ICompositionShape as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionShape {
const NAME: &'static str = "Windows.UI.Composition.CompositionShape";
}
::windows::imp::interface_hierarchy!(CompositionShape, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionShape {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionShape {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionShape {}
unsafe impl ::core::marker::Send for CompositionShape {}
unsafe impl ::core::marker::Sync for CompositionShape {}
#[doc = "*Required features: `\"UI_Composition\"`, `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
#[repr(transparent)]
pub struct CompositionShapeCollection(::windows::core::IUnknown);
#[cfg(feature = "Foundation_Collections")]
impl CompositionShapeCollection {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn First(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IIterator<CompositionShape>> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IIterable<CompositionShape>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IIterator<CompositionShape>>();
(::windows::core::Interface::vtable(this).First)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetAt(&self, index: u32) -> ::windows::core::Result<CompositionShape> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionShape>();
(::windows::core::Interface::vtable(this).GetAt)(::windows::core::Interface::as_raw(this), index, &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Size(&self) -> ::windows::core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetView(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<CompositionShape>> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVectorView<CompositionShape>>();
(::windows::core::Interface::vtable(this).GetView)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn IndexOf<P0>(&self, value: P0, index: &mut u32) -> ::windows::core::Result<bool>
where
P0: ::windows::core::TryIntoParam<CompositionShape>,
{
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IndexOf)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi(), index, &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn SetAt<P0>(&self, index: u32, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionShape>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetAt)(::windows::core::Interface::as_raw(this), index, value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InsertAt<P0>(&self, index: u32, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionShape>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertAt)(::windows::core::Interface::as_raw(this), index, value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn RemoveAt(&self, index: u32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveAt)(::windows::core::Interface::as_raw(this), index).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Append<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionShape>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Append)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn RemoveAtEnd(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveAtEnd)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Clear(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Clear)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetMany(&self, startindex: u32, items: &mut [::core::option::Option<CompositionShape>]) -> ::windows::core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(this).GetMany)(::windows::core::Interface::as_raw(this), startindex, items.len() as u32, ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn ReplaceAll(&self, items: &[::core::option::Option<CompositionShape>]) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReplaceAll)(::windows::core::Interface::as_raw(this), items.len() as u32, ::core::mem::transmute(items.as_ptr())).ok() }
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::cmp::PartialEq for CompositionShapeCollection {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::cmp::Eq for CompositionShapeCollection {}
#[cfg(feature = "Foundation_Collections")]
impl ::core::fmt::Debug for CompositionShapeCollection {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionShapeCollection").field(&self.0).finish()
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::RuntimeType for CompositionShapeCollection {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionShapeCollection;pinterface({913337e9-11a1-4345-a3a2-4e7f956e222d};rc(Windows.UI.Composition.CompositionShape;{b47ce2f7-9a88-42c4-9e87-2e500ca8688c})))");
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::clone::Clone for CompositionShapeCollection {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Foundation_Collections")]
unsafe impl ::windows::core::Interface for CompositionShapeCollection {
type Vtable = super::super::Foundation::Collections::IVector_Vtbl<CompositionShape>;
}
#[cfg(feature = "Foundation_Collections")]
unsafe impl ::windows::core::ComInterface for CompositionShapeCollection {
const IID: ::windows::core::GUID = <super::super::Foundation::Collections::IVector<CompositionShape> as ::windows::core::ComInterface>::IID;
}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::RuntimeName for CompositionShapeCollection {
const NAME: &'static str = "Windows.UI.Composition.CompositionShapeCollection";
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for CompositionShapeCollection {
type Item = CompositionShape;
type IntoIter = super::super::Foundation::Collections::VectorIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
::core::iter::IntoIterator::into_iter(&self)
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for &CompositionShapeCollection {
type Item = CompositionShape;
type IntoIter = super::super::Foundation::Collections::VectorIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
super::super::Foundation::Collections::VectorIterator::new(::windows::core::ComInterface::cast(self).ok())
}
}
#[cfg(feature = "Foundation_Collections")]
::windows::imp::interface_hierarchy!(CompositionShapeCollection, ::windows::core::IUnknown, ::windows::core::IInspectable);
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionShapeCollection {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionShapeCollection {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::Collections::IIterable<CompositionShape>> for CompositionShapeCollection {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::Collections::IVector<CompositionShape>> for CompositionShapeCollection {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<CompositionObject> for CompositionShapeCollection {}
#[cfg(feature = "Foundation_Collections")]
unsafe impl ::core::marker::Send for CompositionShapeCollection {}
#[cfg(feature = "Foundation_Collections")]
unsafe impl ::core::marker::Sync for CompositionShapeCollection {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionSpriteShape(::windows::core::IUnknown);
impl CompositionSpriteShape {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix3x2> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix3x2>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionShape>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn FillBrush(&self) -> ::windows::core::Result<CompositionBrush> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBrush>();
(::windows::core::Interface::vtable(this).FillBrush)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetFillBrush<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionBrush>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetFillBrush)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn Geometry(&self) -> ::windows::core::Result<CompositionGeometry> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionGeometry>();
(::windows::core::Interface::vtable(this).Geometry)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetGeometry<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionGeometry>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetGeometry)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn IsStrokeNonScaling(&self) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsStrokeNonScaling)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsStrokeNonScaling(&self, value: bool) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetIsStrokeNonScaling)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StrokeBrush(&self) -> ::windows::core::Result<CompositionBrush> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBrush>();
(::windows::core::Interface::vtable(this).StrokeBrush)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStrokeBrush<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionBrush>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetStrokeBrush)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn StrokeDashArray(&self) -> ::windows::core::Result<CompositionStrokeDashArray> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionStrokeDashArray>();
(::windows::core::Interface::vtable(this).StrokeDashArray)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StrokeDashCap(&self) -> ::windows::core::Result<CompositionStrokeCap> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionStrokeCap>();
(::windows::core::Interface::vtable(this).StrokeDashCap)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStrokeDashCap(&self, value: CompositionStrokeCap) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetStrokeDashCap)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StrokeDashOffset(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).StrokeDashOffset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStrokeDashOffset(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetStrokeDashOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StrokeEndCap(&self) -> ::windows::core::Result<CompositionStrokeCap> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionStrokeCap>();
(::windows::core::Interface::vtable(this).StrokeEndCap)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStrokeEndCap(&self, value: CompositionStrokeCap) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetStrokeEndCap)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StrokeLineJoin(&self) -> ::windows::core::Result<CompositionStrokeLineJoin> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionStrokeLineJoin>();
(::windows::core::Interface::vtable(this).StrokeLineJoin)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStrokeLineJoin(&self, value: CompositionStrokeLineJoin) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetStrokeLineJoin)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StrokeMiterLimit(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).StrokeMiterLimit)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStrokeMiterLimit(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetStrokeMiterLimit)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StrokeStartCap(&self) -> ::windows::core::Result<CompositionStrokeCap> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionStrokeCap>();
(::windows::core::Interface::vtable(this).StrokeStartCap)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStrokeStartCap(&self, value: CompositionStrokeCap) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetStrokeStartCap)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StrokeThickness(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).StrokeThickness)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStrokeThickness(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetStrokeThickness)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionSpriteShape {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionSpriteShape {}
impl ::core::fmt::Debug for CompositionSpriteShape {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionSpriteShape").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionSpriteShape {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionSpriteShape;{401b61bb-0007-4363-b1f3-6bcc003fb83e})");
}
impl ::core::clone::Clone for CompositionSpriteShape {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionSpriteShape {
type Vtable = ICompositionSpriteShape_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionSpriteShape {
const IID: ::windows::core::GUID = <ICompositionSpriteShape as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionSpriteShape {
const NAME: &'static str = "Windows.UI.Composition.CompositionSpriteShape";
}
::windows::imp::interface_hierarchy!(CompositionSpriteShape, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionSpriteShape {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionSpriteShape {}
impl ::windows::core::CanTryInto<CompositionShape> for CompositionSpriteShape {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionSpriteShape {}
unsafe impl ::core::marker::Send for CompositionSpriteShape {}
unsafe impl ::core::marker::Sync for CompositionSpriteShape {}
#[doc = "*Required features: `\"UI_Composition\"`, `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
#[repr(transparent)]
pub struct CompositionStrokeDashArray(::windows::core::IUnknown);
#[cfg(feature = "Foundation_Collections")]
impl CompositionStrokeDashArray {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn First(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IIterator<f32>> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IIterable<f32>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IIterator<f32>>();
(::windows::core::Interface::vtable(this).First)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetAt(&self, index: u32) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).GetAt)(::windows::core::Interface::as_raw(this), index, &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Size(&self) -> ::windows::core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetView(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<f32>> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVectorView<f32>>();
(::windows::core::Interface::vtable(this).GetView)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn IndexOf(&self, value: f32, index: &mut u32) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IndexOf)(::windows::core::Interface::as_raw(this), value, index, &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn SetAt(&self, index: u32, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetAt)(::windows::core::Interface::as_raw(this), index, value).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InsertAt(&self, index: u32, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertAt)(::windows::core::Interface::as_raw(this), index, value).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn RemoveAt(&self, index: u32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveAt)(::windows::core::Interface::as_raw(this), index).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Append(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Append)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn RemoveAtEnd(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveAtEnd)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Clear(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Clear)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetMany(&self, startindex: u32, items: &mut [f32]) -> ::windows::core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(this).GetMany)(::windows::core::Interface::as_raw(this), startindex, items.len() as u32, items.as_mut_ptr(), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn ReplaceAll(&self, items: &[f32]) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReplaceAll)(::windows::core::Interface::as_raw(this), items.len() as u32, items.as_ptr()).ok() }
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::cmp::PartialEq for CompositionStrokeDashArray {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::cmp::Eq for CompositionStrokeDashArray {}
#[cfg(feature = "Foundation_Collections")]
impl ::core::fmt::Debug for CompositionStrokeDashArray {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionStrokeDashArray").field(&self.0).finish()
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::RuntimeType for CompositionStrokeDashArray {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionStrokeDashArray;pinterface({913337e9-11a1-4345-a3a2-4e7f956e222d};f4))");
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::clone::Clone for CompositionStrokeDashArray {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Foundation_Collections")]
unsafe impl ::windows::core::Interface for CompositionStrokeDashArray {
type Vtable = super::super::Foundation::Collections::IVector_Vtbl<f32>;
}
#[cfg(feature = "Foundation_Collections")]
unsafe impl ::windows::core::ComInterface for CompositionStrokeDashArray {
const IID: ::windows::core::GUID = <super::super::Foundation::Collections::IVector<f32> as ::windows::core::ComInterface>::IID;
}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::RuntimeName for CompositionStrokeDashArray {
const NAME: &'static str = "Windows.UI.Composition.CompositionStrokeDashArray";
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for CompositionStrokeDashArray {
type Item = f32;
type IntoIter = super::super::Foundation::Collections::VectorIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
::core::iter::IntoIterator::into_iter(&self)
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for &CompositionStrokeDashArray {
type Item = f32;
type IntoIter = super::super::Foundation::Collections::VectorIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
super::super::Foundation::Collections::VectorIterator::new(::windows::core::ComInterface::cast(self).ok())
}
}
#[cfg(feature = "Foundation_Collections")]
::windows::imp::interface_hierarchy!(CompositionStrokeDashArray, ::windows::core::IUnknown, ::windows::core::IInspectable);
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionStrokeDashArray {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionStrokeDashArray {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::Collections::IIterable<f32>> for CompositionStrokeDashArray {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::Collections::IVector<f32>> for CompositionStrokeDashArray {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<CompositionObject> for CompositionStrokeDashArray {}
#[cfg(feature = "Foundation_Collections")]
unsafe impl ::core::marker::Send for CompositionStrokeDashArray {}
#[cfg(feature = "Foundation_Collections")]
unsafe impl ::core::marker::Sync for CompositionStrokeDashArray {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionSurfaceBrush(::windows::core::IUnknown);
impl CompositionSurfaceBrush {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn BitmapInterpolationMode(&self) -> ::windows::core::Result<CompositionBitmapInterpolationMode> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBitmapInterpolationMode>();
(::windows::core::Interface::vtable(this).BitmapInterpolationMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBitmapInterpolationMode(&self, value: CompositionBitmapInterpolationMode) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetBitmapInterpolationMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn HorizontalAlignmentRatio(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).HorizontalAlignmentRatio)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetHorizontalAlignmentRatio(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetHorizontalAlignmentRatio)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Stretch(&self) -> ::windows::core::Result<CompositionStretch> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionStretch>();
(::windows::core::Interface::vtable(this).Stretch)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStretch(&self, value: CompositionStretch) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetStretch)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Surface(&self) -> ::windows::core::Result<ICompositionSurface> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<ICompositionSurface>();
(::windows::core::Interface::vtable(this).Surface)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetSurface<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionSurface>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetSurface)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn VerticalAlignmentRatio(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).VerticalAlignmentRatio)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetVerticalAlignmentRatio(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetVerticalAlignmentRatio)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn AnchorPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionSurfaceBrush2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).AnchorPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetAnchorPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionSurfaceBrush2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetAnchorPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionSurfaceBrush2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionSurfaceBrush2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionSurfaceBrush2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionSurfaceBrush2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionSurfaceBrush2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionSurfaceBrush2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionSurfaceBrush2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionSurfaceBrush2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionSurfaceBrush2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionSurfaceBrush2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix3x2> {
let this = &::windows::core::ComInterface::cast::<ICompositionSurfaceBrush2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix3x2>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionSurfaceBrush2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn SnapToPixels(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<ICompositionSurfaceBrush3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).SnapToPixels)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetSnapToPixels(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionSurfaceBrush3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetSnapToPixels)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionSurfaceBrush {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionSurfaceBrush {}
impl ::core::fmt::Debug for CompositionSurfaceBrush {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionSurfaceBrush").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionSurfaceBrush {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionSurfaceBrush;{ad016d79-1e4c-4c0d-9c29-83338c87c162})");
}
impl ::core::clone::Clone for CompositionSurfaceBrush {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionSurfaceBrush {
type Vtable = ICompositionSurfaceBrush_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionSurfaceBrush {
const IID: ::windows::core::GUID = <ICompositionSurfaceBrush as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionSurfaceBrush {
const NAME: &'static str = "Windows.UI.Composition.CompositionSurfaceBrush";
}
::windows::imp::interface_hierarchy!(CompositionSurfaceBrush, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionSurfaceBrush {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionSurfaceBrush {}
impl ::windows::core::CanTryInto<CompositionBrush> for CompositionSurfaceBrush {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionSurfaceBrush {}
unsafe impl ::core::marker::Send for CompositionSurfaceBrush {}
unsafe impl ::core::marker::Sync for CompositionSurfaceBrush {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionTarget(::windows::core::IUnknown);
impl CompositionTarget {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Root(&self) -> ::windows::core::Result<Visual> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<Visual>();
(::windows::core::Interface::vtable(this).Root)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRoot<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetRoot)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionTarget {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionTarget {}
impl ::core::fmt::Debug for CompositionTarget {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionTarget").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionTarget {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionTarget;{a1bea8ba-d726-4663-8129-6b5e7927ffa6})");
}
impl ::core::clone::Clone for CompositionTarget {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionTarget {
type Vtable = ICompositionTarget_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionTarget {
const IID: ::windows::core::GUID = <ICompositionTarget as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionTarget {
const NAME: &'static str = "Windows.UI.Composition.CompositionTarget";
}
::windows::imp::interface_hierarchy!(CompositionTarget, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionTarget {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionTarget {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionTarget {}
unsafe impl ::core::marker::Send for CompositionTarget {}
unsafe impl ::core::marker::Sync for CompositionTarget {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionTransform(::windows::core::IUnknown);
impl CompositionTransform {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionTransform {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionTransform {}
impl ::core::fmt::Debug for CompositionTransform {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionTransform").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionTransform {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionTransform;{7cd54529-fbed-4112-abc5-185906dd927c})");
}
impl ::core::clone::Clone for CompositionTransform {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionTransform {
type Vtable = ICompositionTransform_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionTransform {
const IID: ::windows::core::GUID = <ICompositionTransform as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionTransform {
const NAME: &'static str = "Windows.UI.Composition.CompositionTransform";
}
::windows::imp::interface_hierarchy!(CompositionTransform, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionTransform {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionTransform {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionTransform {}
unsafe impl ::core::marker::Send for CompositionTransform {}
unsafe impl ::core::marker::Sync for CompositionTransform {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionViewBox(::windows::core::IUnknown);
impl CompositionViewBox {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn HorizontalAlignmentRatio(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).HorizontalAlignmentRatio)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetHorizontalAlignmentRatio(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetHorizontalAlignmentRatio)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Size(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetSize(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetSize)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Stretch(&self) -> ::windows::core::Result<CompositionStretch> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionStretch>();
(::windows::core::Interface::vtable(this).Stretch)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStretch(&self, value: CompositionStretch) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetStretch)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn VerticalAlignmentRatio(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).VerticalAlignmentRatio)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetVerticalAlignmentRatio(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetVerticalAlignmentRatio)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionViewBox {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionViewBox {}
impl ::core::fmt::Debug for CompositionViewBox {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionViewBox").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionViewBox {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionViewBox;{b440bf07-068f-4537-84c6-4ecbe019e1f4})");
}
impl ::core::clone::Clone for CompositionViewBox {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionViewBox {
type Vtable = ICompositionViewBox_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionViewBox {
const IID: ::windows::core::GUID = <ICompositionViewBox as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionViewBox {
const NAME: &'static str = "Windows.UI.Composition.CompositionViewBox";
}
::windows::imp::interface_hierarchy!(CompositionViewBox, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionViewBox {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionViewBox {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionViewBox {}
unsafe impl ::core::marker::Send for CompositionViewBox {}
unsafe impl ::core::marker::Sync for CompositionViewBox {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionVirtualDrawingSurface(::windows::core::IUnknown);
impl CompositionVirtualDrawingSurface {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Graphics_DirectX\"`*"]
#[cfg(feature = "Graphics_DirectX")]
pub fn AlphaMode(&self) -> ::windows::core::Result<super::super::Graphics::DirectX::DirectXAlphaMode> {
let this = &::windows::core::ComInterface::cast::<ICompositionDrawingSurface>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::DirectX::DirectXAlphaMode>();
(::windows::core::Interface::vtable(this).AlphaMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Graphics_DirectX\"`*"]
#[cfg(feature = "Graphics_DirectX")]
pub fn PixelFormat(&self) -> ::windows::core::Result<super::super::Graphics::DirectX::DirectXPixelFormat> {
let this = &::windows::core::ComInterface::cast::<ICompositionDrawingSurface>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::DirectX::DirectXPixelFormat>();
(::windows::core::Interface::vtable(this).PixelFormat)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Size(&self) -> ::windows::core::Result<super::super::Foundation::Size> {
let this = &::windows::core::ComInterface::cast::<ICompositionDrawingSurface>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Size>();
(::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Graphics\"`*"]
#[cfg(feature = "Graphics")]
pub fn SizeInt32(&self) -> ::windows::core::Result<super::super::Graphics::SizeInt32> {
let this = &::windows::core::ComInterface::cast::<ICompositionDrawingSurface2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::SizeInt32>();
(::windows::core::Interface::vtable(this).SizeInt32)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Graphics\"`*"]
#[cfg(feature = "Graphics")]
pub fn Resize(&self, sizepixels: super::super::Graphics::SizeInt32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionDrawingSurface2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Resize)(::windows::core::Interface::as_raw(this), sizepixels).ok() }
}
#[doc = "*Required features: `\"Graphics\"`*"]
#[cfg(feature = "Graphics")]
pub fn Scroll(&self, offset: super::super::Graphics::PointInt32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionDrawingSurface2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Scroll)(::windows::core::Interface::as_raw(this), offset).ok() }
}
#[doc = "*Required features: `\"Graphics\"`*"]
#[cfg(feature = "Graphics")]
pub fn ScrollRect(&self, offset: super::super::Graphics::PointInt32, scrollrect: super::super::Graphics::RectInt32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionDrawingSurface2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ScrollRect)(::windows::core::Interface::as_raw(this), offset, scrollrect).ok() }
}
#[doc = "*Required features: `\"Graphics\"`*"]
#[cfg(feature = "Graphics")]
pub fn ScrollWithClip(&self, offset: super::super::Graphics::PointInt32, cliprect: super::super::Graphics::RectInt32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionDrawingSurface2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ScrollWithClip)(::windows::core::Interface::as_raw(this), offset, cliprect).ok() }
}
#[doc = "*Required features: `\"Graphics\"`*"]
#[cfg(feature = "Graphics")]
pub fn ScrollRectWithClip(&self, offset: super::super::Graphics::PointInt32, cliprect: super::super::Graphics::RectInt32, scrollrect: super::super::Graphics::RectInt32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionDrawingSurface2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ScrollRectWithClip)(::windows::core::Interface::as_raw(this), offset, cliprect, scrollrect).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Graphics\"`*"]
#[cfg(feature = "Graphics")]
pub fn Trim(&self, rects: &[super::super::Graphics::RectInt32]) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Trim)(::windows::core::Interface::as_raw(this), rects.len() as u32, rects.as_ptr()).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionVirtualDrawingSurface {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionVirtualDrawingSurface {}
impl ::core::fmt::Debug for CompositionVirtualDrawingSurface {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionVirtualDrawingSurface").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionVirtualDrawingSurface {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionVirtualDrawingSurface;{a9c384db-8740-4f94-8b9d-b68521e7863d})");
}
impl ::core::clone::Clone for CompositionVirtualDrawingSurface {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionVirtualDrawingSurface {
type Vtable = ICompositionVirtualDrawingSurface_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionVirtualDrawingSurface {
const IID: ::windows::core::GUID = <ICompositionVirtualDrawingSurface as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionVirtualDrawingSurface {
const NAME: &'static str = "Windows.UI.Composition.CompositionVirtualDrawingSurface";
}
::windows::imp::interface_hierarchy!(CompositionVirtualDrawingSurface, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionVirtualDrawingSurface {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionVirtualDrawingSurface {}
impl ::windows::core::CanTryInto<ICompositionSurface> for CompositionVirtualDrawingSurface {}
impl ::windows::core::CanTryInto<CompositionDrawingSurface> for CompositionVirtualDrawingSurface {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionVirtualDrawingSurface {}
unsafe impl ::core::marker::Send for CompositionVirtualDrawingSurface {}
unsafe impl ::core::marker::Sync for CompositionVirtualDrawingSurface {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CompositionVisualSurface(::windows::core::IUnknown);
impl CompositionVisualSurface {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn SourceVisual(&self) -> ::windows::core::Result<Visual> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<Visual>();
(::windows::core::Interface::vtable(this).SourceVisual)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetSourceVisual<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetSourceVisual)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SourceOffset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).SourceOffset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetSourceOffset(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetSourceOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SourceSize(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).SourceSize)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetSourceSize(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetSourceSize)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for CompositionVisualSurface {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CompositionVisualSurface {}
impl ::core::fmt::Debug for CompositionVisualSurface {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionVisualSurface").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionVisualSurface {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionVisualSurface;{b224d803-4f6e-4a3f-8cae-3dc1cda74fc6})");
}
impl ::core::clone::Clone for CompositionVisualSurface {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CompositionVisualSurface {
type Vtable = ICompositionVisualSurface_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CompositionVisualSurface {
const IID: ::windows::core::GUID = <ICompositionVisualSurface as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CompositionVisualSurface {
const NAME: &'static str = "Windows.UI.Composition.CompositionVisualSurface";
}
::windows::imp::interface_hierarchy!(CompositionVisualSurface, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CompositionVisualSurface {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CompositionVisualSurface {}
impl ::windows::core::CanTryInto<ICompositionSurface> for CompositionVisualSurface {}
impl ::windows::core::CanTryInto<CompositionObject> for CompositionVisualSurface {}
unsafe impl ::core::marker::Send for CompositionVisualSurface {}
unsafe impl ::core::marker::Sync for CompositionVisualSurface {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct Compositor(::windows::core::IUnknown);
impl Compositor {
pub fn new() -> ::windows::core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::imp::FactoryCache<Compositor, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
SHARED.call(callback)
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn CreateColorKeyFrameAnimation(&self) -> ::windows::core::Result<ColorKeyFrameAnimation> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<ColorKeyFrameAnimation>();
(::windows::core::Interface::vtable(this).CreateColorKeyFrameAnimation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateColorBrush(&self) -> ::windows::core::Result<CompositionColorBrush> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionColorBrush>();
(::windows::core::Interface::vtable(this).CreateColorBrush)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateColorBrushWithColor(&self, color: super::Color) -> ::windows::core::Result<CompositionColorBrush> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionColorBrush>();
(::windows::core::Interface::vtable(this).CreateColorBrushWithColor)(::windows::core::Interface::as_raw(this), color, &mut result__).from_abi(result__)
}
}
pub fn CreateContainerVisual(&self) -> ::windows::core::Result<ContainerVisual> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<ContainerVisual>();
(::windows::core::Interface::vtable(this).CreateContainerVisual)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CreateCubicBezierEasingFunction(&self, controlpoint1: super::super::Foundation::Numerics::Vector2, controlpoint2: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<CubicBezierEasingFunction> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CubicBezierEasingFunction>();
(::windows::core::Interface::vtable(this).CreateCubicBezierEasingFunction)(::windows::core::Interface::as_raw(this), controlpoint1, controlpoint2, &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Graphics_Effects\"`*"]
#[cfg(feature = "Graphics_Effects")]
pub fn CreateEffectFactory<P0>(&self, graphicseffect: P0) -> ::windows::core::Result<CompositionEffectFactory>
where
P0: ::windows::core::TryIntoParam<super::super::Graphics::Effects::IGraphicsEffect>,
{
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionEffectFactory>();
(::windows::core::Interface::vtable(this).CreateEffectFactory)(::windows::core::Interface::as_raw(this), graphicseffect.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`, `\"Graphics_Effects\"`*"]
#[cfg(all(feature = "Foundation_Collections", feature = "Graphics_Effects"))]
pub fn CreateEffectFactoryWithProperties<P0, P1>(&self, graphicseffect: P0, animatableproperties: P1) -> ::windows::core::Result<CompositionEffectFactory>
where
P0: ::windows::core::TryIntoParam<super::super::Graphics::Effects::IGraphicsEffect>,
P1: ::windows::core::TryIntoParam<super::super::Foundation::Collections::IIterable<::windows::core::HSTRING>>,
{
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionEffectFactory>();
(::windows::core::Interface::vtable(this).CreateEffectFactoryWithProperties)(::windows::core::Interface::as_raw(this), graphicseffect.try_into_param()?.abi(), animatableproperties.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
pub fn CreateExpressionAnimation(&self) -> ::windows::core::Result<ExpressionAnimation> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<ExpressionAnimation>();
(::windows::core::Interface::vtable(this).CreateExpressionAnimation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateExpressionAnimationWithExpression(&self, expression: &::windows::core::HSTRING) -> ::windows::core::Result<ExpressionAnimation> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<ExpressionAnimation>();
(::windows::core::Interface::vtable(this).CreateExpressionAnimationWithExpression)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(expression), &mut result__).from_abi(result__)
}
}
pub fn CreateInsetClip(&self) -> ::windows::core::Result<InsetClip> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<InsetClip>();
(::windows::core::Interface::vtable(this).CreateInsetClip)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateInsetClipWithInsets(&self, leftinset: f32, topinset: f32, rightinset: f32, bottominset: f32) -> ::windows::core::Result<InsetClip> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<InsetClip>();
(::windows::core::Interface::vtable(this).CreateInsetClipWithInsets)(::windows::core::Interface::as_raw(this), leftinset, topinset, rightinset, bottominset, &mut result__).from_abi(result__)
}
}
pub fn CreateLinearEasingFunction(&self) -> ::windows::core::Result<LinearEasingFunction> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<LinearEasingFunction>();
(::windows::core::Interface::vtable(this).CreateLinearEasingFunction)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreatePropertySet(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).CreatePropertySet)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateQuaternionKeyFrameAnimation(&self) -> ::windows::core::Result<QuaternionKeyFrameAnimation> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<QuaternionKeyFrameAnimation>();
(::windows::core::Interface::vtable(this).CreateQuaternionKeyFrameAnimation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateScalarKeyFrameAnimation(&self) -> ::windows::core::Result<ScalarKeyFrameAnimation> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<ScalarKeyFrameAnimation>();
(::windows::core::Interface::vtable(this).CreateScalarKeyFrameAnimation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateScopedBatch(&self, batchtype: CompositionBatchTypes) -> ::windows::core::Result<CompositionScopedBatch> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionScopedBatch>();
(::windows::core::Interface::vtable(this).CreateScopedBatch)(::windows::core::Interface::as_raw(this), batchtype, &mut result__).from_abi(result__)
}
}
pub fn CreateSpriteVisual(&self) -> ::windows::core::Result<SpriteVisual> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<SpriteVisual>();
(::windows::core::Interface::vtable(this).CreateSpriteVisual)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateSurfaceBrush(&self) -> ::windows::core::Result<CompositionSurfaceBrush> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionSurfaceBrush>();
(::windows::core::Interface::vtable(this).CreateSurfaceBrush)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateSurfaceBrushWithSurface<P0>(&self, surface: P0) -> ::windows::core::Result<CompositionSurfaceBrush>
where
P0: ::windows::core::TryIntoParam<ICompositionSurface>,
{
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionSurfaceBrush>();
(::windows::core::Interface::vtable(this).CreateSurfaceBrushWithSurface)(::windows::core::Interface::as_raw(this), surface.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
pub fn CreateTargetForCurrentView(&self) -> ::windows::core::Result<CompositionTarget> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionTarget>();
(::windows::core::Interface::vtable(this).CreateTargetForCurrentView)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateVector2KeyFrameAnimation(&self) -> ::windows::core::Result<Vector2KeyFrameAnimation> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<Vector2KeyFrameAnimation>();
(::windows::core::Interface::vtable(this).CreateVector2KeyFrameAnimation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateVector3KeyFrameAnimation(&self) -> ::windows::core::Result<Vector3KeyFrameAnimation> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<Vector3KeyFrameAnimation>();
(::windows::core::Interface::vtable(this).CreateVector3KeyFrameAnimation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateVector4KeyFrameAnimation(&self) -> ::windows::core::Result<Vector4KeyFrameAnimation> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<Vector4KeyFrameAnimation>();
(::windows::core::Interface::vtable(this).CreateVector4KeyFrameAnimation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn GetCommitBatch(&self, batchtype: CompositionBatchTypes) -> ::windows::core::Result<CompositionCommitBatch> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionCommitBatch>();
(::windows::core::Interface::vtable(this).GetCommitBatch)(::windows::core::Interface::as_raw(this), batchtype, &mut result__).from_abi(result__)
}
}
pub fn CreateAmbientLight(&self) -> ::windows::core::Result<AmbientLight> {
let this = &::windows::core::ComInterface::cast::<ICompositor2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AmbientLight>();
(::windows::core::Interface::vtable(this).CreateAmbientLight)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateAnimationGroup(&self) -> ::windows::core::Result<CompositionAnimationGroup> {
let this = &::windows::core::ComInterface::cast::<ICompositor2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionAnimationGroup>();
(::windows::core::Interface::vtable(this).CreateAnimationGroup)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateBackdropBrush(&self) -> ::windows::core::Result<CompositionBackdropBrush> {
let this = &::windows::core::ComInterface::cast::<ICompositor2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBackdropBrush>();
(::windows::core::Interface::vtable(this).CreateBackdropBrush)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateDistantLight(&self) -> ::windows::core::Result<DistantLight> {
let this = &::windows::core::ComInterface::cast::<ICompositor2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<DistantLight>();
(::windows::core::Interface::vtable(this).CreateDistantLight)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateDropShadow(&self) -> ::windows::core::Result<DropShadow> {
let this = &::windows::core::ComInterface::cast::<ICompositor2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<DropShadow>();
(::windows::core::Interface::vtable(this).CreateDropShadow)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateImplicitAnimationCollection(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositor2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).CreateImplicitAnimationCollection)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateLayerVisual(&self) -> ::windows::core::Result<LayerVisual> {
let this = &::windows::core::ComInterface::cast::<ICompositor2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<LayerVisual>();
(::windows::core::Interface::vtable(this).CreateLayerVisual)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateMaskBrush(&self) -> ::windows::core::Result<CompositionMaskBrush> {
let this = &::windows::core::ComInterface::cast::<ICompositor2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionMaskBrush>();
(::windows::core::Interface::vtable(this).CreateMaskBrush)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateNineGridBrush(&self) -> ::windows::core::Result<CompositionNineGridBrush> {
let this = &::windows::core::ComInterface::cast::<ICompositor2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionNineGridBrush>();
(::windows::core::Interface::vtable(this).CreateNineGridBrush)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreatePointLight(&self) -> ::windows::core::Result<PointLight> {
let this = &::windows::core::ComInterface::cast::<ICompositor2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<PointLight>();
(::windows::core::Interface::vtable(this).CreatePointLight)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateSpotLight(&self) -> ::windows::core::Result<SpotLight> {
let this = &::windows::core::ComInterface::cast::<ICompositor2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<SpotLight>();
(::windows::core::Interface::vtable(this).CreateSpotLight)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateStepEasingFunction(&self) -> ::windows::core::Result<StepEasingFunction> {
let this = &::windows::core::ComInterface::cast::<ICompositor2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<StepEasingFunction>();
(::windows::core::Interface::vtable(this).CreateStepEasingFunction)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateStepEasingFunctionWithStepCount(&self, stepcount: i32) -> ::windows::core::Result<StepEasingFunction> {
let this = &::windows::core::ComInterface::cast::<ICompositor2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<StepEasingFunction>();
(::windows::core::Interface::vtable(this).CreateStepEasingFunctionWithStepCount)(::windows::core::Interface::as_raw(this), stepcount, &mut result__).from_abi(result__)
}
}
pub fn CreateHostBackdropBrush(&self) -> ::windows::core::Result<CompositionBackdropBrush> {
let this = &::windows::core::ComInterface::cast::<ICompositor3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBackdropBrush>();
(::windows::core::Interface::vtable(this).CreateHostBackdropBrush)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateColorGradientStop(&self) -> ::windows::core::Result<CompositionColorGradientStop> {
let this = &::windows::core::ComInterface::cast::<ICompositor4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionColorGradientStop>();
(::windows::core::Interface::vtable(this).CreateColorGradientStop)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateColorGradientStopWithOffsetAndColor(&self, offset: f32, color: super::Color) -> ::windows::core::Result<CompositionColorGradientStop> {
let this = &::windows::core::ComInterface::cast::<ICompositor4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionColorGradientStop>();
(::windows::core::Interface::vtable(this).CreateColorGradientStopWithOffsetAndColor)(::windows::core::Interface::as_raw(this), offset, color, &mut result__).from_abi(result__)
}
}
pub fn CreateLinearGradientBrush(&self) -> ::windows::core::Result<CompositionLinearGradientBrush> {
let this = &::windows::core::ComInterface::cast::<ICompositor4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionLinearGradientBrush>();
(::windows::core::Interface::vtable(this).CreateLinearGradientBrush)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateSpringScalarAnimation(&self) -> ::windows::core::Result<SpringScalarNaturalMotionAnimation> {
let this = &::windows::core::ComInterface::cast::<ICompositor4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<SpringScalarNaturalMotionAnimation>();
(::windows::core::Interface::vtable(this).CreateSpringScalarAnimation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateSpringVector2Animation(&self) -> ::windows::core::Result<SpringVector2NaturalMotionAnimation> {
let this = &::windows::core::ComInterface::cast::<ICompositor4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<SpringVector2NaturalMotionAnimation>();
(::windows::core::Interface::vtable(this).CreateSpringVector2Animation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateSpringVector3Animation(&self) -> ::windows::core::Result<SpringVector3NaturalMotionAnimation> {
let this = &::windows::core::ComInterface::cast::<ICompositor4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<SpringVector3NaturalMotionAnimation>();
(::windows::core::Interface::vtable(this).CreateSpringVector3Animation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn GlobalPlaybackRate(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).GlobalPlaybackRate)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetGlobalPlaybackRate(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetGlobalPlaybackRate)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn CreateBounceScalarAnimation(&self) -> ::windows::core::Result<BounceScalarNaturalMotionAnimation> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<BounceScalarNaturalMotionAnimation>();
(::windows::core::Interface::vtable(this).CreateBounceScalarAnimation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateBounceVector2Animation(&self) -> ::windows::core::Result<BounceVector2NaturalMotionAnimation> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<BounceVector2NaturalMotionAnimation>();
(::windows::core::Interface::vtable(this).CreateBounceVector2Animation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateBounceVector3Animation(&self) -> ::windows::core::Result<BounceVector3NaturalMotionAnimation> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<BounceVector3NaturalMotionAnimation>();
(::windows::core::Interface::vtable(this).CreateBounceVector3Animation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateContainerShape(&self) -> ::windows::core::Result<CompositionContainerShape> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionContainerShape>();
(::windows::core::Interface::vtable(this).CreateContainerShape)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateEllipseGeometry(&self) -> ::windows::core::Result<CompositionEllipseGeometry> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionEllipseGeometry>();
(::windows::core::Interface::vtable(this).CreateEllipseGeometry)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateLineGeometry(&self) -> ::windows::core::Result<CompositionLineGeometry> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionLineGeometry>();
(::windows::core::Interface::vtable(this).CreateLineGeometry)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreatePathGeometry(&self) -> ::windows::core::Result<CompositionPathGeometry> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPathGeometry>();
(::windows::core::Interface::vtable(this).CreatePathGeometry)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreatePathGeometryWithPath(&self, path: &CompositionPath) -> ::windows::core::Result<CompositionPathGeometry> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPathGeometry>();
(::windows::core::Interface::vtable(this).CreatePathGeometryWithPath)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(path), &mut result__).from_abi(result__)
}
}
pub fn CreatePathKeyFrameAnimation(&self) -> ::windows::core::Result<PathKeyFrameAnimation> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<PathKeyFrameAnimation>();
(::windows::core::Interface::vtable(this).CreatePathKeyFrameAnimation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateRectangleGeometry(&self) -> ::windows::core::Result<CompositionRectangleGeometry> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionRectangleGeometry>();
(::windows::core::Interface::vtable(this).CreateRectangleGeometry)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateRoundedRectangleGeometry(&self) -> ::windows::core::Result<CompositionRoundedRectangleGeometry> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionRoundedRectangleGeometry>();
(::windows::core::Interface::vtable(this).CreateRoundedRectangleGeometry)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateShapeVisual(&self) -> ::windows::core::Result<ShapeVisual> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ShapeVisual>();
(::windows::core::Interface::vtable(this).CreateShapeVisual)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateSpriteShape(&self) -> ::windows::core::Result<CompositionSpriteShape> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionSpriteShape>();
(::windows::core::Interface::vtable(this).CreateSpriteShape)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateSpriteShapeWithGeometry<P0>(&self, geometry: P0) -> ::windows::core::Result<CompositionSpriteShape>
where
P0: ::windows::core::TryIntoParam<CompositionGeometry>,
{
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionSpriteShape>();
(::windows::core::Interface::vtable(this).CreateSpriteShapeWithGeometry)(::windows::core::Interface::as_raw(this), geometry.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
pub fn CreateViewBox(&self) -> ::windows::core::Result<CompositionViewBox> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionViewBox>();
(::windows::core::Interface::vtable(this).CreateViewBox)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RequestCommitAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
let this = &::windows::core::ComInterface::cast::<ICompositor5>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
(::windows::core::Interface::vtable(this).RequestCommitAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateGeometricClip(&self) -> ::windows::core::Result<CompositionGeometricClip> {
let this = &::windows::core::ComInterface::cast::<ICompositor6>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionGeometricClip>();
(::windows::core::Interface::vtable(this).CreateGeometricClip)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateGeometricClipWithGeometry<P0>(&self, geometry: P0) -> ::windows::core::Result<CompositionGeometricClip>
where
P0: ::windows::core::TryIntoParam<CompositionGeometry>,
{
let this = &::windows::core::ComInterface::cast::<ICompositor6>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionGeometricClip>();
(::windows::core::Interface::vtable(this).CreateGeometricClipWithGeometry)(::windows::core::Interface::as_raw(this), geometry.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
pub fn CreateRedirectVisual(&self) -> ::windows::core::Result<RedirectVisual> {
let this = &::windows::core::ComInterface::cast::<ICompositor6>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<RedirectVisual>();
(::windows::core::Interface::vtable(this).CreateRedirectVisual)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateRedirectVisualWithSourceVisual<P0>(&self, source: P0) -> ::windows::core::Result<RedirectVisual>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = &::windows::core::ComInterface::cast::<ICompositor6>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<RedirectVisual>();
(::windows::core::Interface::vtable(this).CreateRedirectVisualWithSourceVisual)(::windows::core::Interface::as_raw(this), source.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
pub fn CreateBooleanKeyFrameAnimation(&self) -> ::windows::core::Result<BooleanKeyFrameAnimation> {
let this = &::windows::core::ComInterface::cast::<ICompositor6>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<BooleanKeyFrameAnimation>();
(::windows::core::Interface::vtable(this).CreateBooleanKeyFrameAnimation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositor7>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateAnimationPropertyInfo(&self) -> ::windows::core::Result<AnimationPropertyInfo> {
let this = &::windows::core::ComInterface::cast::<ICompositor7>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationPropertyInfo>();
(::windows::core::Interface::vtable(this).CreateAnimationPropertyInfo)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateRectangleClip(&self) -> ::windows::core::Result<RectangleClip> {
let this = &::windows::core::ComInterface::cast::<ICompositor7>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<RectangleClip>();
(::windows::core::Interface::vtable(this).CreateRectangleClip)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateRectangleClipWithSides(&self, left: f32, top: f32, right: f32, bottom: f32) -> ::windows::core::Result<RectangleClip> {
let this = &::windows::core::ComInterface::cast::<ICompositor7>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<RectangleClip>();
(::windows::core::Interface::vtable(this).CreateRectangleClipWithSides)(::windows::core::Interface::as_raw(this), left, top, right, bottom, &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CreateRectangleClipWithSidesAndRadius(&self, left: f32, top: f32, right: f32, bottom: f32, topleftradius: super::super::Foundation::Numerics::Vector2, toprightradius: super::super::Foundation::Numerics::Vector2, bottomrightradius: super::super::Foundation::Numerics::Vector2, bottomleftradius: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<RectangleClip> {
let this = &::windows::core::ComInterface::cast::<ICompositor7>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<RectangleClip>();
(::windows::core::Interface::vtable(this).CreateRectangleClipWithSidesAndRadius)(::windows::core::Interface::as_raw(this), left, top, right, bottom, topleftradius, toprightradius, bottomrightradius, bottomleftradius, &mut result__).from_abi(result__)
}
}
pub fn CreateAnimationController(&self) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositor8>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).CreateAnimationController)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn MaxGlobalPlaybackRate() -> ::windows::core::Result<f32> {
Self::ICompositorStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).MaxGlobalPlaybackRate)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
})
}
pub fn MinGlobalPlaybackRate() -> ::windows::core::Result<f32> {
Self::ICompositorStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).MinGlobalPlaybackRate)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
})
}
pub fn TryCreateBlurredWallpaperBackdropBrush(&self) -> ::windows::core::Result<CompositionBackdropBrush> {
let this = &::windows::core::ComInterface::cast::<ICompositorWithBlurredWallpaperBackdropBrush>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBackdropBrush>();
(::windows::core::Interface::vtable(this).TryCreateBlurredWallpaperBackdropBrush)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateProjectedShadowCaster(&self) -> ::windows::core::Result<CompositionProjectedShadowCaster> {
let this = &::windows::core::ComInterface::cast::<ICompositorWithProjectedShadow>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionProjectedShadowCaster>();
(::windows::core::Interface::vtable(this).CreateProjectedShadowCaster)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateProjectedShadow(&self) -> ::windows::core::Result<CompositionProjectedShadow> {
let this = &::windows::core::ComInterface::cast::<ICompositorWithProjectedShadow>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionProjectedShadow>();
(::windows::core::Interface::vtable(this).CreateProjectedShadow)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateProjectedShadowReceiver(&self) -> ::windows::core::Result<CompositionProjectedShadowReceiver> {
let this = &::windows::core::ComInterface::cast::<ICompositorWithProjectedShadow>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionProjectedShadowReceiver>();
(::windows::core::Interface::vtable(this).CreateProjectedShadowReceiver)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateRadialGradientBrush(&self) -> ::windows::core::Result<CompositionRadialGradientBrush> {
let this = &::windows::core::ComInterface::cast::<ICompositorWithRadialGradient>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionRadialGradientBrush>();
(::windows::core::Interface::vtable(this).CreateRadialGradientBrush)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateVisualSurface(&self) -> ::windows::core::Result<CompositionVisualSurface> {
let this = &::windows::core::ComInterface::cast::<ICompositorWithVisualSurface>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionVisualSurface>();
(::windows::core::Interface::vtable(this).CreateVisualSurface)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc(hidden)]
pub fn ICompositorStatics<R, F: FnOnce(&ICompositorStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::imp::FactoryCache<Compositor, ICompositorStatics> = ::windows::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::core::cmp::PartialEq for Compositor {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for Compositor {}
impl ::core::fmt::Debug for Compositor {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("Compositor").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for Compositor {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Compositor;{b403ca50-7f8c-4e83-985f-cc45060036d8})");
}
impl ::core::clone::Clone for Compositor {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for Compositor {
type Vtable = ICompositor_Vtbl;
}
unsafe impl ::windows::core::ComInterface for Compositor {
const IID: ::windows::core::GUID = <ICompositor as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for Compositor {
const NAME: &'static str = "Windows.UI.Composition.Compositor";
}
::windows::imp::interface_hierarchy!(Compositor, ::windows::core::IUnknown, ::windows::core::IInspectable);
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for Compositor {}
unsafe impl ::core::marker::Send for Compositor {}
unsafe impl ::core::marker::Sync for Compositor {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct ContainerVisual(::windows::core::IUnknown);
impl ContainerVisual {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Children(&self) -> ::windows::core::Result<VisualCollection> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<VisualCollection>();
(::windows::core::Interface::vtable(this).Children)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn AnchorPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).AnchorPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetAnchorPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetAnchorPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn BackfaceVisibility(&self) -> ::windows::core::Result<CompositionBackfaceVisibility> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBackfaceVisibility>();
(::windows::core::Interface::vtable(this).BackfaceVisibility)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBackfaceVisibility)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn BorderMode(&self) -> ::windows::core::Result<CompositionBorderMode> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBorderMode>();
(::windows::core::Interface::vtable(this).BorderMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBorderMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Clip(&self) -> ::windows::core::Result<CompositionClip> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionClip>();
(::windows::core::Interface::vtable(this).Clip)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetClip<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionClip>,
{
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetClip)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn CompositeMode(&self) -> ::windows::core::Result<CompositionCompositeMode> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionCompositeMode>();
(::windows::core::Interface::vtable(this).CompositeMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCompositeMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsVisible(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsVisible)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsVisible(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsVisible)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Opacity(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Opacity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetOpacity(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOpacity)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Orientation(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Quaternion> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Quaternion>();
(::windows::core::Interface::vtable(this).Orientation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOrientation(&self, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOrientation)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Parent(&self) -> ::windows::core::Result<ContainerVisual> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ContainerVisual>();
(::windows::core::Interface::vtable(this).Parent)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RotationAxis(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).RotationAxis)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRotationAxis(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAxis)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Size(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetSize(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetSize)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix4x4> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix4x4>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn ParentForTransform(&self) -> ::windows::core::Result<Visual> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Visual>();
(::windows::core::Interface::vtable(this).ParentForTransform)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetParentForTransform<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetParentForTransform)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RelativeOffsetAdjustment(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRelativeOffsetAdjustment(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRelativeOffsetAdjustment)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RelativeSizeAdjustment(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).RelativeSizeAdjustment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRelativeSizeAdjustment(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRelativeSizeAdjustment)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsHitTestVisible(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsHitTestVisible)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsHitTestVisible)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsPixelSnappingEnabled(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsPixelSnappingEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for ContainerVisual {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ContainerVisual {}
impl ::core::fmt::Debug for ContainerVisual {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ContainerVisual").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for ContainerVisual {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ContainerVisual;{02f6bc74-ed20-4773-afe6-d49b4a93db32})");
}
impl ::core::clone::Clone for ContainerVisual {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for ContainerVisual {
type Vtable = IContainerVisual_Vtbl;
}
unsafe impl ::windows::core::ComInterface for ContainerVisual {
const IID: ::windows::core::GUID = <IContainerVisual as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for ContainerVisual {
const NAME: &'static str = "Windows.UI.Composition.ContainerVisual";
}
::windows::imp::interface_hierarchy!(ContainerVisual, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for ContainerVisual {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for ContainerVisual {}
impl ::windows::core::CanTryInto<Visual> for ContainerVisual {}
impl ::windows::core::CanTryInto<CompositionObject> for ContainerVisual {}
unsafe impl ::core::marker::Send for ContainerVisual {}
unsafe impl ::core::marker::Sync for ContainerVisual {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct CubicBezierEasingFunction(::windows::core::IUnknown);
impl CubicBezierEasingFunction {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn ControlPoint1(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).ControlPoint1)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn ControlPoint2(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).ControlPoint2)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::core::cmp::PartialEq for CubicBezierEasingFunction {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CubicBezierEasingFunction {}
impl ::core::fmt::Debug for CubicBezierEasingFunction {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CubicBezierEasingFunction").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CubicBezierEasingFunction {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CubicBezierEasingFunction;{32350666-c1e8-44f9-96b8-c98acf0ae698})");
}
impl ::core::clone::Clone for CubicBezierEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for CubicBezierEasingFunction {
type Vtable = ICubicBezierEasingFunction_Vtbl;
}
unsafe impl ::windows::core::ComInterface for CubicBezierEasingFunction {
const IID: ::windows::core::GUID = <ICubicBezierEasingFunction as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for CubicBezierEasingFunction {
const NAME: &'static str = "Windows.UI.Composition.CubicBezierEasingFunction";
}
::windows::imp::interface_hierarchy!(CubicBezierEasingFunction, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for CubicBezierEasingFunction {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CubicBezierEasingFunction {}
impl ::windows::core::CanTryInto<CompositionEasingFunction> for CubicBezierEasingFunction {}
impl ::windows::core::CanTryInto<CompositionObject> for CubicBezierEasingFunction {}
unsafe impl ::core::marker::Send for CubicBezierEasingFunction {}
unsafe impl ::core::marker::Sync for CubicBezierEasingFunction {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct DelegatedInkTrailVisual(::windows::core::IUnknown);
impl DelegatedInkTrailVisual {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn AddTrailPoints(&self, inkpoints: &[InkTrailPoint]) -> ::windows::core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(this).AddTrailPoints)(::windows::core::Interface::as_raw(this), inkpoints.len() as u32, inkpoints.as_ptr(), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn AddTrailPointsWithPrediction(&self, inkpoints: &[InkTrailPoint], predictedinkpoints: &[InkTrailPoint]) -> ::windows::core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(this).AddTrailPointsWithPrediction)(::windows::core::Interface::as_raw(this), inkpoints.len() as u32, inkpoints.as_ptr(), predictedinkpoints.len() as u32, predictedinkpoints.as_ptr(), &mut result__).from_abi(result__)
}
}
pub fn RemoveTrailPoints(&self, generationid: u32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveTrailPoints)(::windows::core::Interface::as_raw(this), generationid).ok() }
}
pub fn StartNewTrail(&self, color: super::Color) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).StartNewTrail)(::windows::core::Interface::as_raw(this), color).ok() }
}
pub fn Create(compositor: &Compositor) -> ::windows::core::Result<DelegatedInkTrailVisual> {
Self::IDelegatedInkTrailVisualStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<DelegatedInkTrailVisual>();
(::windows::core::Interface::vtable(this).Create)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(compositor), &mut result__).from_abi(result__)
})
}
pub fn CreateForSwapChain<P0>(compositor: &Compositor, swapchain: P0) -> ::windows::core::Result<DelegatedInkTrailVisual>
where
P0: ::windows::core::TryIntoParam<ICompositionSurface>,
{
Self::IDelegatedInkTrailVisualStatics(|this| unsafe {
let mut result__ = ::windows::core::zeroed::<DelegatedInkTrailVisual>();
(::windows::core::Interface::vtable(this).CreateForSwapChain)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(compositor), swapchain.try_into_param()?.abi(), &mut result__).from_abi(result__)
})
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn AnchorPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).AnchorPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetAnchorPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetAnchorPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn BackfaceVisibility(&self) -> ::windows::core::Result<CompositionBackfaceVisibility> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBackfaceVisibility>();
(::windows::core::Interface::vtable(this).BackfaceVisibility)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBackfaceVisibility)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn BorderMode(&self) -> ::windows::core::Result<CompositionBorderMode> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBorderMode>();
(::windows::core::Interface::vtable(this).BorderMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBorderMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Clip(&self) -> ::windows::core::Result<CompositionClip> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionClip>();
(::windows::core::Interface::vtable(this).Clip)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetClip<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionClip>,
{
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetClip)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn CompositeMode(&self) -> ::windows::core::Result<CompositionCompositeMode> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionCompositeMode>();
(::windows::core::Interface::vtable(this).CompositeMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCompositeMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsVisible(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsVisible)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsVisible(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsVisible)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Opacity(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Opacity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetOpacity(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOpacity)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Orientation(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Quaternion> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Quaternion>();
(::windows::core::Interface::vtable(this).Orientation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOrientation(&self, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOrientation)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Parent(&self) -> ::windows::core::Result<ContainerVisual> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ContainerVisual>();
(::windows::core::Interface::vtable(this).Parent)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RotationAxis(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).RotationAxis)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRotationAxis(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAxis)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Size(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetSize(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetSize)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix4x4> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix4x4>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn ParentForTransform(&self) -> ::windows::core::Result<Visual> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Visual>();
(::windows::core::Interface::vtable(this).ParentForTransform)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetParentForTransform<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetParentForTransform)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RelativeOffsetAdjustment(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRelativeOffsetAdjustment(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRelativeOffsetAdjustment)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RelativeSizeAdjustment(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).RelativeSizeAdjustment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRelativeSizeAdjustment(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRelativeSizeAdjustment)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsHitTestVisible(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsHitTestVisible)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsHitTestVisible)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsPixelSnappingEnabled(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsPixelSnappingEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc(hidden)]
pub fn IDelegatedInkTrailVisualStatics<R, F: FnOnce(&IDelegatedInkTrailVisualStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::imp::FactoryCache<DelegatedInkTrailVisual, IDelegatedInkTrailVisualStatics> = ::windows::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::core::cmp::PartialEq for DelegatedInkTrailVisual {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for DelegatedInkTrailVisual {}
impl ::core::fmt::Debug for DelegatedInkTrailVisual {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DelegatedInkTrailVisual").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for DelegatedInkTrailVisual {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.DelegatedInkTrailVisual;{856e60b1-e1ab-5b23-8e3d-d513f221c998})");
}
impl ::core::clone::Clone for DelegatedInkTrailVisual {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for DelegatedInkTrailVisual {
type Vtable = IDelegatedInkTrailVisual_Vtbl;
}
unsafe impl ::windows::core::ComInterface for DelegatedInkTrailVisual {
const IID: ::windows::core::GUID = <IDelegatedInkTrailVisual as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for DelegatedInkTrailVisual {
const NAME: &'static str = "Windows.UI.Composition.DelegatedInkTrailVisual";
}
::windows::imp::interface_hierarchy!(DelegatedInkTrailVisual, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for DelegatedInkTrailVisual {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for DelegatedInkTrailVisual {}
impl ::windows::core::CanTryInto<Visual> for DelegatedInkTrailVisual {}
impl ::windows::core::CanTryInto<CompositionObject> for DelegatedInkTrailVisual {}
unsafe impl ::core::marker::Send for DelegatedInkTrailVisual {}
unsafe impl ::core::marker::Sync for DelegatedInkTrailVisual {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct DistantLight(::windows::core::IUnknown);
impl DistantLight {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Targets(&self) -> ::windows::core::Result<VisualUnorderedCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<VisualUnorderedCollection>();
(::windows::core::Interface::vtable(this).Targets)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn ExclusionsFromTargets(&self) -> ::windows::core::Result<VisualUnorderedCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<VisualUnorderedCollection>();
(::windows::core::Interface::vtable(this).ExclusionsFromTargets)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsEnabled(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsEnabled(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Color(&self) -> ::windows::core::Result<super::Color> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Color>();
(::windows::core::Interface::vtable(this).Color)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetColor(&self, value: super::Color) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetColor)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn CoordinateSpace(&self) -> ::windows::core::Result<Visual> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<Visual>();
(::windows::core::Interface::vtable(this).CoordinateSpace)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetCoordinateSpace<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetCoordinateSpace)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Direction(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Direction)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetDirection(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetDirection)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Intensity(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IDistantLight2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Intensity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIntensity(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IDistantLight2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIntensity)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for DistantLight {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for DistantLight {}
impl ::core::fmt::Debug for DistantLight {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DistantLight").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for DistantLight {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.DistantLight;{318cfafc-5ce3-4b55-ab5d-07a00353ac99})");
}
impl ::core::clone::Clone for DistantLight {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for DistantLight {
type Vtable = IDistantLight_Vtbl;
}
unsafe impl ::windows::core::ComInterface for DistantLight {
const IID: ::windows::core::GUID = <IDistantLight as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for DistantLight {
const NAME: &'static str = "Windows.UI.Composition.DistantLight";
}
::windows::imp::interface_hierarchy!(DistantLight, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for DistantLight {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for DistantLight {}
impl ::windows::core::CanTryInto<CompositionLight> for DistantLight {}
impl ::windows::core::CanTryInto<CompositionObject> for DistantLight {}
unsafe impl ::core::marker::Send for DistantLight {}
unsafe impl ::core::marker::Sync for DistantLight {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct DropShadow(::windows::core::IUnknown);
impl DropShadow {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn BlurRadius(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).BlurRadius)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBlurRadius(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetBlurRadius)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Color(&self) -> ::windows::core::Result<super::Color> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Color>();
(::windows::core::Interface::vtable(this).Color)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetColor(&self, value: super::Color) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetColor)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Mask(&self) -> ::windows::core::Result<CompositionBrush> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBrush>();
(::windows::core::Interface::vtable(this).Mask)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetMask<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionBrush>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetMask)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Opacity(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Opacity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetOpacity(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetOpacity)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn SourcePolicy(&self) -> ::windows::core::Result<CompositionDropShadowSourcePolicy> {
let this = &::windows::core::ComInterface::cast::<IDropShadow2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionDropShadowSourcePolicy>();
(::windows::core::Interface::vtable(this).SourcePolicy)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetSourcePolicy(&self, value: CompositionDropShadowSourcePolicy) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IDropShadow2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetSourcePolicy)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for DropShadow {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for DropShadow {}
impl ::core::fmt::Debug for DropShadow {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DropShadow").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for DropShadow {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.DropShadow;{cb977c07-a154-4851-85e7-a8924c84fad8})");
}
impl ::core::clone::Clone for DropShadow {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for DropShadow {
type Vtable = IDropShadow_Vtbl;
}
unsafe impl ::windows::core::ComInterface for DropShadow {
const IID: ::windows::core::GUID = <IDropShadow as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for DropShadow {
const NAME: &'static str = "Windows.UI.Composition.DropShadow";
}
::windows::imp::interface_hierarchy!(DropShadow, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for DropShadow {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for DropShadow {}
impl ::windows::core::CanTryInto<CompositionShadow> for DropShadow {}
impl ::windows::core::CanTryInto<CompositionObject> for DropShadow {}
unsafe impl ::core::marker::Send for DropShadow {}
unsafe impl ::core::marker::Sync for DropShadow {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct ElasticEasingFunction(::windows::core::IUnknown);
impl ElasticEasingFunction {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Mode(&self) -> ::windows::core::Result<CompositionEasingFunctionMode> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionEasingFunctionMode>();
(::windows::core::Interface::vtable(this).Mode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Oscillations(&self) -> ::windows::core::Result<i32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).Oscillations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Springiness(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Springiness)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::core::cmp::PartialEq for ElasticEasingFunction {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ElasticEasingFunction {}
impl ::core::fmt::Debug for ElasticEasingFunction {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ElasticEasingFunction").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for ElasticEasingFunction {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ElasticEasingFunction;{66de6285-054e-5594-8475-c22cb51f1bd5})");
}
impl ::core::clone::Clone for ElasticEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for ElasticEasingFunction {
type Vtable = IElasticEasingFunction_Vtbl;
}
unsafe impl ::windows::core::ComInterface for ElasticEasingFunction {
const IID: ::windows::core::GUID = <IElasticEasingFunction as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for ElasticEasingFunction {
const NAME: &'static str = "Windows.UI.Composition.ElasticEasingFunction";
}
::windows::imp::interface_hierarchy!(ElasticEasingFunction, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for ElasticEasingFunction {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for ElasticEasingFunction {}
impl ::windows::core::CanTryInto<CompositionEasingFunction> for ElasticEasingFunction {}
impl ::windows::core::CanTryInto<CompositionObject> for ElasticEasingFunction {}
unsafe impl ::core::marker::Send for ElasticEasingFunction {}
unsafe impl ::core::marker::Sync for ElasticEasingFunction {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct ExponentialEasingFunction(::windows::core::IUnknown);
impl ExponentialEasingFunction {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Mode(&self) -> ::windows::core::Result<CompositionEasingFunctionMode> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionEasingFunctionMode>();
(::windows::core::Interface::vtable(this).Mode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Exponent(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Exponent)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::core::cmp::PartialEq for ExponentialEasingFunction {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ExponentialEasingFunction {}
impl ::core::fmt::Debug for ExponentialEasingFunction {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ExponentialEasingFunction").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for ExponentialEasingFunction {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ExponentialEasingFunction;{6f7d1a51-98d2-5638-a34a-00486554c750})");
}
impl ::core::clone::Clone for ExponentialEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for ExponentialEasingFunction {
type Vtable = IExponentialEasingFunction_Vtbl;
}
unsafe impl ::windows::core::ComInterface for ExponentialEasingFunction {
const IID: ::windows::core::GUID = <IExponentialEasingFunction as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for ExponentialEasingFunction {
const NAME: &'static str = "Windows.UI.Composition.ExponentialEasingFunction";
}
::windows::imp::interface_hierarchy!(ExponentialEasingFunction, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for ExponentialEasingFunction {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for ExponentialEasingFunction {}
impl ::windows::core::CanTryInto<CompositionEasingFunction> for ExponentialEasingFunction {}
impl ::windows::core::CanTryInto<CompositionObject> for ExponentialEasingFunction {}
unsafe impl ::core::marker::Send for ExponentialEasingFunction {}
unsafe impl ::core::marker::Sync for ExponentialEasingFunction {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct ExpressionAnimation(::windows::core::IUnknown);
impl ExpressionAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Expression(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Expression)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpression(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetExpression)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
}
impl ::core::cmp::PartialEq for ExpressionAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ExpressionAnimation {}
impl ::core::fmt::Debug for ExpressionAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ExpressionAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for ExpressionAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ExpressionAnimation;{6acc5431-7d3d-4bf3-abb6-f44bdc4888c1})");
}
impl ::core::clone::Clone for ExpressionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for ExpressionAnimation {
type Vtable = IExpressionAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for ExpressionAnimation {
const IID: ::windows::core::GUID = <IExpressionAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for ExpressionAnimation {
const NAME: &'static str = "Windows.UI.Composition.ExpressionAnimation";
}
::windows::imp::interface_hierarchy!(ExpressionAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for ExpressionAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for ExpressionAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for ExpressionAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for ExpressionAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for ExpressionAnimation {}
unsafe impl ::core::marker::Send for ExpressionAnimation {}
unsafe impl ::core::marker::Sync for ExpressionAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct ImplicitAnimationCollection(::windows::core::IUnknown);
impl ImplicitAnimationCollection {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn First(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IIterator<super::super::Foundation::Collections::IKeyValuePair<::windows::core::HSTRING, ICompositionAnimationBase>>> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::core::HSTRING, ICompositionAnimationBase>>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IIterator<super::super::Foundation::Collections::IKeyValuePair<::windows::core::HSTRING, ICompositionAnimationBase>>>();
(::windows::core::Interface::vtable(this).First)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Lookup(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<ICompositionAnimationBase> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IMap<::windows::core::HSTRING, ICompositionAnimationBase>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ICompositionAnimationBase>();
(::windows::core::Interface::vtable(this).Lookup)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Size(&self) -> ::windows::core::Result<u32> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IMap<::windows::core::HSTRING, ICompositionAnimationBase>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn HasKey(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IMap<::windows::core::HSTRING, ICompositionAnimationBase>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).HasKey)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetView(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IMapView<::windows::core::HSTRING, ICompositionAnimationBase>> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IMap<::windows::core::HSTRING, ICompositionAnimationBase>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IMapView<::windows::core::HSTRING, ICompositionAnimationBase>>();
(::windows::core::Interface::vtable(this).GetView)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Insert<P0>(&self, key: &::windows::core::HSTRING, value: P0) -> ::windows::core::Result<bool>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IMap<::windows::core::HSTRING, ICompositionAnimationBase>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).Insert)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Remove(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IMap<::windows::core::HSTRING, ICompositionAnimationBase>>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Remove)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Clear(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IMap<::windows::core::HSTRING, ICompositionAnimationBase>>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Clear)(::windows::core::Interface::as_raw(this)).ok() }
}
}
impl ::core::cmp::PartialEq for ImplicitAnimationCollection {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ImplicitAnimationCollection {}
impl ::core::fmt::Debug for ImplicitAnimationCollection {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ImplicitAnimationCollection").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for ImplicitAnimationCollection {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ImplicitAnimationCollection;{0598a3ff-0a92-4c9d-a427-b25519250dbf})");
}
impl ::core::clone::Clone for ImplicitAnimationCollection {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for ImplicitAnimationCollection {
type Vtable = IImplicitAnimationCollection_Vtbl;
}
unsafe impl ::windows::core::ComInterface for ImplicitAnimationCollection {
const IID: ::windows::core::GUID = <IImplicitAnimationCollection as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for ImplicitAnimationCollection {
const NAME: &'static str = "Windows.UI.Composition.ImplicitAnimationCollection";
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for ImplicitAnimationCollection {
type Item = super::super::Foundation::Collections::IKeyValuePair<::windows::core::HSTRING, ICompositionAnimationBase>;
type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
::core::iter::IntoIterator::into_iter(&self)
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for &ImplicitAnimationCollection {
type Item = super::super::Foundation::Collections::IKeyValuePair<::windows::core::HSTRING, ICompositionAnimationBase>;
type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
self.First().unwrap()
}
}
::windows::imp::interface_hierarchy!(ImplicitAnimationCollection, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for ImplicitAnimationCollection {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for ImplicitAnimationCollection {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::core::HSTRING, ICompositionAnimationBase>>> for ImplicitAnimationCollection {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::Collections::IMap<::windows::core::HSTRING, ICompositionAnimationBase>> for ImplicitAnimationCollection {}
impl ::windows::core::CanTryInto<CompositionObject> for ImplicitAnimationCollection {}
unsafe impl ::core::marker::Send for ImplicitAnimationCollection {}
unsafe impl ::core::marker::Sync for ImplicitAnimationCollection {}
#[doc = "*Required features: `\"UI_Composition\"`, `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
#[repr(transparent)]
pub struct InitialValueExpressionCollection(::windows::core::IUnknown);
#[cfg(feature = "Foundation_Collections")]
impl InitialValueExpressionCollection {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn First(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IIterator<super::super::Foundation::Collections::IKeyValuePair<::windows::core::HSTRING, ::windows::core::HSTRING>>> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::core::HSTRING, ::windows::core::HSTRING>>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IIterator<super::super::Foundation::Collections::IKeyValuePair<::windows::core::HSTRING, ::windows::core::HSTRING>>>();
(::windows::core::Interface::vtable(this).First)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Lookup(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Lookup)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Size(&self) -> ::windows::core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn HasKey(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).HasKey)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetView(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IMapView<::windows::core::HSTRING, ::windows::core::HSTRING>> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IMapView<::windows::core::HSTRING, ::windows::core::HSTRING>>();
(::windows::core::Interface::vtable(this).GetView)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Insert(&self, key: &::windows::core::HSTRING, value: &::windows::core::HSTRING) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).Insert)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Remove(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Remove)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Clear(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Clear)(::windows::core::Interface::as_raw(this)).ok() }
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::cmp::PartialEq for InitialValueExpressionCollection {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::cmp::Eq for InitialValueExpressionCollection {}
#[cfg(feature = "Foundation_Collections")]
impl ::core::fmt::Debug for InitialValueExpressionCollection {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("InitialValueExpressionCollection").field(&self.0).finish()
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::RuntimeType for InitialValueExpressionCollection {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.InitialValueExpressionCollection;pinterface({3c2925fe-8519-45c1-aa79-197b6718c1c1};string;string))");
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::clone::Clone for InitialValueExpressionCollection {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Foundation_Collections")]
unsafe impl ::windows::core::Interface for InitialValueExpressionCollection {
type Vtable = super::super::Foundation::Collections::IMap_Vtbl<::windows::core::HSTRING, ::windows::core::HSTRING>;
}
#[cfg(feature = "Foundation_Collections")]
unsafe impl ::windows::core::ComInterface for InitialValueExpressionCollection {
const IID: ::windows::core::GUID = <super::super::Foundation::Collections::IMap<::windows::core::HSTRING, ::windows::core::HSTRING> as ::windows::core::ComInterface>::IID;
}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::RuntimeName for InitialValueExpressionCollection {
const NAME: &'static str = "Windows.UI.Composition.InitialValueExpressionCollection";
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for InitialValueExpressionCollection {
type Item = super::super::Foundation::Collections::IKeyValuePair<::windows::core::HSTRING, ::windows::core::HSTRING>;
type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
::core::iter::IntoIterator::into_iter(&self)
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for &InitialValueExpressionCollection {
type Item = super::super::Foundation::Collections::IKeyValuePair<::windows::core::HSTRING, ::windows::core::HSTRING>;
type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
self.First().unwrap()
}
}
#[cfg(feature = "Foundation_Collections")]
::windows::imp::interface_hierarchy!(InitialValueExpressionCollection, ::windows::core::IUnknown, ::windows::core::IInspectable);
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<IAnimationObject> for InitialValueExpressionCollection {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for InitialValueExpressionCollection {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::core::HSTRING, ::windows::core::HSTRING>>> for InitialValueExpressionCollection {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::Collections::IMap<::windows::core::HSTRING, ::windows::core::HSTRING>> for InitialValueExpressionCollection {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<CompositionObject> for InitialValueExpressionCollection {}
#[cfg(feature = "Foundation_Collections")]
unsafe impl ::core::marker::Send for InitialValueExpressionCollection {}
#[cfg(feature = "Foundation_Collections")]
unsafe impl ::core::marker::Sync for InitialValueExpressionCollection {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct InsetClip(::windows::core::IUnknown);
impl InsetClip {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn AnchorPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).AnchorPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetAnchorPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetAnchorPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix3x2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix3x2>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn BottomInset(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).BottomInset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBottomInset(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetBottomInset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn LeftInset(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).LeftInset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetLeftInset(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetLeftInset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RightInset(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RightInset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRightInset(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetRightInset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn TopInset(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).TopInset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTopInset(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetTopInset)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for InsetClip {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for InsetClip {}
impl ::core::fmt::Debug for InsetClip {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("InsetClip").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for InsetClip {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.InsetClip;{1e73e647-84c7-477a-b474-5880e0442e15})");
}
impl ::core::clone::Clone for InsetClip {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for InsetClip {
type Vtable = IInsetClip_Vtbl;
}
unsafe impl ::windows::core::ComInterface for InsetClip {
const IID: ::windows::core::GUID = <IInsetClip as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for InsetClip {
const NAME: &'static str = "Windows.UI.Composition.InsetClip";
}
::windows::imp::interface_hierarchy!(InsetClip, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for InsetClip {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for InsetClip {}
impl ::windows::core::CanTryInto<CompositionClip> for InsetClip {}
impl ::windows::core::CanTryInto<CompositionObject> for InsetClip {}
unsafe impl ::core::marker::Send for InsetClip {}
unsafe impl ::core::marker::Sync for InsetClip {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct KeyFrameAnimation(::windows::core::IUnknown);
impl KeyFrameAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Duration(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).Duration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetDuration)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationBehavior(&self) -> ::windows::core::Result<AnimationIterationBehavior> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationIterationBehavior>();
(::windows::core::Interface::vtable(this).IterationBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetIterationBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationCount(&self) -> ::windows::core::Result<i32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).IterationCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationCount(&self, value: i32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetIterationCount)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn KeyFrameCount(&self) -> ::windows::core::Result<i32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).KeyFrameCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InsertExpressionKeyFrame(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrame)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value)).ok() }
}
pub fn InsertExpressionKeyFrameWithEasingFunction<P0>(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING, easingfunction: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionEasingFunction>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrameWithEasingFunction)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value), easingfunction.try_into_param()?.abi()).ok() }
}
pub fn Direction(&self) -> ::windows::core::Result<AnimationDirection> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDirection>();
(::windows::core::Interface::vtable(this).Direction)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDirection)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for KeyFrameAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for KeyFrameAnimation {}
impl ::core::fmt::Debug for KeyFrameAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("KeyFrameAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for KeyFrameAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.KeyFrameAnimation;{126e7f22-3ae9-4540-9a8a-deae8a4a4a84})");
}
impl ::core::clone::Clone for KeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for KeyFrameAnimation {
type Vtable = IKeyFrameAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for KeyFrameAnimation {
const IID: ::windows::core::GUID = <IKeyFrameAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for KeyFrameAnimation {
const NAME: &'static str = "Windows.UI.Composition.KeyFrameAnimation";
}
::windows::imp::interface_hierarchy!(KeyFrameAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for KeyFrameAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for KeyFrameAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for KeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for KeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for KeyFrameAnimation {}
unsafe impl ::core::marker::Send for KeyFrameAnimation {}
unsafe impl ::core::marker::Sync for KeyFrameAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct LayerVisual(::windows::core::IUnknown);
impl LayerVisual {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Children(&self) -> ::windows::core::Result<VisualCollection> {
let this = &::windows::core::ComInterface::cast::<IContainerVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<VisualCollection>();
(::windows::core::Interface::vtable(this).Children)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Effect(&self) -> ::windows::core::Result<CompositionEffectBrush> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionEffectBrush>();
(::windows::core::Interface::vtable(this).Effect)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetEffect(&self, value: &CompositionEffectBrush) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetEffect)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn Shadow(&self) -> ::windows::core::Result<CompositionShadow> {
let this = &::windows::core::ComInterface::cast::<ILayerVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionShadow>();
(::windows::core::Interface::vtable(this).Shadow)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetShadow<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionShadow>,
{
let this = &::windows::core::ComInterface::cast::<ILayerVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetShadow)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn AnchorPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).AnchorPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetAnchorPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetAnchorPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn BackfaceVisibility(&self) -> ::windows::core::Result<CompositionBackfaceVisibility> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBackfaceVisibility>();
(::windows::core::Interface::vtable(this).BackfaceVisibility)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBackfaceVisibility)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn BorderMode(&self) -> ::windows::core::Result<CompositionBorderMode> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBorderMode>();
(::windows::core::Interface::vtable(this).BorderMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBorderMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Clip(&self) -> ::windows::core::Result<CompositionClip> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionClip>();
(::windows::core::Interface::vtable(this).Clip)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetClip<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionClip>,
{
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetClip)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn CompositeMode(&self) -> ::windows::core::Result<CompositionCompositeMode> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionCompositeMode>();
(::windows::core::Interface::vtable(this).CompositeMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCompositeMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsVisible(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsVisible)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsVisible(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsVisible)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Opacity(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Opacity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetOpacity(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOpacity)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Orientation(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Quaternion> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Quaternion>();
(::windows::core::Interface::vtable(this).Orientation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOrientation(&self, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOrientation)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Parent(&self) -> ::windows::core::Result<ContainerVisual> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ContainerVisual>();
(::windows::core::Interface::vtable(this).Parent)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RotationAxis(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).RotationAxis)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRotationAxis(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAxis)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Size(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetSize(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetSize)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix4x4> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix4x4>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn ParentForTransform(&self) -> ::windows::core::Result<Visual> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Visual>();
(::windows::core::Interface::vtable(this).ParentForTransform)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetParentForTransform<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetParentForTransform)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RelativeOffsetAdjustment(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRelativeOffsetAdjustment(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRelativeOffsetAdjustment)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RelativeSizeAdjustment(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).RelativeSizeAdjustment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRelativeSizeAdjustment(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRelativeSizeAdjustment)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsHitTestVisible(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsHitTestVisible)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsHitTestVisible)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsPixelSnappingEnabled(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsPixelSnappingEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for LayerVisual {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for LayerVisual {}
impl ::core::fmt::Debug for LayerVisual {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("LayerVisual").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for LayerVisual {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.LayerVisual;{af843985-0444-4887-8e83-b40b253f822c})");
}
impl ::core::clone::Clone for LayerVisual {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for LayerVisual {
type Vtable = ILayerVisual_Vtbl;
}
unsafe impl ::windows::core::ComInterface for LayerVisual {
const IID: ::windows::core::GUID = <ILayerVisual as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for LayerVisual {
const NAME: &'static str = "Windows.UI.Composition.LayerVisual";
}
::windows::imp::interface_hierarchy!(LayerVisual, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for LayerVisual {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for LayerVisual {}
impl ::windows::core::CanTryInto<ContainerVisual> for LayerVisual {}
impl ::windows::core::CanTryInto<Visual> for LayerVisual {}
impl ::windows::core::CanTryInto<CompositionObject> for LayerVisual {}
unsafe impl ::core::marker::Send for LayerVisual {}
unsafe impl ::core::marker::Sync for LayerVisual {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct LinearEasingFunction(::windows::core::IUnknown);
impl LinearEasingFunction {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
}
impl ::core::cmp::PartialEq for LinearEasingFunction {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for LinearEasingFunction {}
impl ::core::fmt::Debug for LinearEasingFunction {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("LinearEasingFunction").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for LinearEasingFunction {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.LinearEasingFunction;{9400975a-c7a6-46b3-acf7-1a268a0a117d})");
}
impl ::core::clone::Clone for LinearEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for LinearEasingFunction {
type Vtable = ILinearEasingFunction_Vtbl;
}
unsafe impl ::windows::core::ComInterface for LinearEasingFunction {
const IID: ::windows::core::GUID = <ILinearEasingFunction as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for LinearEasingFunction {
const NAME: &'static str = "Windows.UI.Composition.LinearEasingFunction";
}
::windows::imp::interface_hierarchy!(LinearEasingFunction, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for LinearEasingFunction {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for LinearEasingFunction {}
impl ::windows::core::CanTryInto<CompositionEasingFunction> for LinearEasingFunction {}
impl ::windows::core::CanTryInto<CompositionObject> for LinearEasingFunction {}
unsafe impl ::core::marker::Send for LinearEasingFunction {}
unsafe impl ::core::marker::Sync for LinearEasingFunction {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct NaturalMotionAnimation(::windows::core::IUnknown);
impl NaturalMotionAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for NaturalMotionAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for NaturalMotionAnimation {}
impl ::core::fmt::Debug for NaturalMotionAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("NaturalMotionAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for NaturalMotionAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.NaturalMotionAnimation;{438de12d-769b-4821-a949-284a6547e873})");
}
impl ::core::clone::Clone for NaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for NaturalMotionAnimation {
type Vtable = INaturalMotionAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for NaturalMotionAnimation {
const IID: ::windows::core::GUID = <INaturalMotionAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for NaturalMotionAnimation {
const NAME: &'static str = "Windows.UI.Composition.NaturalMotionAnimation";
}
::windows::imp::interface_hierarchy!(NaturalMotionAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for NaturalMotionAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for NaturalMotionAnimation {}
unsafe impl ::core::marker::Send for NaturalMotionAnimation {}
unsafe impl ::core::marker::Sync for NaturalMotionAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct PathKeyFrameAnimation(::windows::core::IUnknown);
impl PathKeyFrameAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Duration(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).Duration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDuration)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationBehavior(&self) -> ::windows::core::Result<AnimationIterationBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationIterationBehavior>();
(::windows::core::Interface::vtable(this).IterationBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIterationBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationCount(&self) -> ::windows::core::Result<i32> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).IterationCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationCount(&self, value: i32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIterationCount)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn KeyFrameCount(&self) -> ::windows::core::Result<i32> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).KeyFrameCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InsertExpressionKeyFrame(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrame)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value)).ok() }
}
pub fn InsertExpressionKeyFrameWithEasingFunction<P0>(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING, easingfunction: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionEasingFunction>,
{
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrameWithEasingFunction)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value), easingfunction.try_into_param()?.abi()).ok() }
}
pub fn Direction(&self) -> ::windows::core::Result<AnimationDirection> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDirection>();
(::windows::core::Interface::vtable(this).Direction)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDirection)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InsertKeyFrame(&self, normalizedprogresskey: f32, path: &CompositionPath) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertKeyFrame)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(path)).ok() }
}
pub fn InsertKeyFrameWithEasingFunction<P0>(&self, normalizedprogresskey: f32, path: &CompositionPath, easingfunction: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionEasingFunction>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertKeyFrameWithEasingFunction)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(path), easingfunction.try_into_param()?.abi()).ok() }
}
}
impl ::core::cmp::PartialEq for PathKeyFrameAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for PathKeyFrameAnimation {}
impl ::core::fmt::Debug for PathKeyFrameAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PathKeyFrameAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for PathKeyFrameAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.PathKeyFrameAnimation;{9d0d18c9-1576-4b3f-be60-1d5031f5e71b})");
}
impl ::core::clone::Clone for PathKeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for PathKeyFrameAnimation {
type Vtable = IPathKeyFrameAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for PathKeyFrameAnimation {
const IID: ::windows::core::GUID = <IPathKeyFrameAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for PathKeyFrameAnimation {
const NAME: &'static str = "Windows.UI.Composition.PathKeyFrameAnimation";
}
::windows::imp::interface_hierarchy!(PathKeyFrameAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for PathKeyFrameAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for PathKeyFrameAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for PathKeyFrameAnimation {}
impl ::windows::core::CanTryInto<KeyFrameAnimation> for PathKeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for PathKeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for PathKeyFrameAnimation {}
unsafe impl ::core::marker::Send for PathKeyFrameAnimation {}
unsafe impl ::core::marker::Sync for PathKeyFrameAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct PointLight(::windows::core::IUnknown);
impl PointLight {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Targets(&self) -> ::windows::core::Result<VisualUnorderedCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<VisualUnorderedCollection>();
(::windows::core::Interface::vtable(this).Targets)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn ExclusionsFromTargets(&self) -> ::windows::core::Result<VisualUnorderedCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<VisualUnorderedCollection>();
(::windows::core::Interface::vtable(this).ExclusionsFromTargets)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsEnabled(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsEnabled(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Color(&self) -> ::windows::core::Result<super::Color> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Color>();
(::windows::core::Interface::vtable(this).Color)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetColor(&self, value: super::Color) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetColor)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn ConstantAttenuation(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).ConstantAttenuation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetConstantAttenuation(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetConstantAttenuation)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn CoordinateSpace(&self) -> ::windows::core::Result<Visual> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<Visual>();
(::windows::core::Interface::vtable(this).CoordinateSpace)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetCoordinateSpace<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetCoordinateSpace)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn LinearAttenuation(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).LinearAttenuation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetLinearAttenuation(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetLinearAttenuation)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn QuadraticAttenuation(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).QuadraticAttenuation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetQuadraticAttenuation(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetQuadraticAttenuation)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Intensity(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IPointLight2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Intensity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIntensity(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IPointLight2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIntensity)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn MinAttenuationCutoff(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IPointLight3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).MinAttenuationCutoff)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetMinAttenuationCutoff(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IPointLight3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMinAttenuationCutoff)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn MaxAttenuationCutoff(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IPointLight3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).MaxAttenuationCutoff)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetMaxAttenuationCutoff(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IPointLight3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMaxAttenuationCutoff)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for PointLight {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for PointLight {}
impl ::core::fmt::Debug for PointLight {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PointLight").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for PointLight {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.PointLight;{b18545b3-0c5a-4ab0-bedc-4f3546948272})");
}
impl ::core::clone::Clone for PointLight {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for PointLight {
type Vtable = IPointLight_Vtbl;
}
unsafe impl ::windows::core::ComInterface for PointLight {
const IID: ::windows::core::GUID = <IPointLight as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for PointLight {
const NAME: &'static str = "Windows.UI.Composition.PointLight";
}
::windows::imp::interface_hierarchy!(PointLight, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for PointLight {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for PointLight {}
impl ::windows::core::CanTryInto<CompositionLight> for PointLight {}
impl ::windows::core::CanTryInto<CompositionObject> for PointLight {}
unsafe impl ::core::marker::Send for PointLight {}
unsafe impl ::core::marker::Sync for PointLight {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct PowerEasingFunction(::windows::core::IUnknown);
impl PowerEasingFunction {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Mode(&self) -> ::windows::core::Result<CompositionEasingFunctionMode> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionEasingFunctionMode>();
(::windows::core::Interface::vtable(this).Mode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Power(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Power)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::core::cmp::PartialEq for PowerEasingFunction {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for PowerEasingFunction {}
impl ::core::fmt::Debug for PowerEasingFunction {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PowerEasingFunction").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for PowerEasingFunction {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.PowerEasingFunction;{c3ff53d6-138b-5815-891a-b7f615ccc563})");
}
impl ::core::clone::Clone for PowerEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for PowerEasingFunction {
type Vtable = IPowerEasingFunction_Vtbl;
}
unsafe impl ::windows::core::ComInterface for PowerEasingFunction {
const IID: ::windows::core::GUID = <IPowerEasingFunction as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for PowerEasingFunction {
const NAME: &'static str = "Windows.UI.Composition.PowerEasingFunction";
}
::windows::imp::interface_hierarchy!(PowerEasingFunction, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for PowerEasingFunction {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for PowerEasingFunction {}
impl ::windows::core::CanTryInto<CompositionEasingFunction> for PowerEasingFunction {}
impl ::windows::core::CanTryInto<CompositionObject> for PowerEasingFunction {}
unsafe impl ::core::marker::Send for PowerEasingFunction {}
unsafe impl ::core::marker::Sync for PowerEasingFunction {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct QuaternionKeyFrameAnimation(::windows::core::IUnknown);
impl QuaternionKeyFrameAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Duration(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).Duration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDuration)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationBehavior(&self) -> ::windows::core::Result<AnimationIterationBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationIterationBehavior>();
(::windows::core::Interface::vtable(this).IterationBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIterationBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationCount(&self) -> ::windows::core::Result<i32> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).IterationCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationCount(&self, value: i32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIterationCount)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn KeyFrameCount(&self) -> ::windows::core::Result<i32> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).KeyFrameCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InsertExpressionKeyFrame(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrame)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value)).ok() }
}
pub fn InsertExpressionKeyFrameWithEasingFunction<P0>(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING, easingfunction: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionEasingFunction>,
{
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrameWithEasingFunction)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value), easingfunction.try_into_param()?.abi()).ok() }
}
pub fn Direction(&self) -> ::windows::core::Result<AnimationDirection> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDirection>();
(::windows::core::Interface::vtable(this).Direction)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDirection)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InsertKeyFrame(&self, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertKeyFrame)(::windows::core::Interface::as_raw(this), normalizedprogresskey, value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InsertKeyFrameWithEasingFunction<P0>(&self, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Quaternion, easingfunction: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionEasingFunction>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertKeyFrameWithEasingFunction)(::windows::core::Interface::as_raw(this), normalizedprogresskey, value, easingfunction.try_into_param()?.abi()).ok() }
}
}
impl ::core::cmp::PartialEq for QuaternionKeyFrameAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for QuaternionKeyFrameAnimation {}
impl ::core::fmt::Debug for QuaternionKeyFrameAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("QuaternionKeyFrameAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for QuaternionKeyFrameAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.QuaternionKeyFrameAnimation;{404e5835-ecf6-4240-8520-671279cf36bc})");
}
impl ::core::clone::Clone for QuaternionKeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for QuaternionKeyFrameAnimation {
type Vtable = IQuaternionKeyFrameAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for QuaternionKeyFrameAnimation {
const IID: ::windows::core::GUID = <IQuaternionKeyFrameAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for QuaternionKeyFrameAnimation {
const NAME: &'static str = "Windows.UI.Composition.QuaternionKeyFrameAnimation";
}
::windows::imp::interface_hierarchy!(QuaternionKeyFrameAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for QuaternionKeyFrameAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for QuaternionKeyFrameAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for QuaternionKeyFrameAnimation {}
impl ::windows::core::CanTryInto<KeyFrameAnimation> for QuaternionKeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for QuaternionKeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for QuaternionKeyFrameAnimation {}
unsafe impl ::core::marker::Send for QuaternionKeyFrameAnimation {}
unsafe impl ::core::marker::Sync for QuaternionKeyFrameAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct RectangleClip(::windows::core::IUnknown);
impl RectangleClip {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn AnchorPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).AnchorPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetAnchorPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetAnchorPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix3x2> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix3x2>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionClip2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Bottom(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Bottom)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBottom(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetBottom)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn BottomLeftRadius(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).BottomLeftRadius)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetBottomLeftRadius(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetBottomLeftRadius)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn BottomRightRadius(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).BottomRightRadius)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetBottomRightRadius(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetBottomRightRadius)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Left(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Left)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetLeft(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetLeft)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Right(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Right)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRight(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetRight)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Top(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Top)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTop(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetTop)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TopLeftRadius(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).TopLeftRadius)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTopLeftRadius(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetTopLeftRadius)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TopRightRadius(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).TopRightRadius)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTopRightRadius(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetTopRightRadius)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for RectangleClip {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for RectangleClip {}
impl ::core::fmt::Debug for RectangleClip {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("RectangleClip").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for RectangleClip {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.RectangleClip;{b3e7549e-00b4-5b53-8be8-353f6c433101})");
}
impl ::core::clone::Clone for RectangleClip {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for RectangleClip {
type Vtable = IRectangleClip_Vtbl;
}
unsafe impl ::windows::core::ComInterface for RectangleClip {
const IID: ::windows::core::GUID = <IRectangleClip as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for RectangleClip {
const NAME: &'static str = "Windows.UI.Composition.RectangleClip";
}
::windows::imp::interface_hierarchy!(RectangleClip, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for RectangleClip {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for RectangleClip {}
impl ::windows::core::CanTryInto<CompositionClip> for RectangleClip {}
impl ::windows::core::CanTryInto<CompositionObject> for RectangleClip {}
unsafe impl ::core::marker::Send for RectangleClip {}
unsafe impl ::core::marker::Sync for RectangleClip {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct RedirectVisual(::windows::core::IUnknown);
impl RedirectVisual {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Children(&self) -> ::windows::core::Result<VisualCollection> {
let this = &::windows::core::ComInterface::cast::<IContainerVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<VisualCollection>();
(::windows::core::Interface::vtable(this).Children)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Source(&self) -> ::windows::core::Result<Visual> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<Visual>();
(::windows::core::Interface::vtable(this).Source)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetSource<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetSource)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn AnchorPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).AnchorPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetAnchorPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetAnchorPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn BackfaceVisibility(&self) -> ::windows::core::Result<CompositionBackfaceVisibility> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBackfaceVisibility>();
(::windows::core::Interface::vtable(this).BackfaceVisibility)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBackfaceVisibility)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn BorderMode(&self) -> ::windows::core::Result<CompositionBorderMode> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBorderMode>();
(::windows::core::Interface::vtable(this).BorderMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBorderMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Clip(&self) -> ::windows::core::Result<CompositionClip> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionClip>();
(::windows::core::Interface::vtable(this).Clip)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetClip<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionClip>,
{
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetClip)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn CompositeMode(&self) -> ::windows::core::Result<CompositionCompositeMode> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionCompositeMode>();
(::windows::core::Interface::vtable(this).CompositeMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCompositeMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsVisible(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsVisible)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsVisible(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsVisible)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Opacity(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Opacity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetOpacity(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOpacity)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Orientation(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Quaternion> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Quaternion>();
(::windows::core::Interface::vtable(this).Orientation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOrientation(&self, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOrientation)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Parent(&self) -> ::windows::core::Result<ContainerVisual> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ContainerVisual>();
(::windows::core::Interface::vtable(this).Parent)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RotationAxis(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).RotationAxis)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRotationAxis(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAxis)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Size(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetSize(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetSize)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix4x4> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix4x4>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn ParentForTransform(&self) -> ::windows::core::Result<Visual> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Visual>();
(::windows::core::Interface::vtable(this).ParentForTransform)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetParentForTransform<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetParentForTransform)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RelativeOffsetAdjustment(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRelativeOffsetAdjustment(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRelativeOffsetAdjustment)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RelativeSizeAdjustment(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).RelativeSizeAdjustment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRelativeSizeAdjustment(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRelativeSizeAdjustment)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsHitTestVisible(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsHitTestVisible)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsHitTestVisible)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsPixelSnappingEnabled(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsPixelSnappingEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for RedirectVisual {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for RedirectVisual {}
impl ::core::fmt::Debug for RedirectVisual {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("RedirectVisual").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for RedirectVisual {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.RedirectVisual;{8cc6e340-8b75-5422-b06f-09ffe9f8617e})");
}
impl ::core::clone::Clone for RedirectVisual {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for RedirectVisual {
type Vtable = IRedirectVisual_Vtbl;
}
unsafe impl ::windows::core::ComInterface for RedirectVisual {
const IID: ::windows::core::GUID = <IRedirectVisual as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for RedirectVisual {
const NAME: &'static str = "Windows.UI.Composition.RedirectVisual";
}
::windows::imp::interface_hierarchy!(RedirectVisual, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for RedirectVisual {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for RedirectVisual {}
impl ::windows::core::CanTryInto<ContainerVisual> for RedirectVisual {}
impl ::windows::core::CanTryInto<Visual> for RedirectVisual {}
impl ::windows::core::CanTryInto<CompositionObject> for RedirectVisual {}
unsafe impl ::core::marker::Send for RedirectVisual {}
unsafe impl ::core::marker::Sync for RedirectVisual {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct RenderingDeviceReplacedEventArgs(::windows::core::IUnknown);
impl RenderingDeviceReplacedEventArgs {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn GraphicsDevice(&self) -> ::windows::core::Result<CompositionGraphicsDevice> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionGraphicsDevice>();
(::windows::core::Interface::vtable(this).GraphicsDevice)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::core::cmp::PartialEq for RenderingDeviceReplacedEventArgs {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for RenderingDeviceReplacedEventArgs {}
impl ::core::fmt::Debug for RenderingDeviceReplacedEventArgs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("RenderingDeviceReplacedEventArgs").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for RenderingDeviceReplacedEventArgs {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.RenderingDeviceReplacedEventArgs;{3a31ac7d-28bf-4e7a-8524-71679d480f38})");
}
impl ::core::clone::Clone for RenderingDeviceReplacedEventArgs {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for RenderingDeviceReplacedEventArgs {
type Vtable = IRenderingDeviceReplacedEventArgs_Vtbl;
}
unsafe impl ::windows::core::ComInterface for RenderingDeviceReplacedEventArgs {
const IID: ::windows::core::GUID = <IRenderingDeviceReplacedEventArgs as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for RenderingDeviceReplacedEventArgs {
const NAME: &'static str = "Windows.UI.Composition.RenderingDeviceReplacedEventArgs";
}
::windows::imp::interface_hierarchy!(RenderingDeviceReplacedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for RenderingDeviceReplacedEventArgs {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for RenderingDeviceReplacedEventArgs {}
impl ::windows::core::CanTryInto<CompositionObject> for RenderingDeviceReplacedEventArgs {}
unsafe impl ::core::marker::Send for RenderingDeviceReplacedEventArgs {}
unsafe impl ::core::marker::Sync for RenderingDeviceReplacedEventArgs {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct ScalarKeyFrameAnimation(::windows::core::IUnknown);
impl ScalarKeyFrameAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Duration(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).Duration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDuration)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationBehavior(&self) -> ::windows::core::Result<AnimationIterationBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationIterationBehavior>();
(::windows::core::Interface::vtable(this).IterationBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIterationBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationCount(&self) -> ::windows::core::Result<i32> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).IterationCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationCount(&self, value: i32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIterationCount)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn KeyFrameCount(&self) -> ::windows::core::Result<i32> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).KeyFrameCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InsertExpressionKeyFrame(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrame)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value)).ok() }
}
pub fn InsertExpressionKeyFrameWithEasingFunction<P0>(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING, easingfunction: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionEasingFunction>,
{
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrameWithEasingFunction)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value), easingfunction.try_into_param()?.abi()).ok() }
}
pub fn Direction(&self) -> ::windows::core::Result<AnimationDirection> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDirection>();
(::windows::core::Interface::vtable(this).Direction)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDirection)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InsertKeyFrame(&self, normalizedprogresskey: f32, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertKeyFrame)(::windows::core::Interface::as_raw(this), normalizedprogresskey, value).ok() }
}
pub fn InsertKeyFrameWithEasingFunction<P0>(&self, normalizedprogresskey: f32, value: f32, easingfunction: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionEasingFunction>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertKeyFrameWithEasingFunction)(::windows::core::Interface::as_raw(this), normalizedprogresskey, value, easingfunction.try_into_param()?.abi()).ok() }
}
}
impl ::core::cmp::PartialEq for ScalarKeyFrameAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ScalarKeyFrameAnimation {}
impl ::core::fmt::Debug for ScalarKeyFrameAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ScalarKeyFrameAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for ScalarKeyFrameAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ScalarKeyFrameAnimation;{ae288fa9-252c-4b95-a725-bf85e38000a1})");
}
impl ::core::clone::Clone for ScalarKeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for ScalarKeyFrameAnimation {
type Vtable = IScalarKeyFrameAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for ScalarKeyFrameAnimation {
const IID: ::windows::core::GUID = <IScalarKeyFrameAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for ScalarKeyFrameAnimation {
const NAME: &'static str = "Windows.UI.Composition.ScalarKeyFrameAnimation";
}
::windows::imp::interface_hierarchy!(ScalarKeyFrameAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for ScalarKeyFrameAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for ScalarKeyFrameAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for ScalarKeyFrameAnimation {}
impl ::windows::core::CanTryInto<KeyFrameAnimation> for ScalarKeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for ScalarKeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for ScalarKeyFrameAnimation {}
unsafe impl ::core::marker::Send for ScalarKeyFrameAnimation {}
unsafe impl ::core::marker::Sync for ScalarKeyFrameAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct ScalarNaturalMotionAnimation(::windows::core::IUnknown);
impl ScalarNaturalMotionAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn FinalValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<f32>> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<f32>>();
(::windows::core::Interface::vtable(this).FinalValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetFinalValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<f32>>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetFinalValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn InitialValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<f32>> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<f32>>();
(::windows::core::Interface::vtable(this).InitialValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetInitialValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<f32>>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetInitialValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn InitialVelocity(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).InitialVelocity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetInitialVelocity(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetInitialVelocity)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for ScalarNaturalMotionAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ScalarNaturalMotionAnimation {}
impl ::core::fmt::Debug for ScalarNaturalMotionAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ScalarNaturalMotionAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for ScalarNaturalMotionAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ScalarNaturalMotionAnimation;{94a94581-bf92-495b-b5bd-d2c659430737})");
}
impl ::core::clone::Clone for ScalarNaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for ScalarNaturalMotionAnimation {
type Vtable = IScalarNaturalMotionAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for ScalarNaturalMotionAnimation {
const IID: ::windows::core::GUID = <IScalarNaturalMotionAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for ScalarNaturalMotionAnimation {
const NAME: &'static str = "Windows.UI.Composition.ScalarNaturalMotionAnimation";
}
::windows::imp::interface_hierarchy!(ScalarNaturalMotionAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for ScalarNaturalMotionAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for ScalarNaturalMotionAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for ScalarNaturalMotionAnimation {}
impl ::windows::core::CanTryInto<NaturalMotionAnimation> for ScalarNaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for ScalarNaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for ScalarNaturalMotionAnimation {}
unsafe impl ::core::marker::Send for ScalarNaturalMotionAnimation {}
unsafe impl ::core::marker::Sync for ScalarNaturalMotionAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct ShapeVisual(::windows::core::IUnknown);
impl ShapeVisual {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Children(&self) -> ::windows::core::Result<VisualCollection> {
let this = &::windows::core::ComInterface::cast::<IContainerVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<VisualCollection>();
(::windows::core::Interface::vtable(this).Children)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Shapes(&self) -> ::windows::core::Result<CompositionShapeCollection> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionShapeCollection>();
(::windows::core::Interface::vtable(this).Shapes)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn ViewBox(&self) -> ::windows::core::Result<CompositionViewBox> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionViewBox>();
(::windows::core::Interface::vtable(this).ViewBox)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetViewBox(&self, value: &CompositionViewBox) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetViewBox)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn AnchorPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).AnchorPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetAnchorPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetAnchorPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn BackfaceVisibility(&self) -> ::windows::core::Result<CompositionBackfaceVisibility> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBackfaceVisibility>();
(::windows::core::Interface::vtable(this).BackfaceVisibility)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBackfaceVisibility)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn BorderMode(&self) -> ::windows::core::Result<CompositionBorderMode> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBorderMode>();
(::windows::core::Interface::vtable(this).BorderMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBorderMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Clip(&self) -> ::windows::core::Result<CompositionClip> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionClip>();
(::windows::core::Interface::vtable(this).Clip)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetClip<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionClip>,
{
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetClip)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn CompositeMode(&self) -> ::windows::core::Result<CompositionCompositeMode> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionCompositeMode>();
(::windows::core::Interface::vtable(this).CompositeMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCompositeMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsVisible(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsVisible)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsVisible(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsVisible)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Opacity(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Opacity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetOpacity(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOpacity)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Orientation(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Quaternion> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Quaternion>();
(::windows::core::Interface::vtable(this).Orientation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOrientation(&self, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOrientation)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Parent(&self) -> ::windows::core::Result<ContainerVisual> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ContainerVisual>();
(::windows::core::Interface::vtable(this).Parent)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RotationAxis(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).RotationAxis)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRotationAxis(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAxis)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Size(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetSize(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetSize)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix4x4> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix4x4>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn ParentForTransform(&self) -> ::windows::core::Result<Visual> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Visual>();
(::windows::core::Interface::vtable(this).ParentForTransform)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetParentForTransform<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetParentForTransform)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RelativeOffsetAdjustment(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRelativeOffsetAdjustment(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRelativeOffsetAdjustment)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RelativeSizeAdjustment(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).RelativeSizeAdjustment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRelativeSizeAdjustment(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRelativeSizeAdjustment)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsHitTestVisible(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsHitTestVisible)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsHitTestVisible)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsPixelSnappingEnabled(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsPixelSnappingEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for ShapeVisual {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ShapeVisual {}
impl ::core::fmt::Debug for ShapeVisual {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ShapeVisual").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for ShapeVisual {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ShapeVisual;{f2bd13c3-ba7e-4b0f-9126-ffb7536b8176})");
}
impl ::core::clone::Clone for ShapeVisual {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for ShapeVisual {
type Vtable = IShapeVisual_Vtbl;
}
unsafe impl ::windows::core::ComInterface for ShapeVisual {
const IID: ::windows::core::GUID = <IShapeVisual as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for ShapeVisual {
const NAME: &'static str = "Windows.UI.Composition.ShapeVisual";
}
::windows::imp::interface_hierarchy!(ShapeVisual, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for ShapeVisual {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for ShapeVisual {}
impl ::windows::core::CanTryInto<ContainerVisual> for ShapeVisual {}
impl ::windows::core::CanTryInto<Visual> for ShapeVisual {}
impl ::windows::core::CanTryInto<CompositionObject> for ShapeVisual {}
unsafe impl ::core::marker::Send for ShapeVisual {}
unsafe impl ::core::marker::Sync for ShapeVisual {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct SineEasingFunction(::windows::core::IUnknown);
impl SineEasingFunction {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Mode(&self) -> ::windows::core::Result<CompositionEasingFunctionMode> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionEasingFunctionMode>();
(::windows::core::Interface::vtable(this).Mode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::core::cmp::PartialEq for SineEasingFunction {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for SineEasingFunction {}
impl ::core::fmt::Debug for SineEasingFunction {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("SineEasingFunction").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for SineEasingFunction {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.SineEasingFunction;{f1b518bf-9563-5474-bd13-44b2df4b1d58})");
}
impl ::core::clone::Clone for SineEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for SineEasingFunction {
type Vtable = ISineEasingFunction_Vtbl;
}
unsafe impl ::windows::core::ComInterface for SineEasingFunction {
const IID: ::windows::core::GUID = <ISineEasingFunction as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for SineEasingFunction {
const NAME: &'static str = "Windows.UI.Composition.SineEasingFunction";
}
::windows::imp::interface_hierarchy!(SineEasingFunction, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for SineEasingFunction {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for SineEasingFunction {}
impl ::windows::core::CanTryInto<CompositionEasingFunction> for SineEasingFunction {}
impl ::windows::core::CanTryInto<CompositionObject> for SineEasingFunction {}
unsafe impl ::core::marker::Send for SineEasingFunction {}
unsafe impl ::core::marker::Sync for SineEasingFunction {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct SpotLight(::windows::core::IUnknown);
impl SpotLight {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Targets(&self) -> ::windows::core::Result<VisualUnorderedCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<VisualUnorderedCollection>();
(::windows::core::Interface::vtable(this).Targets)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn ExclusionsFromTargets(&self) -> ::windows::core::Result<VisualUnorderedCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<VisualUnorderedCollection>();
(::windows::core::Interface::vtable(this).ExclusionsFromTargets)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsEnabled(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsEnabled(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionLight3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn ConstantAttenuation(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).ConstantAttenuation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetConstantAttenuation(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetConstantAttenuation)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn CoordinateSpace(&self) -> ::windows::core::Result<Visual> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<Visual>();
(::windows::core::Interface::vtable(this).CoordinateSpace)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetCoordinateSpace<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetCoordinateSpace)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Direction(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Direction)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetDirection(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetDirection)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InnerConeAngle(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).InnerConeAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetInnerConeAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetInnerConeAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InnerConeAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).InnerConeAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetInnerConeAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetInnerConeAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InnerConeColor(&self) -> ::windows::core::Result<super::Color> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Color>();
(::windows::core::Interface::vtable(this).InnerConeColor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetInnerConeColor(&self, value: super::Color) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetInnerConeColor)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn LinearAttenuation(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).LinearAttenuation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetLinearAttenuation(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetLinearAttenuation)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn OuterConeAngle(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).OuterConeAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetOuterConeAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetOuterConeAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn OuterConeAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).OuterConeAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetOuterConeAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetOuterConeAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn OuterConeColor(&self) -> ::windows::core::Result<super::Color> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Color>();
(::windows::core::Interface::vtable(this).OuterConeColor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetOuterConeColor(&self, value: super::Color) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetOuterConeColor)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn QuadraticAttenuation(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).QuadraticAttenuation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetQuadraticAttenuation(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetQuadraticAttenuation)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InnerConeIntensity(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ISpotLight2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).InnerConeIntensity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetInnerConeIntensity(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ISpotLight2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetInnerConeIntensity)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn OuterConeIntensity(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ISpotLight2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).OuterConeIntensity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetOuterConeIntensity(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ISpotLight2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOuterConeIntensity)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn MinAttenuationCutoff(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ISpotLight3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).MinAttenuationCutoff)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetMinAttenuationCutoff(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ISpotLight3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMinAttenuationCutoff)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn MaxAttenuationCutoff(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<ISpotLight3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).MaxAttenuationCutoff)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetMaxAttenuationCutoff(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ISpotLight3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMaxAttenuationCutoff)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for SpotLight {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for SpotLight {}
impl ::core::fmt::Debug for SpotLight {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("SpotLight").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for SpotLight {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.SpotLight;{5a9fe273-44a1-4f95-a422-8fa5116bdb44})");
}
impl ::core::clone::Clone for SpotLight {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for SpotLight {
type Vtable = ISpotLight_Vtbl;
}
unsafe impl ::windows::core::ComInterface for SpotLight {
const IID: ::windows::core::GUID = <ISpotLight as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for SpotLight {
const NAME: &'static str = "Windows.UI.Composition.SpotLight";
}
::windows::imp::interface_hierarchy!(SpotLight, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for SpotLight {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for SpotLight {}
impl ::windows::core::CanTryInto<CompositionLight> for SpotLight {}
impl ::windows::core::CanTryInto<CompositionObject> for SpotLight {}
unsafe impl ::core::marker::Send for SpotLight {}
unsafe impl ::core::marker::Sync for SpotLight {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct SpringScalarNaturalMotionAnimation(::windows::core::IUnknown);
impl SpringScalarNaturalMotionAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn FinalValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<f32>> {
let this = &::windows::core::ComInterface::cast::<IScalarNaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<f32>>();
(::windows::core::Interface::vtable(this).FinalValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetFinalValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<f32>>,
{
let this = &::windows::core::ComInterface::cast::<IScalarNaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetFinalValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn InitialValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<f32>> {
let this = &::windows::core::ComInterface::cast::<IScalarNaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<f32>>();
(::windows::core::Interface::vtable(this).InitialValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetInitialValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<f32>>,
{
let this = &::windows::core::ComInterface::cast::<IScalarNaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetInitialValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn InitialVelocity(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IScalarNaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).InitialVelocity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetInitialVelocity(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IScalarNaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetInitialVelocity)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn DampingRatio(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).DampingRatio)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDampingRatio(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetDampingRatio)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Period(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).Period)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetPeriod(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetPeriod)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for SpringScalarNaturalMotionAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for SpringScalarNaturalMotionAnimation {}
impl ::core::fmt::Debug for SpringScalarNaturalMotionAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("SpringScalarNaturalMotionAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for SpringScalarNaturalMotionAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.SpringScalarNaturalMotionAnimation;{0572a95f-37f9-4fbe-b87b-5cd03a89501c})");
}
impl ::core::clone::Clone for SpringScalarNaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for SpringScalarNaturalMotionAnimation {
type Vtable = ISpringScalarNaturalMotionAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for SpringScalarNaturalMotionAnimation {
const IID: ::windows::core::GUID = <ISpringScalarNaturalMotionAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for SpringScalarNaturalMotionAnimation {
const NAME: &'static str = "Windows.UI.Composition.SpringScalarNaturalMotionAnimation";
}
::windows::imp::interface_hierarchy!(SpringScalarNaturalMotionAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for SpringScalarNaturalMotionAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for SpringScalarNaturalMotionAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for SpringScalarNaturalMotionAnimation {}
impl ::windows::core::CanTryInto<ScalarNaturalMotionAnimation> for SpringScalarNaturalMotionAnimation {}
impl ::windows::core::CanTryInto<NaturalMotionAnimation> for SpringScalarNaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for SpringScalarNaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for SpringScalarNaturalMotionAnimation {}
unsafe impl ::core::marker::Send for SpringScalarNaturalMotionAnimation {}
unsafe impl ::core::marker::Sync for SpringScalarNaturalMotionAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct SpringVector2NaturalMotionAnimation(::windows::core::IUnknown);
impl SpringVector2NaturalMotionAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn DampingRatio(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).DampingRatio)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDampingRatio(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetDampingRatio)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Period(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).Period)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetPeriod(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetPeriod)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn FinalValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>> {
let this = &::windows::core::ComInterface::cast::<IVector2NaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>();
(::windows::core::Interface::vtable(this).FinalValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetFinalValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>,
{
let this = &::windows::core::ComInterface::cast::<IVector2NaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetFinalValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InitialValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>> {
let this = &::windows::core::ComInterface::cast::<IVector2NaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>();
(::windows::core::Interface::vtable(this).InitialValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetInitialValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>,
{
let this = &::windows::core::ComInterface::cast::<IVector2NaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetInitialValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InitialVelocity(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVector2NaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).InitialVelocity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetInitialVelocity(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVector2NaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetInitialVelocity)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for SpringVector2NaturalMotionAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for SpringVector2NaturalMotionAnimation {}
impl ::core::fmt::Debug for SpringVector2NaturalMotionAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("SpringVector2NaturalMotionAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for SpringVector2NaturalMotionAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.SpringVector2NaturalMotionAnimation;{23f494b5-ee73-4f0f-a423-402b946df4b3})");
}
impl ::core::clone::Clone for SpringVector2NaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for SpringVector2NaturalMotionAnimation {
type Vtable = ISpringVector2NaturalMotionAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for SpringVector2NaturalMotionAnimation {
const IID: ::windows::core::GUID = <ISpringVector2NaturalMotionAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for SpringVector2NaturalMotionAnimation {
const NAME: &'static str = "Windows.UI.Composition.SpringVector2NaturalMotionAnimation";
}
::windows::imp::interface_hierarchy!(SpringVector2NaturalMotionAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for SpringVector2NaturalMotionAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for SpringVector2NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for SpringVector2NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<Vector2NaturalMotionAnimation> for SpringVector2NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<NaturalMotionAnimation> for SpringVector2NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for SpringVector2NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for SpringVector2NaturalMotionAnimation {}
unsafe impl ::core::marker::Send for SpringVector2NaturalMotionAnimation {}
unsafe impl ::core::marker::Sync for SpringVector2NaturalMotionAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct SpringVector3NaturalMotionAnimation(::windows::core::IUnknown);
impl SpringVector3NaturalMotionAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn DampingRatio(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).DampingRatio)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDampingRatio(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetDampingRatio)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Period(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).Period)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetPeriod(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetPeriod)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn FinalValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>> {
let this = &::windows::core::ComInterface::cast::<IVector3NaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>();
(::windows::core::Interface::vtable(this).FinalValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetFinalValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>,
{
let this = &::windows::core::ComInterface::cast::<IVector3NaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetFinalValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InitialValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>> {
let this = &::windows::core::ComInterface::cast::<IVector3NaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>();
(::windows::core::Interface::vtable(this).InitialValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetInitialValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>,
{
let this = &::windows::core::ComInterface::cast::<IVector3NaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetInitialValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InitialVelocity(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVector3NaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).InitialVelocity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetInitialVelocity(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVector3NaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetInitialVelocity)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for SpringVector3NaturalMotionAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for SpringVector3NaturalMotionAnimation {}
impl ::core::fmt::Debug for SpringVector3NaturalMotionAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("SpringVector3NaturalMotionAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for SpringVector3NaturalMotionAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.SpringVector3NaturalMotionAnimation;{6c8749df-d57b-4794-8e2d-cecb11e194e5})");
}
impl ::core::clone::Clone for SpringVector3NaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for SpringVector3NaturalMotionAnimation {
type Vtable = ISpringVector3NaturalMotionAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for SpringVector3NaturalMotionAnimation {
const IID: ::windows::core::GUID = <ISpringVector3NaturalMotionAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for SpringVector3NaturalMotionAnimation {
const NAME: &'static str = "Windows.UI.Composition.SpringVector3NaturalMotionAnimation";
}
::windows::imp::interface_hierarchy!(SpringVector3NaturalMotionAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for SpringVector3NaturalMotionAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for SpringVector3NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for SpringVector3NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<Vector3NaturalMotionAnimation> for SpringVector3NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<NaturalMotionAnimation> for SpringVector3NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for SpringVector3NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for SpringVector3NaturalMotionAnimation {}
unsafe impl ::core::marker::Send for SpringVector3NaturalMotionAnimation {}
unsafe impl ::core::marker::Sync for SpringVector3NaturalMotionAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct SpriteVisual(::windows::core::IUnknown);
impl SpriteVisual {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn Children(&self) -> ::windows::core::Result<VisualCollection> {
let this = &::windows::core::ComInterface::cast::<IContainerVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<VisualCollection>();
(::windows::core::Interface::vtable(this).Children)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Brush(&self) -> ::windows::core::Result<CompositionBrush> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBrush>();
(::windows::core::Interface::vtable(this).Brush)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBrush<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionBrush>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetBrush)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn Shadow(&self) -> ::windows::core::Result<CompositionShadow> {
let this = &::windows::core::ComInterface::cast::<ISpriteVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionShadow>();
(::windows::core::Interface::vtable(this).Shadow)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetShadow<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionShadow>,
{
let this = &::windows::core::ComInterface::cast::<ISpriteVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetShadow)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn AnchorPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).AnchorPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetAnchorPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetAnchorPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn BackfaceVisibility(&self) -> ::windows::core::Result<CompositionBackfaceVisibility> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBackfaceVisibility>();
(::windows::core::Interface::vtable(this).BackfaceVisibility)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBackfaceVisibility)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn BorderMode(&self) -> ::windows::core::Result<CompositionBorderMode> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBorderMode>();
(::windows::core::Interface::vtable(this).BorderMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBorderMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Clip(&self) -> ::windows::core::Result<CompositionClip> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionClip>();
(::windows::core::Interface::vtable(this).Clip)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetClip<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionClip>,
{
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetClip)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn CompositeMode(&self) -> ::windows::core::Result<CompositionCompositeMode> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionCompositeMode>();
(::windows::core::Interface::vtable(this).CompositeMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetCompositeMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsVisible(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsVisible)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsVisible(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsVisible)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Opacity(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Opacity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetOpacity(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOpacity)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Orientation(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Quaternion> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Quaternion>();
(::windows::core::Interface::vtable(this).Orientation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOrientation(&self, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetOrientation)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Parent(&self) -> ::windows::core::Result<ContainerVisual> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ContainerVisual>();
(::windows::core::Interface::vtable(this).Parent)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RotationAxis(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).RotationAxis)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRotationAxis(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAxis)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Size(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetSize(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetSize)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix4x4> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix4x4>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn ParentForTransform(&self) -> ::windows::core::Result<Visual> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Visual>();
(::windows::core::Interface::vtable(this).ParentForTransform)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetParentForTransform<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetParentForTransform)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RelativeOffsetAdjustment(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRelativeOffsetAdjustment(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRelativeOffsetAdjustment)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RelativeSizeAdjustment(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).RelativeSizeAdjustment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRelativeSizeAdjustment(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRelativeSizeAdjustment)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsHitTestVisible(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsHitTestVisible)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsHitTestVisible)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsPixelSnappingEnabled(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsPixelSnappingEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for SpriteVisual {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for SpriteVisual {}
impl ::core::fmt::Debug for SpriteVisual {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("SpriteVisual").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for SpriteVisual {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.SpriteVisual;{08e05581-1ad1-4f97-9757-402d76e4233b})");
}
impl ::core::clone::Clone for SpriteVisual {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for SpriteVisual {
type Vtable = ISpriteVisual_Vtbl;
}
unsafe impl ::windows::core::ComInterface for SpriteVisual {
const IID: ::windows::core::GUID = <ISpriteVisual as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for SpriteVisual {
const NAME: &'static str = "Windows.UI.Composition.SpriteVisual";
}
::windows::imp::interface_hierarchy!(SpriteVisual, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for SpriteVisual {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for SpriteVisual {}
impl ::windows::core::CanTryInto<ContainerVisual> for SpriteVisual {}
impl ::windows::core::CanTryInto<Visual> for SpriteVisual {}
impl ::windows::core::CanTryInto<CompositionObject> for SpriteVisual {}
unsafe impl ::core::marker::Send for SpriteVisual {}
unsafe impl ::core::marker::Sync for SpriteVisual {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct StepEasingFunction(::windows::core::IUnknown);
impl StepEasingFunction {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn FinalStep(&self) -> ::windows::core::Result<i32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).FinalStep)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetFinalStep(&self, value: i32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetFinalStep)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InitialStep(&self) -> ::windows::core::Result<i32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).InitialStep)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetInitialStep(&self, value: i32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetInitialStep)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsFinalStepSingleFrame(&self) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsFinalStepSingleFrame)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsFinalStepSingleFrame(&self, value: bool) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetIsFinalStepSingleFrame)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsInitialStepSingleFrame(&self) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsInitialStepSingleFrame)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsInitialStepSingleFrame(&self, value: bool) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetIsInitialStepSingleFrame)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StepCount(&self) -> ::windows::core::Result<i32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).StepCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStepCount(&self, value: i32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetStepCount)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for StepEasingFunction {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for StepEasingFunction {}
impl ::core::fmt::Debug for StepEasingFunction {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("StepEasingFunction").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for StepEasingFunction {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.StepEasingFunction;{d0caa74b-560c-4a0b-a5f6-206ca8c3ecd6})");
}
impl ::core::clone::Clone for StepEasingFunction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for StepEasingFunction {
type Vtable = IStepEasingFunction_Vtbl;
}
unsafe impl ::windows::core::ComInterface for StepEasingFunction {
const IID: ::windows::core::GUID = <IStepEasingFunction as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for StepEasingFunction {
const NAME: &'static str = "Windows.UI.Composition.StepEasingFunction";
}
::windows::imp::interface_hierarchy!(StepEasingFunction, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for StepEasingFunction {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for StepEasingFunction {}
impl ::windows::core::CanTryInto<CompositionEasingFunction> for StepEasingFunction {}
impl ::windows::core::CanTryInto<CompositionObject> for StepEasingFunction {}
unsafe impl ::core::marker::Send for StepEasingFunction {}
unsafe impl ::core::marker::Sync for StepEasingFunction {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct Vector2KeyFrameAnimation(::windows::core::IUnknown);
impl Vector2KeyFrameAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Duration(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).Duration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDuration)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationBehavior(&self) -> ::windows::core::Result<AnimationIterationBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationIterationBehavior>();
(::windows::core::Interface::vtable(this).IterationBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIterationBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationCount(&self) -> ::windows::core::Result<i32> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).IterationCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationCount(&self, value: i32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIterationCount)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn KeyFrameCount(&self) -> ::windows::core::Result<i32> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).KeyFrameCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InsertExpressionKeyFrame(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrame)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value)).ok() }
}
pub fn InsertExpressionKeyFrameWithEasingFunction<P0>(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING, easingfunction: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionEasingFunction>,
{
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrameWithEasingFunction)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value), easingfunction.try_into_param()?.abi()).ok() }
}
pub fn Direction(&self) -> ::windows::core::Result<AnimationDirection> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDirection>();
(::windows::core::Interface::vtable(this).Direction)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDirection)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InsertKeyFrame(&self, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertKeyFrame)(::windows::core::Interface::as_raw(this), normalizedprogresskey, value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InsertKeyFrameWithEasingFunction<P0>(&self, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector2, easingfunction: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionEasingFunction>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertKeyFrameWithEasingFunction)(::windows::core::Interface::as_raw(this), normalizedprogresskey, value, easingfunction.try_into_param()?.abi()).ok() }
}
}
impl ::core::cmp::PartialEq for Vector2KeyFrameAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for Vector2KeyFrameAnimation {}
impl ::core::fmt::Debug for Vector2KeyFrameAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("Vector2KeyFrameAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for Vector2KeyFrameAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Vector2KeyFrameAnimation;{df414515-4e29-4f11-b55e-bf2a6eb36294})");
}
impl ::core::clone::Clone for Vector2KeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for Vector2KeyFrameAnimation {
type Vtable = IVector2KeyFrameAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for Vector2KeyFrameAnimation {
const IID: ::windows::core::GUID = <IVector2KeyFrameAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for Vector2KeyFrameAnimation {
const NAME: &'static str = "Windows.UI.Composition.Vector2KeyFrameAnimation";
}
::windows::imp::interface_hierarchy!(Vector2KeyFrameAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for Vector2KeyFrameAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for Vector2KeyFrameAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for Vector2KeyFrameAnimation {}
impl ::windows::core::CanTryInto<KeyFrameAnimation> for Vector2KeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for Vector2KeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for Vector2KeyFrameAnimation {}
unsafe impl ::core::marker::Send for Vector2KeyFrameAnimation {}
unsafe impl ::core::marker::Sync for Vector2KeyFrameAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct Vector2NaturalMotionAnimation(::windows::core::IUnknown);
impl Vector2NaturalMotionAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn FinalValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>();
(::windows::core::Interface::vtable(this).FinalValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetFinalValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetFinalValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InitialValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>();
(::windows::core::Interface::vtable(this).InitialValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetInitialValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetInitialValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InitialVelocity(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).InitialVelocity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetInitialVelocity(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetInitialVelocity)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for Vector2NaturalMotionAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for Vector2NaturalMotionAnimation {}
impl ::core::fmt::Debug for Vector2NaturalMotionAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("Vector2NaturalMotionAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for Vector2NaturalMotionAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Vector2NaturalMotionAnimation;{0f3e0b7d-e512-479d-a00c-77c93a30a395})");
}
impl ::core::clone::Clone for Vector2NaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for Vector2NaturalMotionAnimation {
type Vtable = IVector2NaturalMotionAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for Vector2NaturalMotionAnimation {
const IID: ::windows::core::GUID = <IVector2NaturalMotionAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for Vector2NaturalMotionAnimation {
const NAME: &'static str = "Windows.UI.Composition.Vector2NaturalMotionAnimation";
}
::windows::imp::interface_hierarchy!(Vector2NaturalMotionAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for Vector2NaturalMotionAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for Vector2NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for Vector2NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<NaturalMotionAnimation> for Vector2NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for Vector2NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for Vector2NaturalMotionAnimation {}
unsafe impl ::core::marker::Send for Vector2NaturalMotionAnimation {}
unsafe impl ::core::marker::Sync for Vector2NaturalMotionAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct Vector3KeyFrameAnimation(::windows::core::IUnknown);
impl Vector3KeyFrameAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Duration(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).Duration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDuration)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationBehavior(&self) -> ::windows::core::Result<AnimationIterationBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationIterationBehavior>();
(::windows::core::Interface::vtable(this).IterationBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIterationBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationCount(&self) -> ::windows::core::Result<i32> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).IterationCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationCount(&self, value: i32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIterationCount)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn KeyFrameCount(&self) -> ::windows::core::Result<i32> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).KeyFrameCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InsertExpressionKeyFrame(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrame)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value)).ok() }
}
pub fn InsertExpressionKeyFrameWithEasingFunction<P0>(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING, easingfunction: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionEasingFunction>,
{
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrameWithEasingFunction)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value), easingfunction.try_into_param()?.abi()).ok() }
}
pub fn Direction(&self) -> ::windows::core::Result<AnimationDirection> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDirection>();
(::windows::core::Interface::vtable(this).Direction)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDirection)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InsertKeyFrame(&self, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertKeyFrame)(::windows::core::Interface::as_raw(this), normalizedprogresskey, value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InsertKeyFrameWithEasingFunction<P0>(&self, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector3, easingfunction: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionEasingFunction>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertKeyFrameWithEasingFunction)(::windows::core::Interface::as_raw(this), normalizedprogresskey, value, easingfunction.try_into_param()?.abi()).ok() }
}
}
impl ::core::cmp::PartialEq for Vector3KeyFrameAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for Vector3KeyFrameAnimation {}
impl ::core::fmt::Debug for Vector3KeyFrameAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("Vector3KeyFrameAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for Vector3KeyFrameAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Vector3KeyFrameAnimation;{c8039daa-a281-43c2-a73d-b68e3c533c40})");
}
impl ::core::clone::Clone for Vector3KeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for Vector3KeyFrameAnimation {
type Vtable = IVector3KeyFrameAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for Vector3KeyFrameAnimation {
const IID: ::windows::core::GUID = <IVector3KeyFrameAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for Vector3KeyFrameAnimation {
const NAME: &'static str = "Windows.UI.Composition.Vector3KeyFrameAnimation";
}
::windows::imp::interface_hierarchy!(Vector3KeyFrameAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for Vector3KeyFrameAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for Vector3KeyFrameAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for Vector3KeyFrameAnimation {}
impl ::windows::core::CanTryInto<KeyFrameAnimation> for Vector3KeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for Vector3KeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for Vector3KeyFrameAnimation {}
unsafe impl ::core::marker::Send for Vector3KeyFrameAnimation {}
unsafe impl ::core::marker::Sync for Vector3KeyFrameAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct Vector3NaturalMotionAnimation(::windows::core::IUnknown);
impl Vector3NaturalMotionAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<INaturalMotionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn FinalValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>();
(::windows::core::Interface::vtable(this).FinalValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetFinalValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetFinalValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InitialValue(&self) -> ::windows::core::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>();
(::windows::core::Interface::vtable(this).InitialValue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetInitialValue<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetInitialValue)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InitialVelocity(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).InitialVelocity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetInitialVelocity(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetInitialVelocity)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for Vector3NaturalMotionAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for Vector3NaturalMotionAnimation {}
impl ::core::fmt::Debug for Vector3NaturalMotionAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("Vector3NaturalMotionAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for Vector3NaturalMotionAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Vector3NaturalMotionAnimation;{9c17042c-e2ca-45ad-969e-4e78b7b9ad41})");
}
impl ::core::clone::Clone for Vector3NaturalMotionAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for Vector3NaturalMotionAnimation {
type Vtable = IVector3NaturalMotionAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for Vector3NaturalMotionAnimation {
const IID: ::windows::core::GUID = <IVector3NaturalMotionAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for Vector3NaturalMotionAnimation {
const NAME: &'static str = "Windows.UI.Composition.Vector3NaturalMotionAnimation";
}
::windows::imp::interface_hierarchy!(Vector3NaturalMotionAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for Vector3NaturalMotionAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for Vector3NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for Vector3NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<NaturalMotionAnimation> for Vector3NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for Vector3NaturalMotionAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for Vector3NaturalMotionAnimation {}
unsafe impl ::core::marker::Send for Vector3NaturalMotionAnimation {}
unsafe impl ::core::marker::Sync for Vector3NaturalMotionAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct Vector4KeyFrameAnimation(::windows::core::IUnknown);
impl Vector4KeyFrameAnimation {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearAllParameters(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearAllParameters)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ClearParameter(&self, key: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).ClearParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key)).ok() }
}
pub fn SetColorParameter(&self, key: &::windows::core::HSTRING, value: super::Color) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetColorParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix3x2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix3x2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetMatrix4x4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetMatrix4x4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetQuaternionParameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetQuaternionParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetReferenceParameter<P0>(&self, key: &::windows::core::HSTRING, compositionobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), compositionobject.try_into_param()?.abi()).ok() }
}
pub fn SetScalarParameter(&self, key: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetScalarParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector2Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector2Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector3Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector3Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetVector4Parameter(&self, key: &::windows::core::HSTRING, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetVector4Parameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn SetBooleanParameter(&self, key: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetBooleanParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value).ok() }
}
pub fn Target(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Target)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetTarget(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn InitialValueExpressions(&self) -> ::windows::core::Result<InitialValueExpressionCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<InitialValueExpressionCollection>();
(::windows::core::Interface::vtable(this).InitialValueExpressions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetExpressionReferenceParameter<P0>(&self, parametername: &::windows::core::HSTRING, source: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<IAnimationObject>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionAnimation4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetExpressionReferenceParameter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(parametername), source.try_into_param()?.abi()).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DelayTime(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).DelayTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayTime)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Duration(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
(::windows::core::Interface::vtable(this).Duration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDuration)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationBehavior(&self) -> ::windows::core::Result<AnimationIterationBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationIterationBehavior>();
(::windows::core::Interface::vtable(this).IterationBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIterationBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IterationCount(&self) -> ::windows::core::Result<i32> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).IterationCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIterationCount(&self, value: i32) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIterationCount)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn KeyFrameCount(&self) -> ::windows::core::Result<i32> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).KeyFrameCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StopBehavior(&self) -> ::windows::core::Result<AnimationStopBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationStopBehavior>();
(::windows::core::Interface::vtable(this).StopBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetStopBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn InsertExpressionKeyFrame(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrame)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value)).ok() }
}
pub fn InsertExpressionKeyFrameWithEasingFunction<P0>(&self, normalizedprogresskey: f32, value: &::windows::core::HSTRING, easingfunction: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionEasingFunction>,
{
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation>(self)?;
unsafe { (::windows::core::Interface::vtable(this).InsertExpressionKeyFrameWithEasingFunction)(::windows::core::Interface::as_raw(this), normalizedprogresskey, ::core::mem::transmute_copy(value), easingfunction.try_into_param()?.abi()).ok() }
}
pub fn Direction(&self) -> ::windows::core::Result<AnimationDirection> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDirection>();
(::windows::core::Interface::vtable(this).Direction)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDirection)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn DelayBehavior(&self) -> ::windows::core::Result<AnimationDelayBehavior> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationDelayBehavior>();
(::windows::core::Interface::vtable(this).DelayBehavior)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IKeyFrameAnimation3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDelayBehavior)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InsertKeyFrame(&self, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector4) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertKeyFrame)(::windows::core::Interface::as_raw(this), normalizedprogresskey, value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn InsertKeyFrameWithEasingFunction<P0>(&self, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector4, easingfunction: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionEasingFunction>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertKeyFrameWithEasingFunction)(::windows::core::Interface::as_raw(this), normalizedprogresskey, value, easingfunction.try_into_param()?.abi()).ok() }
}
}
impl ::core::cmp::PartialEq for Vector4KeyFrameAnimation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for Vector4KeyFrameAnimation {}
impl ::core::fmt::Debug for Vector4KeyFrameAnimation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("Vector4KeyFrameAnimation").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for Vector4KeyFrameAnimation {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Vector4KeyFrameAnimation;{2457945b-addd-4385-9606-b6a3d5e4e1b9})");
}
impl ::core::clone::Clone for Vector4KeyFrameAnimation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for Vector4KeyFrameAnimation {
type Vtable = IVector4KeyFrameAnimation_Vtbl;
}
unsafe impl ::windows::core::ComInterface for Vector4KeyFrameAnimation {
const IID: ::windows::core::GUID = <IVector4KeyFrameAnimation as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for Vector4KeyFrameAnimation {
const NAME: &'static str = "Windows.UI.Composition.Vector4KeyFrameAnimation";
}
::windows::imp::interface_hierarchy!(Vector4KeyFrameAnimation, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for Vector4KeyFrameAnimation {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for Vector4KeyFrameAnimation {}
impl ::windows::core::CanTryInto<ICompositionAnimationBase> for Vector4KeyFrameAnimation {}
impl ::windows::core::CanTryInto<KeyFrameAnimation> for Vector4KeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionAnimation> for Vector4KeyFrameAnimation {}
impl ::windows::core::CanTryInto<CompositionObject> for Vector4KeyFrameAnimation {}
unsafe impl ::core::marker::Send for Vector4KeyFrameAnimation {}
unsafe impl ::core::marker::Sync for Vector4KeyFrameAnimation {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct Visual(::windows::core::IUnknown);
impl Visual {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn AnchorPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).AnchorPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetAnchorPoint(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetAnchorPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn BackfaceVisibility(&self) -> ::windows::core::Result<CompositionBackfaceVisibility> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBackfaceVisibility>();
(::windows::core::Interface::vtable(this).BackfaceVisibility)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetBackfaceVisibility)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn BorderMode(&self) -> ::windows::core::Result<CompositionBorderMode> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionBorderMode>();
(::windows::core::Interface::vtable(this).BorderMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetBorderMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn CenterPoint(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).CenterPoint)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetCenterPoint(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetCenterPoint)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Clip(&self) -> ::windows::core::Result<CompositionClip> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionClip>();
(::windows::core::Interface::vtable(this).Clip)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetClip<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionClip>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetClip)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn CompositeMode(&self) -> ::windows::core::Result<CompositionCompositeMode> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionCompositeMode>();
(::windows::core::Interface::vtable(this).CompositeMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetCompositeMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsVisible(&self) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsVisible)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsVisible(&self, value: bool) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetIsVisible)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Offset(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Offset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOffset(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Opacity(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).Opacity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetOpacity(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetOpacity)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Orientation(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Quaternion> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Quaternion>();
(::windows::core::Interface::vtable(this).Orientation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetOrientation(&self, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetOrientation)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Parent(&self) -> ::windows::core::Result<ContainerVisual> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<ContainerVisual>();
(::windows::core::Interface::vtable(this).Parent)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn RotationAngle(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngle(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngle)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn RotationAngleInDegrees(&self) -> ::windows::core::Result<f32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(this).RotationAngleInDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAngleInDegrees)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RotationAxis(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).RotationAxis)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRotationAxis(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetRotationAxis)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Scale(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).Scale)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetScale(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetScale)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn Size(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetSize(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetSize)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn TransformMatrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix4x4> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix4x4>();
(::windows::core::Interface::vtable(this).TransformMatrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetTransformMatrix(&self, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetTransformMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn ParentForTransform(&self) -> ::windows::core::Result<Visual> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Visual>();
(::windows::core::Interface::vtable(this).ParentForTransform)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetParentForTransform<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetParentForTransform)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RelativeOffsetAdjustment(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector3> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector3>();
(::windows::core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRelativeOffsetAdjustment(&self, value: super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRelativeOffsetAdjustment)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn RelativeSizeAdjustment(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Vector2> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Vector2>();
(::windows::core::Interface::vtable(this).RelativeSizeAdjustment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"Foundation_Numerics\"`*"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetRelativeSizeAdjustment(&self, value: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetRelativeSizeAdjustment)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsHitTestVisible(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsHitTestVisible)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsHitTestVisible)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsPixelSnappingEnabled(&self) -> ::windows::core::Result<bool> {
let this = &::windows::core::ComInterface::cast::<IVisual4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<bool>();
(::windows::core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IVisual4>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetIsPixelSnappingEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::cmp::PartialEq for Visual {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for Visual {}
impl ::core::fmt::Debug for Visual {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("Visual").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for Visual {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Visual;{117e202d-a859-4c89-873b-c2aa566788e3})");
}
impl ::core::clone::Clone for Visual {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for Visual {
type Vtable = IVisual_Vtbl;
}
unsafe impl ::windows::core::ComInterface for Visual {
const IID: ::windows::core::GUID = <IVisual as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for Visual {
const NAME: &'static str = "Windows.UI.Composition.Visual";
}
::windows::imp::interface_hierarchy!(Visual, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for Visual {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for Visual {}
impl ::windows::core::CanTryInto<CompositionObject> for Visual {}
unsafe impl ::core::marker::Send for Visual {}
unsafe impl ::core::marker::Sync for Visual {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct VisualCollection(::windows::core::IUnknown);
impl VisualCollection {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn First(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IIterator<Visual>> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IIterable<Visual>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IIterator<Visual>>();
(::windows::core::Interface::vtable(this).First)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Count(&self) -> ::windows::core::Result<i32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).Count)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn InsertAbove<P0, P1>(&self, newchild: P0, sibling: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
P1: ::windows::core::TryIntoParam<Visual>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertAbove)(::windows::core::Interface::as_raw(this), newchild.try_into_param()?.abi(), sibling.try_into_param()?.abi()).ok() }
}
pub fn InsertAtBottom<P0>(&self, newchild: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertAtBottom)(::windows::core::Interface::as_raw(this), newchild.try_into_param()?.abi()).ok() }
}
pub fn InsertAtTop<P0>(&self, newchild: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertAtTop)(::windows::core::Interface::as_raw(this), newchild.try_into_param()?.abi()).ok() }
}
pub fn InsertBelow<P0, P1>(&self, newchild: P0, sibling: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
P1: ::windows::core::TryIntoParam<Visual>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).InsertBelow)(::windows::core::Interface::as_raw(this), newchild.try_into_param()?.abi(), sibling.try_into_param()?.abi()).ok() }
}
pub fn Remove<P0>(&self, child: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Remove)(::windows::core::Interface::as_raw(this), child.try_into_param()?.abi()).ok() }
}
pub fn RemoveAll(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveAll)(::windows::core::Interface::as_raw(this)).ok() }
}
}
impl ::core::cmp::PartialEq for VisualCollection {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for VisualCollection {}
impl ::core::fmt::Debug for VisualCollection {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VisualCollection").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for VisualCollection {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.VisualCollection;{8b745505-fd3e-4a98-84a8-e949468c6bcb})");
}
impl ::core::clone::Clone for VisualCollection {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for VisualCollection {
type Vtable = IVisualCollection_Vtbl;
}
unsafe impl ::windows::core::ComInterface for VisualCollection {
const IID: ::windows::core::GUID = <IVisualCollection as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for VisualCollection {
const NAME: &'static str = "Windows.UI.Composition.VisualCollection";
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for VisualCollection {
type Item = Visual;
type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
::core::iter::IntoIterator::into_iter(&self)
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for &VisualCollection {
type Item = Visual;
type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
self.First().unwrap()
}
}
::windows::imp::interface_hierarchy!(VisualCollection, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for VisualCollection {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for VisualCollection {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::Collections::IIterable<Visual>> for VisualCollection {}
impl ::windows::core::CanTryInto<CompositionObject> for VisualCollection {}
unsafe impl ::core::marker::Send for VisualCollection {}
unsafe impl ::core::marker::Sync for VisualCollection {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
pub struct VisualUnorderedCollection(::windows::core::IUnknown);
impl VisualUnorderedCollection {
pub fn PopulatePropertyInfo(&self, propertyname: &::windows::core::HSTRING, propertyinfo: &AnimationPropertyInfo) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<IAnimationObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).PopulatePropertyInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), ::core::mem::transmute_copy(propertyinfo)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Compositor(&self) -> ::windows::core::Result<Compositor> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<Compositor>();
(::windows::core::Interface::vtable(this).Compositor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "*Required features: `\"UI_Core\"`*"]
#[cfg(feature = "UI_Core")]
pub fn Dispatcher(&self) -> ::windows::core::Result<super::Core::CoreDispatcher> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::Core::CoreDispatcher>();
(::windows::core::Interface::vtable(this).Dispatcher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Properties(&self) -> ::windows::core::Result<CompositionPropertySet> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<CompositionPropertySet>();
(::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StartAnimation<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi()).ok() }
}
pub fn StopAnimation(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname)).ok() }
}
pub fn Comment(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
(::windows::core::Interface::vtable(this).Comment)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetComment(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetComment)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn ImplicitAnimations(&self) -> ::windows::core::Result<ImplicitAnimationCollection> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<ImplicitAnimationCollection>();
(::windows::core::Interface::vtable(this).ImplicitAnimations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetImplicitAnimations(&self, value: &ImplicitAnimationCollection) -> ::windows::core::Result<()> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetImplicitAnimations)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn StartAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn StopAnimationGroup<P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<ICompositionAnimationBase>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StopAnimationGroup)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "*Required features: `\"System\"`*"]
#[cfg(feature = "System")]
pub fn DispatcherQueue(&self) -> ::windows::core::Result<super::super::System::DispatcherQueue> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject3>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::System::DispatcherQueue>();
(::windows::core::Interface::vtable(this).DispatcherQueue)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetAnimationController(&self, propertyname: &::windows::core::HSTRING) -> ::windows::core::Result<AnimationController> {
let this = &::windows::core::ComInterface::cast::<ICompositionObject4>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<AnimationController>();
(::windows::core::Interface::vtable(this).TryGetAnimationController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__)
}
}
pub fn StartAnimationWithController<P0>(&self, propertyname: &::windows::core::HSTRING, animation: P0, animationcontroller: &AnimationController) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<CompositionAnimation>,
{
let this = &::windows::core::ComInterface::cast::<ICompositionObject5>(self)?;
unsafe { (::windows::core::Interface::vtable(this).StartAnimationWithController)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), animation.try_into_param()?.abi(), ::core::mem::transmute_copy(animationcontroller)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn First(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IIterator<Visual>> {
let this = &::windows::core::ComInterface::cast::<super::super::Foundation::Collections::IIterable<Visual>>(self)?;
unsafe {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IIterator<Visual>>();
(::windows::core::Interface::vtable(this).First)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Count(&self) -> ::windows::core::Result<i32> {
let this = self;
unsafe {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(this).Count)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Add<P0>(&self, newvisual: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Add)(::windows::core::Interface::as_raw(this), newvisual.try_into_param()?.abi()).ok() }
}
pub fn Remove<P0>(&self, visual: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::TryIntoParam<Visual>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Remove)(::windows::core::Interface::as_raw(this), visual.try_into_param()?.abi()).ok() }
}
pub fn RemoveAll(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveAll)(::windows::core::Interface::as_raw(this)).ok() }
}
}
impl ::core::cmp::PartialEq for VisualUnorderedCollection {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for VisualUnorderedCollection {}
impl ::core::fmt::Debug for VisualUnorderedCollection {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VisualUnorderedCollection").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for VisualUnorderedCollection {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.VisualUnorderedCollection;{338faa70-54c8-40a7-8029-c9ceeb0aa250})");
}
impl ::core::clone::Clone for VisualUnorderedCollection {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::Interface for VisualUnorderedCollection {
type Vtable = IVisualUnorderedCollection_Vtbl;
}
unsafe impl ::windows::core::ComInterface for VisualUnorderedCollection {
const IID: ::windows::core::GUID = <IVisualUnorderedCollection as ::windows::core::ComInterface>::IID;
}
impl ::windows::core::RuntimeName for VisualUnorderedCollection {
const NAME: &'static str = "Windows.UI.Composition.VisualUnorderedCollection";
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for VisualUnorderedCollection {
type Item = Visual;
type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
::core::iter::IntoIterator::into_iter(&self)
}
}
#[cfg(feature = "Foundation_Collections")]
impl ::core::iter::IntoIterator for &VisualUnorderedCollection {
type Item = Visual;
type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
fn into_iter(self) -> Self::IntoIter {
self.First().unwrap()
}
}
::windows::imp::interface_hierarchy!(VisualUnorderedCollection, ::windows::core::IUnknown, ::windows::core::IInspectable);
impl ::windows::core::CanTryInto<IAnimationObject> for VisualUnorderedCollection {}
#[cfg(feature = "Foundation")]
impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for VisualUnorderedCollection {}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::CanTryInto<super::super::Foundation::Collections::IIterable<Visual>> for VisualUnorderedCollection {}
impl ::windows::core::CanTryInto<CompositionObject> for VisualUnorderedCollection {}
unsafe impl ::core::marker::Send for VisualUnorderedCollection {}
unsafe impl ::core::marker::Sync for VisualUnorderedCollection {}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AnimationControllerProgressBehavior(pub i32);
impl AnimationControllerProgressBehavior {
pub const Default: Self = Self(0i32);
pub const IncludesDelayTime: Self = Self(1i32);
}
impl ::core::marker::Copy for AnimationControllerProgressBehavior {}
impl ::core::clone::Clone for AnimationControllerProgressBehavior {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AnimationControllerProgressBehavior {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AnimationControllerProgressBehavior {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AnimationControllerProgressBehavior {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AnimationControllerProgressBehavior").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for AnimationControllerProgressBehavior {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.AnimationControllerProgressBehavior;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AnimationDelayBehavior(pub i32);
impl AnimationDelayBehavior {
pub const SetInitialValueAfterDelay: Self = Self(0i32);
pub const SetInitialValueBeforeDelay: Self = Self(1i32);
}
impl ::core::marker::Copy for AnimationDelayBehavior {}
impl ::core::clone::Clone for AnimationDelayBehavior {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AnimationDelayBehavior {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AnimationDelayBehavior {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AnimationDelayBehavior {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AnimationDelayBehavior").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for AnimationDelayBehavior {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.AnimationDelayBehavior;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AnimationDirection(pub i32);
impl AnimationDirection {
pub const Normal: Self = Self(0i32);
pub const Reverse: Self = Self(1i32);
pub const Alternate: Self = Self(2i32);
pub const AlternateReverse: Self = Self(3i32);
}
impl ::core::marker::Copy for AnimationDirection {}
impl ::core::clone::Clone for AnimationDirection {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AnimationDirection {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AnimationDirection {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AnimationDirection {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AnimationDirection").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for AnimationDirection {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.AnimationDirection;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AnimationIterationBehavior(pub i32);
impl AnimationIterationBehavior {
pub const Count: Self = Self(0i32);
pub const Forever: Self = Self(1i32);
}
impl ::core::marker::Copy for AnimationIterationBehavior {}
impl ::core::clone::Clone for AnimationIterationBehavior {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AnimationIterationBehavior {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AnimationIterationBehavior {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AnimationIterationBehavior {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AnimationIterationBehavior").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for AnimationIterationBehavior {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.AnimationIterationBehavior;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AnimationPropertyAccessMode(pub i32);
impl AnimationPropertyAccessMode {
pub const None: Self = Self(0i32);
pub const ReadOnly: Self = Self(1i32);
pub const WriteOnly: Self = Self(2i32);
pub const ReadWrite: Self = Self(3i32);
}
impl ::core::marker::Copy for AnimationPropertyAccessMode {}
impl ::core::clone::Clone for AnimationPropertyAccessMode {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AnimationPropertyAccessMode {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AnimationPropertyAccessMode {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AnimationPropertyAccessMode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AnimationPropertyAccessMode").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for AnimationPropertyAccessMode {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.AnimationPropertyAccessMode;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AnimationStopBehavior(pub i32);
impl AnimationStopBehavior {
pub const LeaveCurrentValue: Self = Self(0i32);
pub const SetToInitialValue: Self = Self(1i32);
pub const SetToFinalValue: Self = Self(2i32);
}
impl ::core::marker::Copy for AnimationStopBehavior {}
impl ::core::clone::Clone for AnimationStopBehavior {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AnimationStopBehavior {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AnimationStopBehavior {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AnimationStopBehavior {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AnimationStopBehavior").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for AnimationStopBehavior {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.AnimationStopBehavior;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CompositionBackfaceVisibility(pub i32);
impl CompositionBackfaceVisibility {
pub const Inherit: Self = Self(0i32);
pub const Visible: Self = Self(1i32);
pub const Hidden: Self = Self(2i32);
}
impl ::core::marker::Copy for CompositionBackfaceVisibility {}
impl ::core::clone::Clone for CompositionBackfaceVisibility {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CompositionBackfaceVisibility {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CompositionBackfaceVisibility {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CompositionBackfaceVisibility {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionBackfaceVisibility").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionBackfaceVisibility {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionBackfaceVisibility;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CompositionBatchTypes(pub u32);
impl CompositionBatchTypes {
pub const None: Self = Self(0u32);
pub const Animation: Self = Self(1u32);
pub const Effect: Self = Self(2u32);
pub const InfiniteAnimation: Self = Self(4u32);
pub const AllAnimations: Self = Self(5u32);
}
impl ::core::marker::Copy for CompositionBatchTypes {}
impl ::core::clone::Clone for CompositionBatchTypes {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CompositionBatchTypes {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CompositionBatchTypes {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CompositionBatchTypes {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionBatchTypes").field(&self.0).finish()
}
}
impl CompositionBatchTypes {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl ::core::ops::BitOr for CompositionBatchTypes {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for CompositionBatchTypes {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for CompositionBatchTypes {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for CompositionBatchTypes {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for CompositionBatchTypes {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
impl ::windows::core::RuntimeType for CompositionBatchTypes {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionBatchTypes;u4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CompositionBitmapInterpolationMode(pub i32);
impl CompositionBitmapInterpolationMode {
pub const NearestNeighbor: Self = Self(0i32);
pub const Linear: Self = Self(1i32);
pub const MagLinearMinLinearMipLinear: Self = Self(2i32);
pub const MagLinearMinLinearMipNearest: Self = Self(3i32);
pub const MagLinearMinNearestMipLinear: Self = Self(4i32);
pub const MagLinearMinNearestMipNearest: Self = Self(5i32);
pub const MagNearestMinLinearMipLinear: Self = Self(6i32);
pub const MagNearestMinLinearMipNearest: Self = Self(7i32);
pub const MagNearestMinNearestMipLinear: Self = Self(8i32);
pub const MagNearestMinNearestMipNearest: Self = Self(9i32);
}
impl ::core::marker::Copy for CompositionBitmapInterpolationMode {}
impl ::core::clone::Clone for CompositionBitmapInterpolationMode {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CompositionBitmapInterpolationMode {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CompositionBitmapInterpolationMode {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CompositionBitmapInterpolationMode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionBitmapInterpolationMode").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionBitmapInterpolationMode {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionBitmapInterpolationMode;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CompositionBorderMode(pub i32);
impl CompositionBorderMode {
pub const Inherit: Self = Self(0i32);
pub const Soft: Self = Self(1i32);
pub const Hard: Self = Self(2i32);
}
impl ::core::marker::Copy for CompositionBorderMode {}
impl ::core::clone::Clone for CompositionBorderMode {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CompositionBorderMode {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CompositionBorderMode {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CompositionBorderMode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionBorderMode").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionBorderMode {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionBorderMode;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CompositionColorSpace(pub i32);
impl CompositionColorSpace {
pub const Auto: Self = Self(0i32);
pub const Hsl: Self = Self(1i32);
pub const Rgb: Self = Self(2i32);
pub const HslLinear: Self = Self(3i32);
pub const RgbLinear: Self = Self(4i32);
}
impl ::core::marker::Copy for CompositionColorSpace {}
impl ::core::clone::Clone for CompositionColorSpace {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CompositionColorSpace {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CompositionColorSpace {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CompositionColorSpace {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionColorSpace").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionColorSpace {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionColorSpace;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CompositionCompositeMode(pub i32);
impl CompositionCompositeMode {
pub const Inherit: Self = Self(0i32);
pub const SourceOver: Self = Self(1i32);
pub const DestinationInvert: Self = Self(2i32);
pub const MinBlend: Self = Self(3i32);
}
impl ::core::marker::Copy for CompositionCompositeMode {}
impl ::core::clone::Clone for CompositionCompositeMode {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CompositionCompositeMode {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CompositionCompositeMode {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CompositionCompositeMode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionCompositeMode").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionCompositeMode {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionCompositeMode;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CompositionDropShadowSourcePolicy(pub i32);
impl CompositionDropShadowSourcePolicy {
pub const Default: Self = Self(0i32);
pub const InheritFromVisualContent: Self = Self(1i32);
}
impl ::core::marker::Copy for CompositionDropShadowSourcePolicy {}
impl ::core::clone::Clone for CompositionDropShadowSourcePolicy {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CompositionDropShadowSourcePolicy {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CompositionDropShadowSourcePolicy {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CompositionDropShadowSourcePolicy {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionDropShadowSourcePolicy").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionDropShadowSourcePolicy {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionDropShadowSourcePolicy;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CompositionEasingFunctionMode(pub i32);
impl CompositionEasingFunctionMode {
pub const In: Self = Self(0i32);
pub const Out: Self = Self(1i32);
pub const InOut: Self = Self(2i32);
}
impl ::core::marker::Copy for CompositionEasingFunctionMode {}
impl ::core::clone::Clone for CompositionEasingFunctionMode {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CompositionEasingFunctionMode {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CompositionEasingFunctionMode {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CompositionEasingFunctionMode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionEasingFunctionMode").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionEasingFunctionMode {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionEasingFunctionMode;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CompositionEffectFactoryLoadStatus(pub i32);
impl CompositionEffectFactoryLoadStatus {
pub const Success: Self = Self(0i32);
pub const EffectTooComplex: Self = Self(1i32);
pub const Pending: Self = Self(2i32);
pub const Other: Self = Self(-1i32);
}
impl ::core::marker::Copy for CompositionEffectFactoryLoadStatus {}
impl ::core::clone::Clone for CompositionEffectFactoryLoadStatus {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CompositionEffectFactoryLoadStatus {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CompositionEffectFactoryLoadStatus {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CompositionEffectFactoryLoadStatus {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionEffectFactoryLoadStatus").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionEffectFactoryLoadStatus {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionEffectFactoryLoadStatus;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CompositionGetValueStatus(pub i32);
impl CompositionGetValueStatus {
pub const Succeeded: Self = Self(0i32);
pub const TypeMismatch: Self = Self(1i32);
pub const NotFound: Self = Self(2i32);
}
impl ::core::marker::Copy for CompositionGetValueStatus {}
impl ::core::clone::Clone for CompositionGetValueStatus {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CompositionGetValueStatus {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CompositionGetValueStatus {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CompositionGetValueStatus {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionGetValueStatus").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionGetValueStatus {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionGetValueStatus;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CompositionGradientExtendMode(pub i32);
impl CompositionGradientExtendMode {
pub const Clamp: Self = Self(0i32);
pub const Wrap: Self = Self(1i32);
pub const Mirror: Self = Self(2i32);
}
impl ::core::marker::Copy for CompositionGradientExtendMode {}
impl ::core::clone::Clone for CompositionGradientExtendMode {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CompositionGradientExtendMode {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CompositionGradientExtendMode {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CompositionGradientExtendMode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionGradientExtendMode").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionGradientExtendMode {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionGradientExtendMode;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CompositionMappingMode(pub i32);
impl CompositionMappingMode {
pub const Absolute: Self = Self(0i32);
pub const Relative: Self = Self(1i32);
}
impl ::core::marker::Copy for CompositionMappingMode {}
impl ::core::clone::Clone for CompositionMappingMode {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CompositionMappingMode {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CompositionMappingMode {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CompositionMappingMode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionMappingMode").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionMappingMode {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionMappingMode;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CompositionStretch(pub i32);
impl CompositionStretch {
pub const None: Self = Self(0i32);
pub const Fill: Self = Self(1i32);
pub const Uniform: Self = Self(2i32);
pub const UniformToFill: Self = Self(3i32);
}
impl ::core::marker::Copy for CompositionStretch {}
impl ::core::clone::Clone for CompositionStretch {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CompositionStretch {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CompositionStretch {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CompositionStretch {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionStretch").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionStretch {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionStretch;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CompositionStrokeCap(pub i32);
impl CompositionStrokeCap {
pub const Flat: Self = Self(0i32);
pub const Square: Self = Self(1i32);
pub const Round: Self = Self(2i32);
pub const Triangle: Self = Self(3i32);
}
impl ::core::marker::Copy for CompositionStrokeCap {}
impl ::core::clone::Clone for CompositionStrokeCap {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CompositionStrokeCap {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CompositionStrokeCap {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CompositionStrokeCap {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionStrokeCap").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionStrokeCap {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionStrokeCap;i4)");
}
#[doc = "*Required features: `\"UI_Composition\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CompositionStrokeLineJoin(pub i32);
impl CompositionStrokeLineJoin {
pub const Miter: Self = Self(0i32);
pub const Bevel: Self = Self(1i32);
pub const Round: Self = Self(2i32);
pub const MiterOrBevel: Self = Self(3i32);
}
impl ::core::marker::Copy for CompositionStrokeLineJoin {}
impl ::core::clone::Clone for CompositionStrokeLineJoin {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CompositionStrokeLineJoin {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CompositionStrokeLineJoin {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CompositionStrokeLineJoin {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompositionStrokeLineJoin").field(&self.0).finish()
}
}
impl ::windows::core::RuntimeType for CompositionStrokeLineJoin {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionStrokeLineJoin;i4)");
}
#[repr(C)]
#[doc = "*Required features: `\"UI_Composition\"`, `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub struct InkTrailPoint {
pub Point: super::super::Foundation::Point,
pub Radius: f32,
}
#[cfg(feature = "Foundation")]
impl ::core::marker::Copy for InkTrailPoint {}
#[cfg(feature = "Foundation")]
impl ::core::clone::Clone for InkTrailPoint {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Foundation")]
impl ::core::fmt::Debug for InkTrailPoint {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("InkTrailPoint").field("Point", &self.Point).field("Radius", &self.Radius).finish()
}
}
#[cfg(feature = "Foundation")]
impl ::windows::core::TypeKind for InkTrailPoint {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Foundation")]
impl ::windows::core::RuntimeType for InkTrailPoint {
const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"struct(Windows.UI.Composition.InkTrailPoint;struct(Windows.Foundation.Point;f4;f4);f4)");
}
#[cfg(feature = "Foundation")]
impl ::core::cmp::PartialEq for InkTrailPoint {
fn eq(&self, other: &Self) -> bool {
self.Point == other.Point && self.Radius == other.Radius
}
}
#[cfg(feature = "Foundation")]
impl ::core::cmp::Eq for InkTrailPoint {}
#[cfg(feature = "Foundation")]
impl ::core::default::Default for InkTrailPoint {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[cfg(feature = "implement")]
::core::include!("impl.rs");