// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_UI_Input_Spatial_H #define WINRT_Windows_UI_Input_Spatial_H #include "winrt/base.h" static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.240405.15"), "Mismatched C++/WinRT headers."); #define CPPWINRT_VERSION "2.0.240405.15" #include "winrt/Windows.UI.Input.h" #include "winrt/impl/Windows.Devices.Haptics.2.h" #include "winrt/impl/Windows.Devices.Power.2.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.Perception.2.h" #include "winrt/impl/Windows.Perception.People.2.h" #include "winrt/impl/Windows.Perception.Spatial.2.h" #include "winrt/impl/Windows.Storage.Streams.2.h" #include "winrt/impl/Windows.UI.Input.Spatial.2.h" namespace winrt::impl { template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::RecognitionStarted(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->add_RecognitionStarted(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::RecognitionStarted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, RecognitionStarted(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::RecognitionStarted(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->remove_RecognitionStarted(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::RecognitionEnded(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->add_RecognitionEnded(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::RecognitionEnded(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, RecognitionEnded(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::RecognitionEnded(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->remove_RecognitionEnded(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::Tapped(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->add_Tapped(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::Tapped(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, Tapped(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::Tapped(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->remove_Tapped(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::HoldStarted(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->add_HoldStarted(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::HoldStarted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, HoldStarted(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::HoldStarted(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->remove_HoldStarted(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::HoldCompleted(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->add_HoldCompleted(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::HoldCompleted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, HoldCompleted(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::HoldCompleted(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->remove_HoldCompleted(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::HoldCanceled(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->add_HoldCanceled(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::HoldCanceled(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, HoldCanceled(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::HoldCanceled(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->remove_HoldCanceled(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::ManipulationStarted(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->add_ManipulationStarted(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::ManipulationStarted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, ManipulationStarted(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::ManipulationStarted(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->remove_ManipulationStarted(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::ManipulationUpdated(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->add_ManipulationUpdated(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::ManipulationUpdated(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, ManipulationUpdated(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::ManipulationUpdated(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->remove_ManipulationUpdated(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::ManipulationCompleted(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->add_ManipulationCompleted(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::ManipulationCompleted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, ManipulationCompleted(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::ManipulationCompleted(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->remove_ManipulationCompleted(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::ManipulationCanceled(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->add_ManipulationCanceled(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::ManipulationCanceled(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, ManipulationCanceled(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::ManipulationCanceled(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->remove_ManipulationCanceled(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::NavigationStarted(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->add_NavigationStarted(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::NavigationStarted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, NavigationStarted(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::NavigationStarted(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->remove_NavigationStarted(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::NavigationUpdated(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->add_NavigationUpdated(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::NavigationUpdated(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, NavigationUpdated(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::NavigationUpdated(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->remove_NavigationUpdated(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::NavigationCompleted(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->add_NavigationCompleted(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::NavigationCompleted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, NavigationCompleted(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::NavigationCompleted(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->remove_NavigationCompleted(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::NavigationCanceled(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->add_NavigationCanceled(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::NavigationCanceled(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, NavigationCanceled(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::NavigationCanceled(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->remove_NavigationCanceled(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::CaptureInteraction(winrt::Windows::UI::Input::Spatial::SpatialInteraction const& interaction) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->CaptureInteraction(*(void**)(&interaction))); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::CancelPendingGestures() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->CancelPendingGestures()); } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::TrySetGestureSettings(winrt::Windows::UI::Input::Spatial::SpatialGestureSettings const& settings) const { bool succeeded{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->TrySetGestureSettings(static_cast(settings), &succeeded)); return succeeded; } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizer::GestureSettings() const { winrt::Windows::UI::Input::Spatial::SpatialGestureSettings value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer)->get_GestureSettings(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialGestureRecognizerFactory::Create(winrt::Windows::UI::Input::Spatial::SpatialGestureSettings const& settings) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizerFactory)->Create(static_cast(settings), &value)); return winrt::Windows::UI::Input::Spatial::SpatialGestureRecognizer{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialHoldCanceledEventArgs::InteractionSourceKind() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialHoldCanceledEventArgs)->get_InteractionSourceKind(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialHoldCompletedEventArgs::InteractionSourceKind() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialHoldCompletedEventArgs)->get_InteractionSourceKind(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialHoldStartedEventArgs::InteractionSourceKind() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialHoldStartedEventArgs)->get_InteractionSourceKind(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialHoldStartedEventArgs::TryGetPointerPose(winrt::Windows::Perception::Spatial::SpatialCoordinateSystem const& coordinateSystem) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialHoldStartedEventArgs)->TryGetPointerPose(*(void**)(&coordinateSystem), &value)); return winrt::Windows::UI::Input::Spatial::SpatialPointerPose{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteraction::SourceState() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteraction)->get_SourceState(&value)); return winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceState{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionController::HasTouchpad() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionController)->get_HasTouchpad(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionController::HasThumbstick() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionController)->get_HasThumbstick(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionController::SimpleHapticsController() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionController)->get_SimpleHapticsController(&value)); return winrt::Windows::Devices::Haptics::SimpleHapticsController{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionController::VendorId() const { uint16_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionController)->get_VendorId(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionController::ProductId() const { uint16_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionController)->get_ProductId(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionController::Version() const { uint16_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionController)->get_Version(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionController2::TryGetRenderableModelAsync() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionController2)->TryGetRenderableModelAsync(&value)); return winrt::Windows::Foundation::IAsyncOperation{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionController3::TryGetBatteryReport() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionController3)->TryGetBatteryReport(&value)); return winrt::Windows::Devices::Power::BatteryReport{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionControllerProperties::IsTouchpadTouched() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionControllerProperties)->get_IsTouchpadTouched(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionControllerProperties::IsTouchpadPressed() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionControllerProperties)->get_IsTouchpadPressed(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionControllerProperties::IsThumbstickPressed() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionControllerProperties)->get_IsThumbstickPressed(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionControllerProperties::ThumbstickX() const { double value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionControllerProperties)->get_ThumbstickX(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionControllerProperties::ThumbstickY() const { double value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionControllerProperties)->get_ThumbstickY(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionControllerProperties::TouchpadX() const { double value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionControllerProperties)->get_TouchpadX(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionControllerProperties::TouchpadY() const { double value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionControllerProperties)->get_TouchpadY(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionDetectedEventArgs::InteractionSourceKind() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionDetectedEventArgs)->get_InteractionSourceKind(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionDetectedEventArgs::TryGetPointerPose(winrt::Windows::Perception::Spatial::SpatialCoordinateSystem const& coordinateSystem) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionDetectedEventArgs)->TryGetPointerPose(*(void**)(&coordinateSystem), &value)); return winrt::Windows::UI::Input::Spatial::SpatialPointerPose{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionDetectedEventArgs::Interaction() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionDetectedEventArgs)->get_Interaction(&value)); return winrt::Windows::UI::Input::Spatial::SpatialInteraction{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionDetectedEventArgs2::InteractionSource() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionDetectedEventArgs2)->get_InteractionSource(&value)); return winrt::Windows::UI::Input::Spatial::SpatialInteractionSource{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::SourceDetected(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionManager)->add_SourceDetected(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::SourceDetected(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, SourceDetected(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::SourceDetected(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionManager)->remove_SourceDetected(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::SourceLost(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionManager)->add_SourceLost(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::SourceLost(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, SourceLost(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::SourceLost(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionManager)->remove_SourceLost(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::SourceUpdated(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionManager)->add_SourceUpdated(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::SourceUpdated(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, SourceUpdated(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::SourceUpdated(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionManager)->remove_SourceUpdated(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::SourcePressed(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionManager)->add_SourcePressed(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::SourcePressed(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, SourcePressed(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::SourcePressed(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionManager)->remove_SourcePressed(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::SourceReleased(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionManager)->add_SourceReleased(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::SourceReleased(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, SourceReleased(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::SourceReleased(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionManager)->remove_SourceReleased(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::InteractionDetected(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionManager)->add_InteractionDetected(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::InteractionDetected(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, InteractionDetected(handler)); } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::InteractionDetected(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionManager)->remove_InteractionDetected(impl::bind_in(token)); } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManager::GetDetectedSourcesAtTimestamp(winrt::Windows::Perception::PerceptionTimestamp const& timeStamp) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionManager)->GetDetectedSourcesAtTimestamp(*(void**)(&timeStamp), &value)); return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManagerStatics::GetForCurrentView() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionManagerStatics)->GetForCurrentView(&value)); return winrt::Windows::UI::Input::Spatial::SpatialInteractionManager{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionManagerStatics2::IsSourceKindSupported(winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind const& kind) const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionManagerStatics2)->IsSourceKindSupported(static_cast(kind), &result)); return result; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSource::Id() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSource)->get_Id(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSource::Kind() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSource)->get_Kind(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSource2::IsPointingSupported() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSource2)->get_IsPointingSupported(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSource2::IsMenuSupported() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSource2)->get_IsMenuSupported(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSource2::IsGraspSupported() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSource2)->get_IsGraspSupported(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSource2::Controller() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSource2)->get_Controller(&value)); return winrt::Windows::UI::Input::Spatial::SpatialInteractionController{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSource2::TryGetStateAtTimestamp(winrt::Windows::Perception::PerceptionTimestamp const& timestamp) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSource2)->TryGetStateAtTimestamp(*(void**)(×tamp), &value)); return winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceState{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSource3::Handedness() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceHandedness value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSource3)->get_Handedness(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSource4::TryCreateHandMeshObserver() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSource4)->TryCreateHandMeshObserver(&result)); return winrt::Windows::Perception::People::HandMeshObserver{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSource4::TryCreateHandMeshObserverAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSource4)->TryCreateHandMeshObserverAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceEventArgs::State() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceEventArgs)->get_State(&value)); return winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceState{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceEventArgs2::PressKind() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionPressKind value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceEventArgs2)->get_PressKind(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceLocation::Position() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceLocation)->get_Position(&value)); return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceLocation::Velocity() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceLocation)->get_Velocity(&value)); return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceLocation2::Orientation() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceLocation2)->get_Orientation(&value)); return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceLocation3::PositionAccuracy() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourcePositionAccuracy value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceLocation3)->get_PositionAccuracy(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceLocation3::AngularVelocity() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceLocation3)->get_AngularVelocity(&value)); return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceLocation3::SourcePointerPose() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceLocation3)->get_SourcePointerPose(&value)); return winrt::Windows::UI::Input::Spatial::SpatialPointerInteractionSourcePose{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceProperties::TryGetSourceLossMitigationDirection(winrt::Windows::Perception::Spatial::SpatialCoordinateSystem const& coordinateSystem) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceProperties)->TryGetSourceLossMitigationDirection(*(void**)(&coordinateSystem), &value)); return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceProperties::SourceLossRisk() const { double value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceProperties)->get_SourceLossRisk(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceProperties::TryGetLocation(winrt::Windows::Perception::Spatial::SpatialCoordinateSystem const& coordinateSystem) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceProperties)->TryGetLocation(*(void**)(&coordinateSystem), &value)); return winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceLocation{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceState::Source() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceState)->get_Source(&value)); return winrt::Windows::UI::Input::Spatial::SpatialInteractionSource{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceState::Properties() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceState)->get_Properties(&value)); return winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceProperties{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceState::IsPressed() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceState)->get_IsPressed(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceState::Timestamp() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceState)->get_Timestamp(&value)); return winrt::Windows::Perception::PerceptionTimestamp{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceState::TryGetPointerPose(winrt::Windows::Perception::Spatial::SpatialCoordinateSystem const& coordinateSystem) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceState)->TryGetPointerPose(*(void**)(&coordinateSystem), &value)); return winrt::Windows::UI::Input::Spatial::SpatialPointerPose{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceState2::IsSelectPressed() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceState2)->get_IsSelectPressed(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceState2::IsMenuPressed() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceState2)->get_IsMenuPressed(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceState2::IsGrasped() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceState2)->get_IsGrasped(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceState2::SelectPressedValue() const { double value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceState2)->get_SelectPressedValue(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceState2::ControllerProperties() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceState2)->get_ControllerProperties(&value)); return winrt::Windows::UI::Input::Spatial::SpatialInteractionControllerProperties{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialInteractionSourceState3::TryGetHandPose() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceState3)->TryGetHandPose(&value)); return winrt::Windows::Perception::People::HandPose{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialManipulationCanceledEventArgs::InteractionSourceKind() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialManipulationCanceledEventArgs)->get_InteractionSourceKind(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialManipulationCompletedEventArgs::InteractionSourceKind() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialManipulationCompletedEventArgs)->get_InteractionSourceKind(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialManipulationCompletedEventArgs::TryGetCumulativeDelta(winrt::Windows::Perception::Spatial::SpatialCoordinateSystem const& coordinateSystem) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialManipulationCompletedEventArgs)->TryGetCumulativeDelta(*(void**)(&coordinateSystem), &value)); return winrt::Windows::UI::Input::Spatial::SpatialManipulationDelta{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialManipulationDelta::Translation() const { winrt::Windows::Foundation::Numerics::float3 value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialManipulationDelta)->get_Translation(put_abi(value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialManipulationStartedEventArgs::InteractionSourceKind() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialManipulationStartedEventArgs)->get_InteractionSourceKind(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialManipulationStartedEventArgs::TryGetPointerPose(winrt::Windows::Perception::Spatial::SpatialCoordinateSystem const& coordinateSystem) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialManipulationStartedEventArgs)->TryGetPointerPose(*(void**)(&coordinateSystem), &value)); return winrt::Windows::UI::Input::Spatial::SpatialPointerPose{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialManipulationUpdatedEventArgs::InteractionSourceKind() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialManipulationUpdatedEventArgs)->get_InteractionSourceKind(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialManipulationUpdatedEventArgs::TryGetCumulativeDelta(winrt::Windows::Perception::Spatial::SpatialCoordinateSystem const& coordinateSystem) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialManipulationUpdatedEventArgs)->TryGetCumulativeDelta(*(void**)(&coordinateSystem), &value)); return winrt::Windows::UI::Input::Spatial::SpatialManipulationDelta{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialNavigationCanceledEventArgs::InteractionSourceKind() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialNavigationCanceledEventArgs)->get_InteractionSourceKind(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialNavigationCompletedEventArgs::InteractionSourceKind() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialNavigationCompletedEventArgs)->get_InteractionSourceKind(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialNavigationCompletedEventArgs::NormalizedOffset() const { winrt::Windows::Foundation::Numerics::float3 value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialNavigationCompletedEventArgs)->get_NormalizedOffset(put_abi(value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialNavigationStartedEventArgs::InteractionSourceKind() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialNavigationStartedEventArgs)->get_InteractionSourceKind(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialNavigationStartedEventArgs::TryGetPointerPose(winrt::Windows::Perception::Spatial::SpatialCoordinateSystem const& coordinateSystem) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialNavigationStartedEventArgs)->TryGetPointerPose(*(void**)(&coordinateSystem), &value)); return winrt::Windows::UI::Input::Spatial::SpatialPointerPose{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialNavigationStartedEventArgs::IsNavigatingX() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialNavigationStartedEventArgs)->get_IsNavigatingX(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialNavigationStartedEventArgs::IsNavigatingY() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialNavigationStartedEventArgs)->get_IsNavigatingY(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialNavigationStartedEventArgs::IsNavigatingZ() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialNavigationStartedEventArgs)->get_IsNavigatingZ(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialNavigationUpdatedEventArgs::InteractionSourceKind() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialNavigationUpdatedEventArgs)->get_InteractionSourceKind(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialNavigationUpdatedEventArgs::NormalizedOffset() const { winrt::Windows::Foundation::Numerics::float3 value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialNavigationUpdatedEventArgs)->get_NormalizedOffset(put_abi(value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialPointerInteractionSourcePose::Position() const { winrt::Windows::Foundation::Numerics::float3 value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialPointerInteractionSourcePose)->get_Position(put_abi(value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialPointerInteractionSourcePose::ForwardDirection() const { winrt::Windows::Foundation::Numerics::float3 value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialPointerInteractionSourcePose)->get_ForwardDirection(put_abi(value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialPointerInteractionSourcePose::UpDirection() const { winrt::Windows::Foundation::Numerics::float3 value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialPointerInteractionSourcePose)->get_UpDirection(put_abi(value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialPointerInteractionSourcePose2::Orientation() const { winrt::Windows::Foundation::Numerics::quaternion value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialPointerInteractionSourcePose2)->get_Orientation(put_abi(value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialPointerInteractionSourcePose2::PositionAccuracy() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourcePositionAccuracy value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialPointerInteractionSourcePose2)->get_PositionAccuracy(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialPointerPose::Timestamp() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialPointerPose)->get_Timestamp(&value)); return winrt::Windows::Perception::PerceptionTimestamp{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialPointerPose::Head() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialPointerPose)->get_Head(&value)); return winrt::Windows::Perception::People::HeadPose{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialPointerPose2::TryGetInteractionSourcePose(winrt::Windows::UI::Input::Spatial::SpatialInteractionSource const& source) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialPointerPose2)->TryGetInteractionSourcePose(*(void**)(&source), &value)); return winrt::Windows::UI::Input::Spatial::SpatialPointerInteractionSourcePose{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialPointerPose3::Eyes() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialPointerPose3)->get_Eyes(&value)); return winrt::Windows::Perception::People::EyesPose{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialPointerPose3::IsHeadCapturedBySystem() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialPointerPose3)->get_IsHeadCapturedBySystem(&value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialPointerPoseStatics::TryGetAtTimestamp(winrt::Windows::Perception::Spatial::SpatialCoordinateSystem const& coordinateSystem, winrt::Windows::Perception::PerceptionTimestamp const& timestamp) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialPointerPoseStatics)->TryGetAtTimestamp(*(void**)(&coordinateSystem), *(void**)(×tamp), &value)); return winrt::Windows::UI::Input::Spatial::SpatialPointerPose{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialRecognitionEndedEventArgs::InteractionSourceKind() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialRecognitionEndedEventArgs)->get_InteractionSourceKind(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialRecognitionStartedEventArgs::InteractionSourceKind() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialRecognitionStartedEventArgs)->get_InteractionSourceKind(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialRecognitionStartedEventArgs::TryGetPointerPose(winrt::Windows::Perception::Spatial::SpatialCoordinateSystem const& coordinateSystem) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialRecognitionStartedEventArgs)->TryGetPointerPose(*(void**)(&coordinateSystem), &value)); return winrt::Windows::UI::Input::Spatial::SpatialPointerPose{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialRecognitionStartedEventArgs::IsGesturePossible(winrt::Windows::UI::Input::Spatial::SpatialGestureSettings const& gesture) const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialRecognitionStartedEventArgs)->IsGesturePossible(static_cast(gesture), &value)); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialTappedEventArgs::InteractionSourceKind() const { winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialTappedEventArgs)->get_InteractionSourceKind(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Input_Spatial_ISpatialTappedEventArgs::TryGetPointerPose(winrt::Windows::Perception::Spatial::SpatialCoordinateSystem const& coordinateSystem) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialTappedEventArgs)->TryGetPointerPose(*(void**)(&coordinateSystem), &value)); return winrt::Windows::UI::Input::Spatial::SpatialPointerPose{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Input_Spatial_ISpatialTappedEventArgs::TapCount() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Input::Spatial::ISpatialTappedEventArgs)->get_TapCount(&value)); return value; } #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall add_RecognitionStarted(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().RecognitionStarted(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_RecognitionStarted(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().RecognitionStarted(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_RecognitionEnded(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().RecognitionEnded(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_RecognitionEnded(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().RecognitionEnded(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_Tapped(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().Tapped(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_Tapped(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().Tapped(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_HoldStarted(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().HoldStarted(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_HoldStarted(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().HoldStarted(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_HoldCompleted(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().HoldCompleted(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_HoldCompleted(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().HoldCompleted(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_HoldCanceled(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().HoldCanceled(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_HoldCanceled(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().HoldCanceled(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_ManipulationStarted(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().ManipulationStarted(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_ManipulationStarted(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().ManipulationStarted(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_ManipulationUpdated(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().ManipulationUpdated(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_ManipulationUpdated(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().ManipulationUpdated(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_ManipulationCompleted(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().ManipulationCompleted(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_ManipulationCompleted(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().ManipulationCompleted(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_ManipulationCanceled(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().ManipulationCanceled(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_ManipulationCanceled(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().ManipulationCanceled(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_NavigationStarted(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().NavigationStarted(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_NavigationStarted(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().NavigationStarted(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_NavigationUpdated(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().NavigationUpdated(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_NavigationUpdated(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().NavigationUpdated(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_NavigationCompleted(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().NavigationCompleted(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_NavigationCompleted(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().NavigationCompleted(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_NavigationCanceled(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().NavigationCanceled(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_NavigationCanceled(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().NavigationCanceled(*reinterpret_cast(&token)); return 0; } int32_t __stdcall CaptureInteraction(void* interaction) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().CaptureInteraction(*reinterpret_cast(&interaction)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CancelPendingGestures() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().CancelPendingGestures(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TrySetGestureSettings(uint32_t settings, bool* succeeded) noexcept final try { typename D::abi_guard guard(this->shim()); *succeeded = detach_from(this->shim().TrySetGestureSettings(*reinterpret_cast(&settings))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_GestureSettings(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GestureSettings()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(uint32_t settings, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Create(*reinterpret_cast(&settings))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InteractionSourceKind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InteractionSourceKind()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InteractionSourceKind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InteractionSourceKind()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InteractionSourceKind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InteractionSourceKind()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryGetPointerPose(void* coordinateSystem, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TryGetPointerPose(*reinterpret_cast(&coordinateSystem))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_SourceState(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SourceState()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_HasTouchpad(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HasTouchpad()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_HasThumbstick(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HasThumbstick()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SimpleHapticsController(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SimpleHapticsController()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_VendorId(uint16_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().VendorId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ProductId(uint16_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ProductId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Version(uint16_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Version()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall TryGetRenderableModelAsync(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().TryGetRenderableModelAsync()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall TryGetBatteryReport(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TryGetBatteryReport()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_IsTouchpadTouched(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsTouchpadTouched()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsTouchpadPressed(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsTouchpadPressed()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsThumbstickPressed(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsThumbstickPressed()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ThumbstickX(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ThumbstickX()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ThumbstickY(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ThumbstickY()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TouchpadX(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TouchpadX()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TouchpadY(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TouchpadY()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InteractionSourceKind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InteractionSourceKind()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryGetPointerPose(void* coordinateSystem, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TryGetPointerPose(*reinterpret_cast(&coordinateSystem))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Interaction(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Interaction()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InteractionSource(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InteractionSource()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall add_SourceDetected(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().SourceDetected(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_SourceDetected(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().SourceDetected(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_SourceLost(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().SourceLost(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_SourceLost(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().SourceLost(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_SourceUpdated(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().SourceUpdated(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_SourceUpdated(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().SourceUpdated(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_SourcePressed(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().SourcePressed(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_SourcePressed(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().SourcePressed(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_SourceReleased(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().SourceReleased(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_SourceReleased(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().SourceReleased(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_InteractionDetected(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().InteractionDetected(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_InteractionDetected(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().InteractionDetected(*reinterpret_cast(&token)); return 0; } int32_t __stdcall GetDetectedSourcesAtTimestamp(void* timeStamp, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().GetDetectedSourcesAtTimestamp(*reinterpret_cast(&timeStamp))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetForCurrentView(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GetForCurrentView()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall IsSourceKindSupported(int32_t kind, bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsSourceKindSupported(*reinterpret_cast(&kind))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Id(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Id()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Kind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Kind()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_IsPointingSupported(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsPointingSupported()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsMenuSupported(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsMenuSupported()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsGraspSupported(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsGraspSupported()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Controller(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Controller()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryGetStateAtTimestamp(void* timestamp, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TryGetStateAtTimestamp(*reinterpret_cast(×tamp))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Handedness(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Handedness()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall TryCreateHandMeshObserver(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TryCreateHandMeshObserver()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryCreateHandMeshObserverAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().TryCreateHandMeshObserverAsync()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_State(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().State()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_PressKind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PressKind()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Position(void** value) noexcept final try { clear_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_Velocity(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Velocity()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Orientation(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Orientation()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_PositionAccuracy(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PositionAccuracy()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AngularVelocity(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().AngularVelocity()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SourcePointerPose(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SourcePointerPose()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall TryGetSourceLossMitigationDirection(void* coordinateSystem, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().TryGetSourceLossMitigationDirection(*reinterpret_cast(&coordinateSystem))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SourceLossRisk(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SourceLossRisk()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryGetLocation(void* coordinateSystem, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TryGetLocation(*reinterpret_cast(&coordinateSystem))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { 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 get_Properties(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Properties()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsPressed(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsPressed()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Timestamp(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Timestamp()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryGetPointerPose(void* coordinateSystem, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TryGetPointerPose(*reinterpret_cast(&coordinateSystem))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_IsSelectPressed(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsSelectPressed()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsMenuPressed(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsMenuPressed()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsGrasped(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsGrasped()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SelectPressedValue(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SelectPressedValue()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ControllerProperties(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ControllerProperties()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall TryGetHandPose(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TryGetHandPose()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InteractionSourceKind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InteractionSourceKind()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InteractionSourceKind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InteractionSourceKind()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryGetCumulativeDelta(void* coordinateSystem, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TryGetCumulativeDelta(*reinterpret_cast(&coordinateSystem))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Translation(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Translation()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InteractionSourceKind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InteractionSourceKind()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryGetPointerPose(void* coordinateSystem, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TryGetPointerPose(*reinterpret_cast(&coordinateSystem))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InteractionSourceKind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InteractionSourceKind()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryGetCumulativeDelta(void* coordinateSystem, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TryGetCumulativeDelta(*reinterpret_cast(&coordinateSystem))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InteractionSourceKind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InteractionSourceKind()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InteractionSourceKind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InteractionSourceKind()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NormalizedOffset(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NormalizedOffset()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InteractionSourceKind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InteractionSourceKind()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryGetPointerPose(void* coordinateSystem, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TryGetPointerPose(*reinterpret_cast(&coordinateSystem))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsNavigatingX(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsNavigatingX()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsNavigatingY(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsNavigatingY()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsNavigatingZ(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsNavigatingZ()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InteractionSourceKind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InteractionSourceKind()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NormalizedOffset(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NormalizedOffset()); 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_ForwardDirection(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ForwardDirection()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_UpDirection(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().UpDirection()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Orientation(winrt::Windows::Foundation::Numerics::quaternion* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Orientation()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PositionAccuracy(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PositionAccuracy()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Timestamp(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Timestamp()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Head(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Head()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall TryGetInteractionSourcePose(void* source, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TryGetInteractionSourcePose(*reinterpret_cast(&source))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Eyes(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Eyes()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsHeadCapturedBySystem(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsHeadCapturedBySystem()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall TryGetAtTimestamp(void* coordinateSystem, void* timestamp, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TryGetAtTimestamp(*reinterpret_cast(&coordinateSystem), *reinterpret_cast(×tamp))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InteractionSourceKind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InteractionSourceKind()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InteractionSourceKind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InteractionSourceKind()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryGetPointerPose(void* coordinateSystem, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TryGetPointerPose(*reinterpret_cast(&coordinateSystem))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall IsGesturePossible(uint32_t gesture, bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsGesturePossible(*reinterpret_cast(&gesture))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InteractionSourceKind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InteractionSourceKind()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryGetPointerPose(void* coordinateSystem, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TryGetPointerPose(*reinterpret_cast(&coordinateSystem))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TapCount(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TapCount()); return 0; } catch (...) { return to_hresult(); } }; #endif } WINRT_EXPORT namespace winrt::Windows::UI::Input::Spatial { constexpr auto operator|(SpatialGestureSettings const left, SpatialGestureSettings const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(SpatialGestureSettings& left, SpatialGestureSettings const right) noexcept { left = left | right; return left; } constexpr auto operator&(SpatialGestureSettings const left, SpatialGestureSettings const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(SpatialGestureSettings& left, SpatialGestureSettings const right) noexcept { left = left & right; return left; } constexpr auto operator~(SpatialGestureSettings const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(SpatialGestureSettings const left, SpatialGestureSettings const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(SpatialGestureSettings& left, SpatialGestureSettings const right) noexcept { left = left ^ right; return left; } inline SpatialGestureRecognizer::SpatialGestureRecognizer(winrt::Windows::UI::Input::Spatial::SpatialGestureSettings const& settings) : SpatialGestureRecognizer(impl::call_factory([&](ISpatialGestureRecognizerFactory const& f) { return f.Create(settings); })) { } inline auto SpatialInteractionManager::GetForCurrentView() { return impl::call_factory_cast([](ISpatialInteractionManagerStatics const& f) { return f.GetForCurrentView(); }); } inline auto SpatialInteractionManager::IsSourceKindSupported(winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceKind const& kind) { return impl::call_factory([&](ISpatialInteractionManagerStatics2 const& f) { return f.IsSourceKindSupported(kind); }); } inline auto SpatialPointerPose::TryGetAtTimestamp(winrt::Windows::Perception::Spatial::SpatialCoordinateSystem const& coordinateSystem, winrt::Windows::Perception::PerceptionTimestamp const& timestamp) { return impl::call_factory([&](ISpatialPointerPoseStatics const& f) { return f.TryGetAtTimestamp(coordinateSystem, timestamp); }); } } 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 {}; 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