// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_UI_Composition_Interactions_H #define WINRT_Windows_UI_Composition_Interactions_H #include "winrt/base.h" static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.250303.1"), "Mismatched C++/WinRT headers."); #define CPPWINRT_VERSION "2.0.250303.1" #include "winrt/Windows.UI.Composition.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.Foundation.Numerics.2.h" #include "winrt/impl/Windows.UI.Composition.2.h" #include "winrt/impl/Windows.UI.Input.2.h" #include "winrt/impl/Windows.UI.Composition.Interactions.2.h" namespace winrt::impl { template auto consume_Windows_UI_Composition_Interactions_ICompositionConditionalValue::Condition() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Condition(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Condition(&value)); } return winrt::Windows::UI::Composition::ExpressionAnimation{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_ICompositionConditionalValue::Condition(winrt::Windows::UI::Composition::ExpressionAnimation const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Condition(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Condition(*(void**)(&value))); } } template auto consume_Windows_UI_Composition_Interactions_ICompositionConditionalValue::Value() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Value(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Value(&value)); } return winrt::Windows::UI::Composition::ExpressionAnimation{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_ICompositionConditionalValue::Value(winrt::Windows::UI::Composition::ExpressionAnimation const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Value(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Value(*(void**)(&value))); } } template auto consume_Windows_UI_Composition_Interactions_ICompositionConditionalValueStatics::Create(winrt::Windows::UI::Composition::Compositor const& compositor) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } return winrt::Windows::UI::Composition::Interactions::CompositionConditionalValue{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_ICompositionInteractionSourceCollection::Count() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Count(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Count(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_ICompositionInteractionSourceCollection::Add(winrt::Windows::UI::Composition::Interactions::ICompositionInteractionSource const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Add(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Add(*(void**)(&value))); } } template auto consume_Windows_UI_Composition_Interactions_ICompositionInteractionSourceCollection::Remove(winrt::Windows::UI::Composition::Interactions::ICompositionInteractionSource const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Remove(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Remove(*(void**)(&value))); } } template auto consume_Windows_UI_Composition_Interactions_ICompositionInteractionSourceCollection::RemoveAll() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RemoveAll()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RemoveAll()); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionSourceConfiguration::PositionXSourceMode() const { winrt::Windows::UI::Composition::Interactions::InteractionSourceRedirectionMode value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PositionXSourceMode(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PositionXSourceMode(reinterpret_cast(&value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionSourceConfiguration::PositionXSourceMode(winrt::Windows::UI::Composition::Interactions::InteractionSourceRedirectionMode const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_PositionXSourceMode(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_PositionXSourceMode(static_cast(value))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionSourceConfiguration::PositionYSourceMode() const { winrt::Windows::UI::Composition::Interactions::InteractionSourceRedirectionMode value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PositionYSourceMode(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PositionYSourceMode(reinterpret_cast(&value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionSourceConfiguration::PositionYSourceMode(winrt::Windows::UI::Composition::Interactions::InteractionSourceRedirectionMode const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_PositionYSourceMode(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_PositionYSourceMode(static_cast(value))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionSourceConfiguration::ScaleSourceMode() const { winrt::Windows::UI::Composition::Interactions::InteractionSourceRedirectionMode value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ScaleSourceMode(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ScaleSourceMode(reinterpret_cast(&value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionSourceConfiguration::ScaleSourceMode(winrt::Windows::UI::Composition::Interactions::InteractionSourceRedirectionMode const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_ScaleSourceMode(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_ScaleSourceMode(static_cast(value))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::InteractionSources() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_InteractionSources(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_InteractionSources(&value)); } return winrt::Windows::UI::Composition::Interactions::CompositionInteractionSourceCollection{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::IsPositionRoundingSuggested() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsPositionRoundingSuggested(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsPositionRoundingSuggested(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::MaxPosition() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_MaxPosition(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_MaxPosition(put_abi(value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::MaxPosition(winrt::Windows::Foundation::Numerics::float3 const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_MaxPosition(impl::bind_in(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_MaxPosition(impl::bind_in(value))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::MaxScale() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_MaxScale(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_MaxScale(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::MaxScale(float value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_MaxScale(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_MaxScale(value)); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::MinPosition() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_MinPosition(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_MinPosition(put_abi(value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::MinPosition(winrt::Windows::Foundation::Numerics::float3 const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_MinPosition(impl::bind_in(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_MinPosition(impl::bind_in(value))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::MinScale() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_MinScale(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_MinScale(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::MinScale(float value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_MinScale(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_MinScale(value)); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::NaturalRestingPosition() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_NaturalRestingPosition(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_NaturalRestingPosition(put_abi(value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::NaturalRestingScale() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_NaturalRestingScale(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_NaturalRestingScale(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::Owner() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Owner(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Owner(&value)); } return winrt::Windows::UI::Composition::Interactions::IInteractionTrackerOwner{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::Position() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Position(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Position(put_abi(value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::PositionInertiaDecayRate() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PositionInertiaDecayRate(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PositionInertiaDecayRate(&value)); } return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::PositionInertiaDecayRate(winrt::Windows::Foundation::IReference const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_PositionInertiaDecayRate(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_PositionInertiaDecayRate(*(void**)(&value))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::PositionVelocityInPixelsPerSecond() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PositionVelocityInPixelsPerSecond(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PositionVelocityInPixelsPerSecond(put_abi(value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::Scale() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Scale(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Scale(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::ScaleInertiaDecayRate() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ScaleInertiaDecayRate(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ScaleInertiaDecayRate(&value)); } return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::ScaleInertiaDecayRate(winrt::Windows::Foundation::IReference const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_ScaleInertiaDecayRate(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_ScaleInertiaDecayRate(*(void**)(&value))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::ScaleVelocityInPercentPerSecond() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ScaleVelocityInPercentPerSecond(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ScaleVelocityInPercentPerSecond(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::AdjustPositionXIfGreaterThanThreshold(float adjustment, float positionThreshold) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->AdjustPositionXIfGreaterThanThreshold(adjustment, positionThreshold)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->AdjustPositionXIfGreaterThanThreshold(adjustment, positionThreshold)); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::AdjustPositionYIfGreaterThanThreshold(float adjustment, float positionThreshold) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->AdjustPositionYIfGreaterThanThreshold(adjustment, positionThreshold)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->AdjustPositionYIfGreaterThanThreshold(adjustment, positionThreshold)); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::ConfigurePositionXInertiaModifiers(param::iterable const& modifiers) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ConfigurePositionXInertiaModifiers(*(void**)(&modifiers))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ConfigurePositionXInertiaModifiers(*(void**)(&modifiers))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::ConfigurePositionYInertiaModifiers(param::iterable const& modifiers) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ConfigurePositionYInertiaModifiers(*(void**)(&modifiers))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ConfigurePositionYInertiaModifiers(*(void**)(&modifiers))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::ConfigureScaleInertiaModifiers(param::iterable const& modifiers) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ConfigureScaleInertiaModifiers(*(void**)(&modifiers))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ConfigureScaleInertiaModifiers(*(void**)(&modifiers))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::TryUpdatePosition(winrt::Windows::Foundation::Numerics::float3 const& value) const { int32_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->TryUpdatePosition(impl::bind_in(value), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->TryUpdatePosition(impl::bind_in(value), &result)); } return result; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::TryUpdatePositionBy(winrt::Windows::Foundation::Numerics::float3 const& amount) const { int32_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->TryUpdatePositionBy(impl::bind_in(amount), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->TryUpdatePositionBy(impl::bind_in(amount), &result)); } return result; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::TryUpdatePositionWithAnimation(winrt::Windows::UI::Composition::CompositionAnimation const& animation) const { int32_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->TryUpdatePositionWithAnimation(*(void**)(&animation), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->TryUpdatePositionWithAnimation(*(void**)(&animation), &result)); } return result; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::TryUpdatePositionWithAdditionalVelocity(winrt::Windows::Foundation::Numerics::float3 const& velocityInPixelsPerSecond) const { int32_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->TryUpdatePositionWithAdditionalVelocity(impl::bind_in(velocityInPixelsPerSecond), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->TryUpdatePositionWithAdditionalVelocity(impl::bind_in(velocityInPixelsPerSecond), &result)); } return result; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::TryUpdateScale(float value, winrt::Windows::Foundation::Numerics::float3 const& centerPoint) const { int32_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->TryUpdateScale(value, impl::bind_in(centerPoint), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->TryUpdateScale(value, impl::bind_in(centerPoint), &result)); } return result; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::TryUpdateScaleWithAnimation(winrt::Windows::UI::Composition::CompositionAnimation const& animation, winrt::Windows::Foundation::Numerics::float3 const& centerPoint) const { int32_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->TryUpdateScaleWithAnimation(*(void**)(&animation), impl::bind_in(centerPoint), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->TryUpdateScaleWithAnimation(*(void**)(&animation), impl::bind_in(centerPoint), &result)); } return result; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker::TryUpdateScaleWithAdditionalVelocity(float velocityInPercentPerSecond, winrt::Windows::Foundation::Numerics::float3 const& centerPoint) const { int32_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->TryUpdateScaleWithAdditionalVelocity(velocityInPercentPerSecond, impl::bind_in(centerPoint), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->TryUpdateScaleWithAdditionalVelocity(velocityInPercentPerSecond, impl::bind_in(centerPoint), &result)); } return result; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker2::ConfigureCenterPointXInertiaModifiers(param::iterable const& conditionalValues) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ConfigureCenterPointXInertiaModifiers(*(void**)(&conditionalValues))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ConfigureCenterPointXInertiaModifiers(*(void**)(&conditionalValues))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker2::ConfigureCenterPointYInertiaModifiers(param::iterable const& conditionalValues) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ConfigureCenterPointYInertiaModifiers(*(void**)(&conditionalValues))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ConfigureCenterPointYInertiaModifiers(*(void**)(&conditionalValues))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker3::ConfigureVector2PositionInertiaModifiers(param::iterable const& modifiers) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ConfigureVector2PositionInertiaModifiers(*(void**)(&modifiers))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ConfigureVector2PositionInertiaModifiers(*(void**)(&modifiers))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker4::TryUpdatePosition(winrt::Windows::Foundation::Numerics::float3 const& value, winrt::Windows::UI::Composition::Interactions::InteractionTrackerClampingOption const& option) const { int32_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->TryUpdatePositionWithOption(impl::bind_in(value), static_cast(option), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->TryUpdatePositionWithOption(impl::bind_in(value), static_cast(option), &result)); } return result; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker4::TryUpdatePositionBy(winrt::Windows::Foundation::Numerics::float3 const& amount, winrt::Windows::UI::Composition::Interactions::InteractionTrackerClampingOption const& option) const { int32_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->TryUpdatePositionByWithOption(impl::bind_in(amount), static_cast(option), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->TryUpdatePositionByWithOption(impl::bind_in(amount), static_cast(option), &result)); } return result; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker4::IsInertiaFromImpulse() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsInertiaFromImpulse(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsInertiaFromImpulse(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTracker5::TryUpdatePosition(winrt::Windows::Foundation::Numerics::float3 const& value, winrt::Windows::UI::Composition::Interactions::InteractionTrackerClampingOption const& option, winrt::Windows::UI::Composition::Interactions::InteractionTrackerPositionUpdateOption const& posUpdateOption) const { int32_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->TryUpdatePositionWithOption(impl::bind_in(value), static_cast(option), static_cast(posUpdateOption), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->TryUpdatePositionWithOption(impl::bind_in(value), static_cast(option), static_cast(posUpdateOption), &result)); } return result; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerCustomAnimationStateEnteredArgs::RequestId() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RequestId(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RequestId(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerCustomAnimationStateEnteredArgs2::IsFromBinding() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsFromBinding(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsFromBinding(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerIdleStateEnteredArgs::RequestId() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RequestId(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RequestId(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerIdleStateEnteredArgs2::IsFromBinding() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsFromBinding(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsFromBinding(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaMotion::Condition() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Condition(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Condition(&value)); } return winrt::Windows::UI::Composition::ExpressionAnimation{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaMotion::Condition(winrt::Windows::UI::Composition::ExpressionAnimation const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Condition(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Condition(*(void**)(&value))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaMotion::Motion() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Motion(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Motion(&value)); } return winrt::Windows::UI::Composition::ExpressionAnimation{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaMotion::Motion(winrt::Windows::UI::Composition::ExpressionAnimation const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Motion(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Motion(*(void**)(&value))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaMotionStatics::Create(winrt::Windows::UI::Composition::Compositor const& compositor) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } return winrt::Windows::UI::Composition::Interactions::InteractionTrackerInertiaMotion{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaNaturalMotion::Condition() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Condition(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Condition(&value)); } return winrt::Windows::UI::Composition::ExpressionAnimation{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaNaturalMotion::Condition(winrt::Windows::UI::Composition::ExpressionAnimation const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Condition(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Condition(*(void**)(&value))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaNaturalMotion::NaturalMotion() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_NaturalMotion(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_NaturalMotion(&value)); } return winrt::Windows::UI::Composition::ScalarNaturalMotionAnimation{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaNaturalMotion::NaturalMotion(winrt::Windows::UI::Composition::ScalarNaturalMotionAnimation const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_NaturalMotion(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_NaturalMotion(*(void**)(&value))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaNaturalMotionStatics::Create(winrt::Windows::UI::Composition::Compositor const& compositor) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } return winrt::Windows::UI::Composition::Interactions::InteractionTrackerInertiaNaturalMotion{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaRestingValue::Condition() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Condition(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Condition(&value)); } return winrt::Windows::UI::Composition::ExpressionAnimation{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaRestingValue::Condition(winrt::Windows::UI::Composition::ExpressionAnimation const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Condition(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Condition(*(void**)(&value))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaRestingValue::RestingValue() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RestingValue(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RestingValue(&value)); } return winrt::Windows::UI::Composition::ExpressionAnimation{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaRestingValue::RestingValue(winrt::Windows::UI::Composition::ExpressionAnimation const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_RestingValue(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_RestingValue(*(void**)(&value))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaRestingValueStatics::Create(winrt::Windows::UI::Composition::Compositor const& compositor) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } return winrt::Windows::UI::Composition::Interactions::InteractionTrackerInertiaRestingValue{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaStateEnteredArgs::ModifiedRestingPosition() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ModifiedRestingPosition(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ModifiedRestingPosition(&value)); } return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaStateEnteredArgs::ModifiedRestingScale() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ModifiedRestingScale(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ModifiedRestingScale(&value)); } return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaStateEnteredArgs::NaturalRestingPosition() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_NaturalRestingPosition(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_NaturalRestingPosition(put_abi(value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaStateEnteredArgs::NaturalRestingScale() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_NaturalRestingScale(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_NaturalRestingScale(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaStateEnteredArgs::PositionVelocityInPixelsPerSecond() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PositionVelocityInPixelsPerSecond(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PositionVelocityInPixelsPerSecond(put_abi(value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaStateEnteredArgs::RequestId() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RequestId(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RequestId(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaStateEnteredArgs::ScaleVelocityInPercentPerSecond() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ScaleVelocityInPercentPerSecond(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ScaleVelocityInPercentPerSecond(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaStateEnteredArgs2::IsInertiaFromImpulse() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsInertiaFromImpulse(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsInertiaFromImpulse(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInertiaStateEnteredArgs3::IsFromBinding() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsFromBinding(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsFromBinding(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInteractingStateEnteredArgs::RequestId() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RequestId(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RequestId(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerInteractingStateEnteredArgs2::IsFromBinding() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsFromBinding(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsFromBinding(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerOwner::CustomAnimationStateEntered(winrt::Windows::UI::Composition::Interactions::InteractionTracker const& sender, winrt::Windows::UI::Composition::Interactions::InteractionTrackerCustomAnimationStateEnteredArgs const& args) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CustomAnimationStateEntered(*(void**)(&sender), *(void**)(&args))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CustomAnimationStateEntered(*(void**)(&sender), *(void**)(&args))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerOwner::IdleStateEntered(winrt::Windows::UI::Composition::Interactions::InteractionTracker const& sender, winrt::Windows::UI::Composition::Interactions::InteractionTrackerIdleStateEnteredArgs const& args) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->IdleStateEntered(*(void**)(&sender), *(void**)(&args))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->IdleStateEntered(*(void**)(&sender), *(void**)(&args))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerOwner::InertiaStateEntered(winrt::Windows::UI::Composition::Interactions::InteractionTracker const& sender, winrt::Windows::UI::Composition::Interactions::InteractionTrackerInertiaStateEnteredArgs const& args) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->InertiaStateEntered(*(void**)(&sender), *(void**)(&args))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->InertiaStateEntered(*(void**)(&sender), *(void**)(&args))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerOwner::InteractingStateEntered(winrt::Windows::UI::Composition::Interactions::InteractionTracker const& sender, winrt::Windows::UI::Composition::Interactions::InteractionTrackerInteractingStateEnteredArgs const& args) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->InteractingStateEntered(*(void**)(&sender), *(void**)(&args))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->InteractingStateEntered(*(void**)(&sender), *(void**)(&args))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerOwner::RequestIgnored(winrt::Windows::UI::Composition::Interactions::InteractionTracker const& sender, winrt::Windows::UI::Composition::Interactions::InteractionTrackerRequestIgnoredArgs const& args) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RequestIgnored(*(void**)(&sender), *(void**)(&args))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RequestIgnored(*(void**)(&sender), *(void**)(&args))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerOwner::ValuesChanged(winrt::Windows::UI::Composition::Interactions::InteractionTracker const& sender, winrt::Windows::UI::Composition::Interactions::InteractionTrackerValuesChangedArgs const& args) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ValuesChanged(*(void**)(&sender), *(void**)(&args))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ValuesChanged(*(void**)(&sender), *(void**)(&args))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerRequestIgnoredArgs::RequestId() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RequestId(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RequestId(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerStatics::Create(winrt::Windows::UI::Composition::Compositor const& compositor) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } return winrt::Windows::UI::Composition::Interactions::InteractionTracker{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerStatics::CreateWithOwner(winrt::Windows::UI::Composition::Compositor const& compositor, winrt::Windows::UI::Composition::Interactions::IInteractionTrackerOwner const& owner) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateWithOwner(*(void**)(&compositor), *(void**)(&owner), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateWithOwner(*(void**)(&compositor), *(void**)(&owner), &result)); } return winrt::Windows::UI::Composition::Interactions::InteractionTracker{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerStatics2::SetBindingMode(winrt::Windows::UI::Composition::Interactions::InteractionTracker const& boundTracker1, winrt::Windows::UI::Composition::Interactions::InteractionTracker const& boundTracker2, winrt::Windows::UI::Composition::Interactions::InteractionBindingAxisModes const& axisMode) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->SetBindingMode(*(void**)(&boundTracker1), *(void**)(&boundTracker2), static_cast(axisMode))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->SetBindingMode(*(void**)(&boundTracker1), *(void**)(&boundTracker2), static_cast(axisMode))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerStatics2::GetBindingMode(winrt::Windows::UI::Composition::Interactions::InteractionTracker const& boundTracker1, winrt::Windows::UI::Composition::Interactions::InteractionTracker const& boundTracker2) const { winrt::Windows::UI::Composition::Interactions::InteractionBindingAxisModes result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetBindingMode(*(void**)(&boundTracker1), *(void**)(&boundTracker2), reinterpret_cast(&result))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetBindingMode(*(void**)(&boundTracker1), *(void**)(&boundTracker2), reinterpret_cast(&result))); } return result; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerValuesChangedArgs::Position() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Position(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Position(put_abi(value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerValuesChangedArgs::RequestId() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RequestId(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RequestId(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerValuesChangedArgs::Scale() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Scale(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Scale(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerVector2InertiaNaturalMotion::Condition() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Condition(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Condition(&value)); } return winrt::Windows::UI::Composition::ExpressionAnimation{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerVector2InertiaNaturalMotion::Condition(winrt::Windows::UI::Composition::ExpressionAnimation const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Condition(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Condition(*(void**)(&value))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerVector2InertiaNaturalMotion::NaturalMotion() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_NaturalMotion(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_NaturalMotion(&value)); } return winrt::Windows::UI::Composition::Vector2NaturalMotionAnimation{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerVector2InertiaNaturalMotion::NaturalMotion(winrt::Windows::UI::Composition::Vector2NaturalMotionAnimation const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_NaturalMotion(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_NaturalMotion(*(void**)(&value))); } } template auto consume_Windows_UI_Composition_Interactions_IInteractionTrackerVector2InertiaNaturalMotionStatics::Create(winrt::Windows::UI::Composition::Compositor const& compositor) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } return winrt::Windows::UI::Composition::Interactions::InteractionTrackerVector2InertiaNaturalMotion{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::IsPositionXRailsEnabled() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsPositionXRailsEnabled(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsPositionXRailsEnabled(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::IsPositionXRailsEnabled(bool value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_IsPositionXRailsEnabled(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_IsPositionXRailsEnabled(value)); } } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::IsPositionYRailsEnabled() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsPositionYRailsEnabled(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsPositionYRailsEnabled(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::IsPositionYRailsEnabled(bool value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_IsPositionYRailsEnabled(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_IsPositionYRailsEnabled(value)); } } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::ManipulationRedirectionMode() const { winrt::Windows::UI::Composition::Interactions::VisualInteractionSourceRedirectionMode value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ManipulationRedirectionMode(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ManipulationRedirectionMode(reinterpret_cast(&value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::ManipulationRedirectionMode(winrt::Windows::UI::Composition::Interactions::VisualInteractionSourceRedirectionMode const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_ManipulationRedirectionMode(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_ManipulationRedirectionMode(static_cast(value))); } } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::PositionXChainingMode() const { winrt::Windows::UI::Composition::Interactions::InteractionChainingMode value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PositionXChainingMode(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PositionXChainingMode(reinterpret_cast(&value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::PositionXChainingMode(winrt::Windows::UI::Composition::Interactions::InteractionChainingMode const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_PositionXChainingMode(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_PositionXChainingMode(static_cast(value))); } } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::PositionXSourceMode() const { winrt::Windows::UI::Composition::Interactions::InteractionSourceMode value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PositionXSourceMode(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PositionXSourceMode(reinterpret_cast(&value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::PositionXSourceMode(winrt::Windows::UI::Composition::Interactions::InteractionSourceMode const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_PositionXSourceMode(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_PositionXSourceMode(static_cast(value))); } } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::PositionYChainingMode() const { winrt::Windows::UI::Composition::Interactions::InteractionChainingMode value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PositionYChainingMode(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PositionYChainingMode(reinterpret_cast(&value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::PositionYChainingMode(winrt::Windows::UI::Composition::Interactions::InteractionChainingMode const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_PositionYChainingMode(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_PositionYChainingMode(static_cast(value))); } } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::PositionYSourceMode() const { winrt::Windows::UI::Composition::Interactions::InteractionSourceMode value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PositionYSourceMode(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PositionYSourceMode(reinterpret_cast(&value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::PositionYSourceMode(winrt::Windows::UI::Composition::Interactions::InteractionSourceMode const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_PositionYSourceMode(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_PositionYSourceMode(static_cast(value))); } } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::ScaleChainingMode() const { winrt::Windows::UI::Composition::Interactions::InteractionChainingMode value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ScaleChainingMode(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ScaleChainingMode(reinterpret_cast(&value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::ScaleChainingMode(winrt::Windows::UI::Composition::Interactions::InteractionChainingMode const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_ScaleChainingMode(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_ScaleChainingMode(static_cast(value))); } } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::ScaleSourceMode() const { winrt::Windows::UI::Composition::Interactions::InteractionSourceMode value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ScaleSourceMode(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ScaleSourceMode(reinterpret_cast(&value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::ScaleSourceMode(winrt::Windows::UI::Composition::Interactions::InteractionSourceMode const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_ScaleSourceMode(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_ScaleSourceMode(static_cast(value))); } } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::Source() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Source(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Source(&value)); } return winrt::Windows::UI::Composition::Visual{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource::TryRedirectForManipulation(winrt::Windows::UI::Input::PointerPoint const& pointerPoint) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->TryRedirectForManipulation(*(void**)(&pointerPoint))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->TryRedirectForManipulation(*(void**)(&pointerPoint))); } } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource2::DeltaPosition() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DeltaPosition(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DeltaPosition(put_abi(value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource2::DeltaScale() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DeltaScale(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DeltaScale(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource2::Position() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Position(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Position(put_abi(value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource2::PositionVelocity() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PositionVelocity(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PositionVelocity(put_abi(value))); } return value; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource2::Scale() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Scale(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Scale(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource2::ScaleVelocity() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ScaleVelocity(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ScaleVelocity(&value)); } return value; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource2::ConfigureCenterPointXModifiers(param::iterable const& conditionalValues) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ConfigureCenterPointXModifiers(*(void**)(&conditionalValues))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ConfigureCenterPointXModifiers(*(void**)(&conditionalValues))); } } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource2::ConfigureCenterPointYModifiers(param::iterable const& conditionalValues) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ConfigureCenterPointYModifiers(*(void**)(&conditionalValues))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ConfigureCenterPointYModifiers(*(void**)(&conditionalValues))); } } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource2::ConfigureDeltaPositionXModifiers(param::iterable const& conditionalValues) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ConfigureDeltaPositionXModifiers(*(void**)(&conditionalValues))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ConfigureDeltaPositionXModifiers(*(void**)(&conditionalValues))); } } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource2::ConfigureDeltaPositionYModifiers(param::iterable const& conditionalValues) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ConfigureDeltaPositionYModifiers(*(void**)(&conditionalValues))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ConfigureDeltaPositionYModifiers(*(void**)(&conditionalValues))); } } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource2::ConfigureDeltaScaleModifiers(param::iterable const& conditionalValues) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ConfigureDeltaScaleModifiers(*(void**)(&conditionalValues))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ConfigureDeltaScaleModifiers(*(void**)(&conditionalValues))); } } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSource3::PointerWheelConfig() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PointerWheelConfig(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PointerWheelConfig(&value)); } return winrt::Windows::UI::Composition::Interactions::InteractionSourceConfiguration{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSourceStatics::Create(winrt::Windows::UI::Composition::Visual const& source) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&source), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&source), &result)); } return winrt::Windows::UI::Composition::Interactions::VisualInteractionSource{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Interactions_IVisualInteractionSourceStatics2::CreateFromIVisualElement(winrt::Windows::UI::Composition::IVisualElement const& source) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateFromIVisualElement(*(void**)(&source), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateFromIVisualElement(*(void**)(&source), &result)); } return winrt::Windows::UI::Composition::Interactions::VisualInteractionSource{ result, take_ownership_from_abi }; } #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Condition(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Condition()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Condition(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Condition(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Value(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Value()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Value(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Value(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Create(*reinterpret_cast(&compositor))); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Count(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Count()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Add(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Add(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Remove(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Remove(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RemoveAll() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RemoveAll(); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_PositionXSourceMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PositionXSourceMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PositionXSourceMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PositionXSourceMode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PositionYSourceMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PositionYSourceMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PositionYSourceMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PositionYSourceMode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ScaleSourceMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ScaleSourceMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ScaleSourceMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ScaleSourceMode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InteractionSources(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InteractionSources()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsPositionRoundingSuggested(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsPositionRoundingSuggested()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MaxPosition(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MaxPosition()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_MaxPosition(winrt::Windows::Foundation::Numerics::float3 value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MaxPosition(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MaxScale(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MaxScale()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_MaxScale(float value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MaxScale(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MinPosition(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MinPosition()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_MinPosition(winrt::Windows::Foundation::Numerics::float3 value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MinPosition(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MinScale(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MinScale()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_MinScale(float value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MinScale(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NaturalRestingPosition(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NaturalRestingPosition()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NaturalRestingScale(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NaturalRestingScale()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Owner(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Owner()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Position(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Position()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PositionInertiaDecayRate(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().PositionInertiaDecayRate()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PositionInertiaDecayRate(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PositionInertiaDecayRate(*reinterpret_cast const*>(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PositionVelocityInPixelsPerSecond(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PositionVelocityInPixelsPerSecond()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Scale(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Scale()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ScaleInertiaDecayRate(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().ScaleInertiaDecayRate()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ScaleInertiaDecayRate(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ScaleInertiaDecayRate(*reinterpret_cast const*>(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ScaleVelocityInPercentPerSecond(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ScaleVelocityInPercentPerSecond()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AdjustPositionXIfGreaterThanThreshold(float adjustment, float positionThreshold) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AdjustPositionXIfGreaterThanThreshold(adjustment, positionThreshold); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AdjustPositionYIfGreaterThanThreshold(float adjustment, float positionThreshold) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AdjustPositionYIfGreaterThanThreshold(adjustment, positionThreshold); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ConfigurePositionXInertiaModifiers(void* modifiers) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ConfigurePositionXInertiaModifiers(*reinterpret_cast const*>(&modifiers)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ConfigurePositionYInertiaModifiers(void* modifiers) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ConfigurePositionYInertiaModifiers(*reinterpret_cast const*>(&modifiers)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ConfigureScaleInertiaModifiers(void* modifiers) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ConfigureScaleInertiaModifiers(*reinterpret_cast const*>(&modifiers)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryUpdatePosition(winrt::Windows::Foundation::Numerics::float3 value, int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TryUpdatePosition(*reinterpret_cast(&value))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryUpdatePositionBy(winrt::Windows::Foundation::Numerics::float3 amount, int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TryUpdatePositionBy(*reinterpret_cast(&amount))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryUpdatePositionWithAnimation(void* animation, int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TryUpdatePositionWithAnimation(*reinterpret_cast(&animation))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryUpdatePositionWithAdditionalVelocity(winrt::Windows::Foundation::Numerics::float3 velocityInPixelsPerSecond, int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TryUpdatePositionWithAdditionalVelocity(*reinterpret_cast(&velocityInPixelsPerSecond))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryUpdateScale(float value, winrt::Windows::Foundation::Numerics::float3 centerPoint, int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TryUpdateScale(value, *reinterpret_cast(¢erPoint))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryUpdateScaleWithAnimation(void* animation, winrt::Windows::Foundation::Numerics::float3 centerPoint, int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TryUpdateScaleWithAnimation(*reinterpret_cast(&animation), *reinterpret_cast(¢erPoint))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryUpdateScaleWithAdditionalVelocity(float velocityInPercentPerSecond, winrt::Windows::Foundation::Numerics::float3 centerPoint, int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TryUpdateScaleWithAdditionalVelocity(velocityInPercentPerSecond, *reinterpret_cast(¢erPoint))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall ConfigureCenterPointXInertiaModifiers(void* conditionalValues) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ConfigureCenterPointXInertiaModifiers(*reinterpret_cast const*>(&conditionalValues)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ConfigureCenterPointYInertiaModifiers(void* conditionalValues) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ConfigureCenterPointYInertiaModifiers(*reinterpret_cast const*>(&conditionalValues)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall ConfigureVector2PositionInertiaModifiers(void* modifiers) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ConfigureVector2PositionInertiaModifiers(*reinterpret_cast const*>(&modifiers)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall TryUpdatePositionWithOption(winrt::Windows::Foundation::Numerics::float3 value, int32_t option, int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TryUpdatePosition(*reinterpret_cast(&value), *reinterpret_cast(&option))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryUpdatePositionByWithOption(winrt::Windows::Foundation::Numerics::float3 amount, int32_t option, int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TryUpdatePositionBy(*reinterpret_cast(&amount), *reinterpret_cast(&option))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsInertiaFromImpulse(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsInertiaFromImpulse()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall TryUpdatePositionWithOption(winrt::Windows::Foundation::Numerics::float3 value, int32_t option, int32_t posUpdateOption, int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TryUpdatePosition(*reinterpret_cast(&value), *reinterpret_cast(&option), *reinterpret_cast(&posUpdateOption))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_RequestId(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RequestId()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_IsFromBinding(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsFromBinding()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_RequestId(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RequestId()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_IsFromBinding(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsFromBinding()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Condition(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Condition()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Condition(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Condition(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Motion(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Motion()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Motion(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Motion(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Create(*reinterpret_cast(&compositor))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Condition(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Condition()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Condition(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Condition(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NaturalMotion(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NaturalMotion()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_NaturalMotion(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NaturalMotion(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Create(*reinterpret_cast(&compositor))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Condition(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Condition()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Condition(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Condition(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RestingValue(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RestingValue()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RestingValue(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RestingValue(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Create(*reinterpret_cast(&compositor))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ModifiedRestingPosition(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().ModifiedRestingPosition()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ModifiedRestingScale(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().ModifiedRestingScale()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NaturalRestingPosition(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NaturalRestingPosition()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NaturalRestingScale(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NaturalRestingScale()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PositionVelocityInPixelsPerSecond(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PositionVelocityInPixelsPerSecond()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RequestId(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RequestId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ScaleVelocityInPercentPerSecond(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ScaleVelocityInPercentPerSecond()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_IsInertiaFromImpulse(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsInertiaFromImpulse()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_IsFromBinding(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsFromBinding()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_RequestId(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RequestId()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_IsFromBinding(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsFromBinding()); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall CustomAnimationStateEntered(void* sender, void* args) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().CustomAnimationStateEntered(*reinterpret_cast(&sender), *reinterpret_cast(&args)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall IdleStateEntered(void* sender, void* args) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IdleStateEntered(*reinterpret_cast(&sender), *reinterpret_cast(&args)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall InertiaStateEntered(void* sender, void* args) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().InertiaStateEntered(*reinterpret_cast(&sender), *reinterpret_cast(&args)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall InteractingStateEntered(void* sender, void* args) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().InteractingStateEntered(*reinterpret_cast(&sender), *reinterpret_cast(&args)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RequestIgnored(void* sender, void* args) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RequestIgnored(*reinterpret_cast(&sender), *reinterpret_cast(&args)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ValuesChanged(void* sender, void* args) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ValuesChanged(*reinterpret_cast(&sender), *reinterpret_cast(&args)); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_RequestId(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RequestId()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Create(*reinterpret_cast(&compositor))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateWithOwner(void* compositor, void* owner, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateWithOwner(*reinterpret_cast(&compositor), *reinterpret_cast(&owner))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall SetBindingMode(void* boundTracker1, void* boundTracker2, uint32_t axisMode) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SetBindingMode(*reinterpret_cast(&boundTracker1), *reinterpret_cast(&boundTracker2), *reinterpret_cast(&axisMode)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetBindingMode(void* boundTracker1, void* boundTracker2, uint32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetBindingMode(*reinterpret_cast(&boundTracker1), *reinterpret_cast(&boundTracker2))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Position(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Position()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RequestId(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RequestId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Scale(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Scale()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Condition(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Condition()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Condition(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Condition(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NaturalMotion(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NaturalMotion()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_NaturalMotion(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NaturalMotion(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Create(*reinterpret_cast(&compositor))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_IsPositionXRailsEnabled(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsPositionXRailsEnabled()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IsPositionXRailsEnabled(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IsPositionXRailsEnabled(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsPositionYRailsEnabled(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsPositionYRailsEnabled()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IsPositionYRailsEnabled(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IsPositionYRailsEnabled(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ManipulationRedirectionMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ManipulationRedirectionMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ManipulationRedirectionMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ManipulationRedirectionMode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PositionXChainingMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PositionXChainingMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PositionXChainingMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PositionXChainingMode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PositionXSourceMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PositionXSourceMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PositionXSourceMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PositionXSourceMode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PositionYChainingMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PositionYChainingMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PositionYChainingMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PositionYChainingMode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PositionYSourceMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PositionYSourceMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PositionYSourceMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PositionYSourceMode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ScaleChainingMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ScaleChainingMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ScaleChainingMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ScaleChainingMode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ScaleSourceMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ScaleSourceMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ScaleSourceMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ScaleSourceMode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Source(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Source()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryRedirectForManipulation(void* pointerPoint) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().TryRedirectForManipulation(*reinterpret_cast(&pointerPoint)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_DeltaPosition(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DeltaPosition()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DeltaScale(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DeltaScale()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Position(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Position()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PositionVelocity(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PositionVelocity()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Scale(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Scale()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ScaleVelocity(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ScaleVelocity()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ConfigureCenterPointXModifiers(void* conditionalValues) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ConfigureCenterPointXModifiers(*reinterpret_cast const*>(&conditionalValues)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ConfigureCenterPointYModifiers(void* conditionalValues) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ConfigureCenterPointYModifiers(*reinterpret_cast const*>(&conditionalValues)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ConfigureDeltaPositionXModifiers(void* conditionalValues) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ConfigureDeltaPositionXModifiers(*reinterpret_cast const*>(&conditionalValues)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ConfigureDeltaPositionYModifiers(void* conditionalValues) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ConfigureDeltaPositionYModifiers(*reinterpret_cast const*>(&conditionalValues)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ConfigureDeltaScaleModifiers(void* conditionalValues) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ConfigureDeltaScaleModifiers(*reinterpret_cast const*>(&conditionalValues)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_PointerWheelConfig(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PointerWheelConfig()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* source, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Create(*reinterpret_cast(&source))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateFromIVisualElement(void* source, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateFromIVisualElement(*reinterpret_cast(&source))); return 0; } catch (...) { return to_hresult(); } }; #endif } WINRT_EXPORT namespace winrt::Windows::UI::Composition::Interactions { constexpr auto operator|(InteractionBindingAxisModes const left, InteractionBindingAxisModes const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(InteractionBindingAxisModes& left, InteractionBindingAxisModes const right) noexcept { left = left | right; return left; } constexpr auto operator&(InteractionBindingAxisModes const left, InteractionBindingAxisModes const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(InteractionBindingAxisModes& left, InteractionBindingAxisModes const right) noexcept { left = left & right; return left; } constexpr auto operator~(InteractionBindingAxisModes const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(InteractionBindingAxisModes const left, InteractionBindingAxisModes const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(InteractionBindingAxisModes& left, InteractionBindingAxisModes const right) noexcept { left = left ^ right; return left; } inline auto CompositionConditionalValue::Create(winrt::Windows::UI::Composition::Compositor const& compositor) { return impl::call_factory([&](ICompositionConditionalValueStatics const& f) { return f.Create(compositor); }); } inline auto InteractionTracker::Create(winrt::Windows::UI::Composition::Compositor const& compositor) { return impl::call_factory([&](IInteractionTrackerStatics const& f) { return f.Create(compositor); }); } inline auto InteractionTracker::CreateWithOwner(winrt::Windows::UI::Composition::Compositor const& compositor, winrt::Windows::UI::Composition::Interactions::IInteractionTrackerOwner const& owner) { return impl::call_factory([&](IInteractionTrackerStatics const& f) { return f.CreateWithOwner(compositor, owner); }); } inline auto InteractionTracker::SetBindingMode(winrt::Windows::UI::Composition::Interactions::InteractionTracker const& boundTracker1, winrt::Windows::UI::Composition::Interactions::InteractionTracker const& boundTracker2, winrt::Windows::UI::Composition::Interactions::InteractionBindingAxisModes const& axisMode) { impl::call_factory([&](IInteractionTrackerStatics2 const& f) { return f.SetBindingMode(boundTracker1, boundTracker2, axisMode); }); } inline auto InteractionTracker::GetBindingMode(winrt::Windows::UI::Composition::Interactions::InteractionTracker const& boundTracker1, winrt::Windows::UI::Composition::Interactions::InteractionTracker const& boundTracker2) { return impl::call_factory([&](IInteractionTrackerStatics2 const& f) { return f.GetBindingMode(boundTracker1, boundTracker2); }); } inline auto InteractionTrackerInertiaMotion::Create(winrt::Windows::UI::Composition::Compositor const& compositor) { return impl::call_factory([&](IInteractionTrackerInertiaMotionStatics const& f) { return f.Create(compositor); }); } inline auto InteractionTrackerInertiaNaturalMotion::Create(winrt::Windows::UI::Composition::Compositor const& compositor) { return impl::call_factory([&](IInteractionTrackerInertiaNaturalMotionStatics const& f) { return f.Create(compositor); }); } inline auto InteractionTrackerInertiaRestingValue::Create(winrt::Windows::UI::Composition::Compositor const& compositor) { return impl::call_factory([&](IInteractionTrackerInertiaRestingValueStatics const& f) { return f.Create(compositor); }); } inline auto InteractionTrackerVector2InertiaNaturalMotion::Create(winrt::Windows::UI::Composition::Compositor const& compositor) { return impl::call_factory([&](IInteractionTrackerVector2InertiaNaturalMotionStatics const& f) { return f.Create(compositor); }); } inline auto VisualInteractionSource::Create(winrt::Windows::UI::Composition::Visual const& source) { return impl::call_factory([&](IVisualInteractionSourceStatics const& f) { return f.Create(source); }); } inline auto VisualInteractionSource::CreateFromIVisualElement(winrt::Windows::UI::Composition::IVisualElement const& source) { return impl::call_factory([&](IVisualInteractionSourceStatics2 const& f) { return f.CreateFromIVisualElement(source); }); } } namespace std { #ifndef WINRT_LEAN_AND_MEAN template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; #endif #ifdef __cpp_lib_format #endif } #endif