// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_UI_Core_AnimationMetrics_0_H #define WINRT_Windows_UI_Core_AnimationMetrics_0_H WINRT_EXPORT namespace winrt::Windows::Foundation { struct Point; } WINRT_EXPORT namespace winrt::Windows::UI::Core::AnimationMetrics { enum class AnimationEffect : int32_t { Expand = 0, Collapse = 1, Reposition = 2, FadeIn = 3, FadeOut = 4, AddToList = 5, DeleteFromList = 6, AddToGrid = 7, DeleteFromGrid = 8, AddToSearchGrid = 9, DeleteFromSearchGrid = 10, AddToSearchList = 11, DeleteFromSearchList = 12, ShowEdgeUI = 13, ShowPanel = 14, HideEdgeUI = 15, HidePanel = 16, ShowPopup = 17, HidePopup = 18, PointerDown = 19, PointerUp = 20, DragSourceStart = 21, DragSourceEnd = 22, TransitionContent = 23, Reveal = 24, Hide = 25, DragBetweenEnter = 26, DragBetweenLeave = 27, SwipeSelect = 28, SwipeDeselect = 29, SwipeReveal = 30, EnterPage = 31, TransitionPage = 32, CrossFade = 33, Peek = 34, UpdateBadge = 35, }; enum class AnimationEffectTarget : int32_t { Primary = 0, Added = 1, Affected = 2, Background = 3, Content = 4, Deleted = 5, Deselected = 6, DragSource = 7, Hidden = 8, Incoming = 9, Outgoing = 10, Outline = 11, Remaining = 12, Revealed = 13, RowIn = 14, RowOut = 15, Selected = 16, Selection = 17, Shown = 18, Tapped = 19, }; enum class PropertyAnimationType : int32_t { Scale = 0, Translation = 1, Opacity = 2, }; struct IAnimationDescription; struct IAnimationDescriptionFactory; struct IOpacityAnimation; struct IPropertyAnimation; struct IScaleAnimation; struct AnimationDescription; struct OpacityAnimation; struct PropertyAnimation; struct ScaleAnimation; struct TranslationAnimation; struct AnimationMetricsContract; } namespace winrt::impl { template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> inline constexpr auto& name_v = L"Windows.UI.Core.AnimationMetrics.AnimationDescription"; template <> inline constexpr auto& name_v = L"Windows.UI.Core.AnimationMetrics.OpacityAnimation"; template <> inline constexpr auto& name_v = L"Windows.UI.Core.AnimationMetrics.PropertyAnimation"; template <> inline constexpr auto& name_v = L"Windows.UI.Core.AnimationMetrics.ScaleAnimation"; template <> inline constexpr auto& name_v = L"Windows.UI.Core.AnimationMetrics.TranslationAnimation"; template <> inline constexpr auto& name_v = L"Windows.UI.Core.AnimationMetrics.AnimationEffect"; template <> inline constexpr auto& name_v = L"Windows.UI.Core.AnimationMetrics.AnimationEffectTarget"; template <> inline constexpr auto& name_v = L"Windows.UI.Core.AnimationMetrics.PropertyAnimationType"; template <> inline constexpr auto& name_v = L"Windows.UI.Core.AnimationMetrics.IAnimationDescription"; template <> inline constexpr auto& name_v = L"Windows.UI.Core.AnimationMetrics.IAnimationDescriptionFactory"; template <> inline constexpr auto& name_v = L"Windows.UI.Core.AnimationMetrics.IOpacityAnimation"; template <> inline constexpr auto& name_v = L"Windows.UI.Core.AnimationMetrics.IPropertyAnimation"; template <> inline constexpr auto& name_v = L"Windows.UI.Core.AnimationMetrics.IScaleAnimation"; template <> inline constexpr auto& name_v = L"Windows.UI.Core.AnimationMetrics.AnimationMetricsContract"; template <> inline constexpr guid guid_v{ 0x7D11A549,0xBE3D,0x41DE,{ 0xB0,0x81,0x05,0xC1,0x49,0x96,0x2F,0x9B } }; // 7D11A549-BE3D-41DE-B081-05C149962F9B template <> inline constexpr guid guid_v{ 0xC6E27ABE,0xC1FB,0x48B5,{ 0x92,0x71,0xEC,0xC7,0x0A,0xC8,0x6E,0xF0 } }; // C6E27ABE-C1FB-48B5-9271-ECC70AC86EF0 template <> inline constexpr guid guid_v{ 0x803AABE5,0xEE7E,0x455F,{ 0x84,0xE9,0x25,0x06,0xAF,0xB8,0xD2,0xB4 } }; // 803AABE5-EE7E-455F-84E9-2506AFB8D2B4 template <> inline constexpr guid guid_v{ 0x3A01B4DA,0x4D8C,0x411E,{ 0xB6,0x15,0x1A,0xDE,0x68,0x3A,0x99,0x03 } }; // 3A01B4DA-4D8C-411E-B615-1ADE683A9903 template <> inline constexpr guid guid_v{ 0x023552C7,0x71AB,0x428C,{ 0x9C,0x9F,0xD3,0x17,0x80,0x96,0x49,0x95 } }; // 023552C7-71AB-428C-9C9F-D31780964995 template <> struct default_interface{ using type = winrt::Windows::UI::Core::AnimationMetrics::IAnimationDescription; }; template <> struct default_interface{ using type = winrt::Windows::UI::Core::AnimationMetrics::IOpacityAnimation; }; template <> struct default_interface{ using type = winrt::Windows::UI::Core::AnimationMetrics::IPropertyAnimation; }; template <> struct default_interface{ using type = winrt::Windows::UI::Core::AnimationMetrics::IScaleAnimation; }; template <> struct default_interface{ using type = winrt::Windows::UI::Core::AnimationMetrics::IPropertyAnimation; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Animations(void**) noexcept = 0; virtual int32_t __stdcall get_StaggerDelay(int64_t*) noexcept = 0; virtual int32_t __stdcall get_StaggerDelayFactor(float*) noexcept = 0; virtual int32_t __stdcall get_DelayLimit(int64_t*) noexcept = 0; virtual int32_t __stdcall get_ZOrder(int32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateInstance(int32_t, int32_t, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_InitialOpacity(void**) noexcept = 0; virtual int32_t __stdcall get_FinalOpacity(float*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Type(int32_t*) noexcept = 0; virtual int32_t __stdcall get_Delay(int64_t*) noexcept = 0; virtual int32_t __stdcall get_Duration(int64_t*) noexcept = 0; virtual int32_t __stdcall get_Control1(winrt::Windows::Foundation::Point*) noexcept = 0; virtual int32_t __stdcall get_Control2(winrt::Windows::Foundation::Point*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_InitialScaleX(void**) noexcept = 0; virtual int32_t __stdcall get_InitialScaleY(void**) noexcept = 0; virtual int32_t __stdcall get_FinalScaleX(float*) noexcept = 0; virtual int32_t __stdcall get_FinalScaleY(float*) noexcept = 0; virtual int32_t __stdcall get_NormalizedOrigin(winrt::Windows::Foundation::Point*) noexcept = 0; }; }; template struct consume_Windows_UI_Core_AnimationMetrics_IAnimationDescription { [[nodiscard]] auto Animations() const; [[nodiscard]] auto StaggerDelay() const; [[nodiscard]] auto StaggerDelayFactor() const; [[nodiscard]] auto DelayLimit() const; [[nodiscard]] auto ZOrder() const; }; template <> struct consume { template using type = consume_Windows_UI_Core_AnimationMetrics_IAnimationDescription; }; template struct consume_Windows_UI_Core_AnimationMetrics_IAnimationDescriptionFactory { auto CreateInstance(winrt::Windows::UI::Core::AnimationMetrics::AnimationEffect const& effect, winrt::Windows::UI::Core::AnimationMetrics::AnimationEffectTarget const& target) const; }; template <> struct consume { template using type = consume_Windows_UI_Core_AnimationMetrics_IAnimationDescriptionFactory; }; template struct consume_Windows_UI_Core_AnimationMetrics_IOpacityAnimation { [[nodiscard]] auto InitialOpacity() const; [[nodiscard]] auto FinalOpacity() const; }; template <> struct consume { template using type = consume_Windows_UI_Core_AnimationMetrics_IOpacityAnimation; }; template struct consume_Windows_UI_Core_AnimationMetrics_IPropertyAnimation { [[nodiscard]] auto Type() const; [[nodiscard]] auto Delay() const; [[nodiscard]] auto Duration() const; [[nodiscard]] auto Control1() const; [[nodiscard]] auto Control2() const; }; template <> struct consume { template using type = consume_Windows_UI_Core_AnimationMetrics_IPropertyAnimation; }; template struct consume_Windows_UI_Core_AnimationMetrics_IScaleAnimation { [[nodiscard]] auto InitialScaleX() const; [[nodiscard]] auto InitialScaleY() const; [[nodiscard]] auto FinalScaleX() const; [[nodiscard]] auto FinalScaleY() const; [[nodiscard]] auto NormalizedOrigin() const; }; template <> struct consume { template using type = consume_Windows_UI_Core_AnimationMetrics_IScaleAnimation; }; } #endif