// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_UI_Xaml_Media_Imaging_H #define WINRT_Windows_UI_Xaml_Media_Imaging_H #include "winrt/base.h" static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.250303.1"), "Mismatched C++/WinRT headers."); #define CPPWINRT_VERSION "2.0.250303.1" #include "winrt/Windows.UI.Xaml.Media.h" #include "winrt/impl/Windows.ApplicationModel.Background.2.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Graphics.Imaging.2.h" #include "winrt/impl/Windows.Storage.Streams.2.h" #include "winrt/impl/Windows.UI.Xaml.2.h" #include "winrt/impl/Windows.UI.Xaml.Media.2.h" #include "winrt/impl/Windows.UI.Xaml.Media.Imaging.2.h" namespace winrt::impl { template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage::CreateOptions() const { winrt::Windows::UI::Xaml::Media::Imaging::BitmapCreateOptions value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_CreateOptions(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_CreateOptions(reinterpret_cast(&value))); } return value; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage::CreateOptions(winrt::Windows::UI::Xaml::Media::Imaging::BitmapCreateOptions const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_CreateOptions(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_CreateOptions(static_cast(value))); } } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage::UriSource() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_UriSource(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_UriSource(&value)); } return winrt::Windows::Foundation::Uri{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage::UriSource(winrt::Windows::Foundation::Uri const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_UriSource(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_UriSource(*(void**)(&value))); } } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage::DecodePixelWidth() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DecodePixelWidth(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DecodePixelWidth(&value)); } return value; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage::DecodePixelWidth(int32_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_DecodePixelWidth(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_DecodePixelWidth(value)); } } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage::DecodePixelHeight() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DecodePixelHeight(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DecodePixelHeight(&value)); } return value; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage::DecodePixelHeight(int32_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_DecodePixelHeight(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_DecodePixelHeight(value)); } } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage::DownloadProgress(winrt::Windows::UI::Xaml::Media::Imaging::DownloadProgressEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_DownloadProgress(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_DownloadProgress(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage::DownloadProgress(auto_revoke_t, winrt::Windows::UI::Xaml::Media::Imaging::DownloadProgressEventHandler const& handler) const { return impl::make_event_revoker(this, DownloadProgress(handler)); } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage::DownloadProgress(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_DownloadProgress(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_DownloadProgress(impl::bind_in(token)); } } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage::ImageOpened(winrt::Windows::UI::Xaml::RoutedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_ImageOpened(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_ImageOpened(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage::ImageOpened(auto_revoke_t, winrt::Windows::UI::Xaml::RoutedEventHandler const& handler) const { return impl::make_event_revoker(this, ImageOpened(handler)); } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage::ImageOpened(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_ImageOpened(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_ImageOpened(impl::bind_in(token)); } } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage::ImageFailed(winrt::Windows::UI::Xaml::ExceptionRoutedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_ImageFailed(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_ImageFailed(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage::ImageFailed(auto_revoke_t, winrt::Windows::UI::Xaml::ExceptionRoutedEventHandler const& handler) const { return impl::make_event_revoker(this, ImageFailed(handler)); } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage::ImageFailed(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_ImageFailed(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_ImageFailed(impl::bind_in(token)); } } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage2::DecodePixelType() const { winrt::Windows::UI::Xaml::Media::Imaging::DecodePixelType value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DecodePixelType(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DecodePixelType(reinterpret_cast(&value))); } return value; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage2::DecodePixelType(winrt::Windows::UI::Xaml::Media::Imaging::DecodePixelType const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_DecodePixelType(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_DecodePixelType(static_cast(value))); } } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage3::IsAnimatedBitmap() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsAnimatedBitmap(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsAnimatedBitmap(&value)); } return value; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage3::IsPlaying() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsPlaying(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsPlaying(&value)); } return value; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage3::AutoPlay() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_AutoPlay(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_AutoPlay(&value)); } return value; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage3::AutoPlay(bool value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_AutoPlay(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_AutoPlay(value)); } } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage3::Play() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Play()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Play()); } } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImage3::Stop() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Stop()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Stop()); } } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImageFactory::CreateInstanceWithUriSource(winrt::Windows::Foundation::Uri const& uriSource) const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateInstanceWithUriSource(*(void**)(&uriSource), &value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateInstanceWithUriSource(*(void**)(&uriSource), &value)); } return winrt::Windows::UI::Xaml::Media::Imaging::BitmapImage{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImageStatics::CreateOptionsProperty() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_CreateOptionsProperty(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_CreateOptionsProperty(&value)); } return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImageStatics::UriSourceProperty() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_UriSourceProperty(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_UriSourceProperty(&value)); } return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImageStatics::DecodePixelWidthProperty() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DecodePixelWidthProperty(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DecodePixelWidthProperty(&value)); } return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImageStatics::DecodePixelHeightProperty() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DecodePixelHeightProperty(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DecodePixelHeightProperty(&value)); } return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImageStatics2::DecodePixelTypeProperty() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DecodePixelTypeProperty(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DecodePixelTypeProperty(&value)); } return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImageStatics3::IsAnimatedBitmapProperty() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsAnimatedBitmapProperty(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsAnimatedBitmapProperty(&value)); } return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImageStatics3::IsPlayingProperty() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsPlayingProperty(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsPlayingProperty(&value)); } return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapImageStatics3::AutoPlayProperty() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_AutoPlayProperty(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_AutoPlayProperty(&value)); } return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapSource::PixelWidth() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PixelWidth(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PixelWidth(&value)); } return value; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapSource::PixelHeight() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PixelHeight(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PixelHeight(&value)); } return value; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapSource::SetSource(winrt::Windows::Storage::Streams::IRandomAccessStream const& streamSource) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->SetSource(*(void**)(&streamSource))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->SetSource(*(void**)(&streamSource))); } } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapSource::SetSourceAsync(winrt::Windows::Storage::Streams::IRandomAccessStream const& streamSource) const { void* operation{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->SetSourceAsync(*(void**)(&streamSource), &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->SetSourceAsync(*(void**)(&streamSource), &operation)); } return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapSourceFactory::CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateInstance(*(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateInstance(*(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); } return winrt::Windows::UI::Xaml::Media::Imaging::BitmapSource{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapSourceStatics::PixelWidthProperty() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PixelWidthProperty(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PixelWidthProperty(&value)); } return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IBitmapSourceStatics::PixelHeightProperty() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PixelHeightProperty(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PixelHeightProperty(&value)); } return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IDownloadProgressEventArgs::Progress() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Progress(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Progress(&value)); } return value; } template auto consume_Windows_UI_Xaml_Media_Imaging_IDownloadProgressEventArgs::Progress(int32_t value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Progress(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Progress(value)); } } template auto consume_Windows_UI_Xaml_Media_Imaging_IRenderTargetBitmap::PixelWidth() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PixelWidth(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PixelWidth(&value)); } return value; } template auto consume_Windows_UI_Xaml_Media_Imaging_IRenderTargetBitmap::PixelHeight() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PixelHeight(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PixelHeight(&value)); } return value; } template auto consume_Windows_UI_Xaml_Media_Imaging_IRenderTargetBitmap::RenderAsync(winrt::Windows::UI::Xaml::UIElement const& element) const { void* operation{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RenderAsync(*(void**)(&element), &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RenderAsync(*(void**)(&element), &operation)); } return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IRenderTargetBitmap::RenderAsync(winrt::Windows::UI::Xaml::UIElement const& element, int32_t scaledWidth, int32_t scaledHeight) const { void* operation{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RenderToSizeAsync(*(void**)(&element), scaledWidth, scaledHeight, &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RenderToSizeAsync(*(void**)(&element), scaledWidth, scaledHeight, &operation)); } return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IRenderTargetBitmap::GetPixelsAsync() const { void* operation{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetPixelsAsync(&operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetPixelsAsync(&operation)); } return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IRenderTargetBitmapStatics::PixelWidthProperty() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PixelWidthProperty(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PixelWidthProperty(&value)); } return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IRenderTargetBitmapStatics::PixelHeightProperty() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PixelHeightProperty(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PixelHeightProperty(&value)); } return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_ISoftwareBitmapSource::SetBitmapAsync(winrt::Windows::Graphics::Imaging::SoftwareBitmap const& softwareBitmap) const { void* operation{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->SetBitmapAsync(*(void**)(&softwareBitmap), &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->SetBitmapAsync(*(void**)(&softwareBitmap), &operation)); } return winrt::Windows::Foundation::IAsyncAction{ operation, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_ISurfaceImageSourceFactory::CreateInstanceWithDimensions(int32_t pixelWidth, int32_t pixelHeight, winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateInstanceWithDimensions(pixelWidth, pixelHeight, *(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateInstanceWithDimensions(pixelWidth, pixelHeight, *(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); } return winrt::Windows::UI::Xaml::Media::Imaging::SurfaceImageSource{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_ISurfaceImageSourceFactory::CreateInstanceWithDimensionsAndOpacity(int32_t pixelWidth, int32_t pixelHeight, bool isOpaque, winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateInstanceWithDimensionsAndOpacity(pixelWidth, pixelHeight, isOpaque, *(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateInstanceWithDimensionsAndOpacity(pixelWidth, pixelHeight, isOpaque, *(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); } return winrt::Windows::UI::Xaml::Media::Imaging::SurfaceImageSource{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSource::UriSource() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_UriSource(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_UriSource(&value)); } return winrt::Windows::Foundation::Uri{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSource::UriSource(winrt::Windows::Foundation::Uri const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_UriSource(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_UriSource(*(void**)(&value))); } } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSource::RasterizePixelWidth() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RasterizePixelWidth(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RasterizePixelWidth(&value)); } return value; } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSource::RasterizePixelWidth(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_RasterizePixelWidth(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_RasterizePixelWidth(value)); } } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSource::RasterizePixelHeight() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RasterizePixelHeight(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RasterizePixelHeight(&value)); } return value; } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSource::RasterizePixelHeight(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_RasterizePixelHeight(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_RasterizePixelHeight(value)); } } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSource::Opened(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_Opened(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_Opened(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSource::Opened(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, Opened(handler)); } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSource::Opened(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_Opened(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_Opened(impl::bind_in(token)); } } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSource::OpenFailed(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_OpenFailed(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_OpenFailed(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSource::OpenFailed(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, OpenFailed(handler)); } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSource::OpenFailed(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_OpenFailed(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_OpenFailed(impl::bind_in(token)); } } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSource::SetSourceAsync(winrt::Windows::Storage::Streams::IRandomAccessStream const& streamSource) const { void* operation{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->SetSourceAsync(*(void**)(&streamSource), &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->SetSourceAsync(*(void**)(&streamSource), &operation)); } return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSourceFactory::CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateInstance(*(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateInstance(*(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); } return winrt::Windows::UI::Xaml::Media::Imaging::SvgImageSource{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSourceFactory::CreateInstanceWithUriSource(winrt::Windows::Foundation::Uri const& uriSource, winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateInstanceWithUriSource(*(void**)(&uriSource), *(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateInstanceWithUriSource(*(void**)(&uriSource), *(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); } return winrt::Windows::UI::Xaml::Media::Imaging::SvgImageSource{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSourceFailedEventArgs::Status() const { winrt::Windows::UI::Xaml::Media::Imaging::SvgImageSourceLoadStatus value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Status(reinterpret_cast(&value))); } return value; } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSourceStatics::UriSourceProperty() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_UriSourceProperty(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_UriSourceProperty(&value)); } return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSourceStatics::RasterizePixelWidthProperty() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RasterizePixelWidthProperty(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RasterizePixelWidthProperty(&value)); } return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_ISvgImageSourceStatics::RasterizePixelHeightProperty() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RasterizePixelHeightProperty(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RasterizePixelHeightProperty(&value)); } return winrt::Windows::UI::Xaml::DependencyProperty{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IVirtualSurfaceImageSourceFactory::CreateInstanceWithDimensions(int32_t pixelWidth, int32_t pixelHeight) const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateInstanceWithDimensions(pixelWidth, pixelHeight, &value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateInstanceWithDimensions(pixelWidth, pixelHeight, &value)); } return winrt::Windows::UI::Xaml::Media::Imaging::VirtualSurfaceImageSource{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IVirtualSurfaceImageSourceFactory::CreateInstanceWithDimensionsAndOpacity(int32_t pixelWidth, int32_t pixelHeight, bool isOpaque) const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateInstanceWithDimensionsAndOpacity(pixelWidth, pixelHeight, isOpaque, &value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateInstanceWithDimensionsAndOpacity(pixelWidth, pixelHeight, isOpaque, &value)); } return winrt::Windows::UI::Xaml::Media::Imaging::VirtualSurfaceImageSource{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IWriteableBitmap::PixelBuffer() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PixelBuffer(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PixelBuffer(&value)); } return winrt::Windows::Storage::Streams::IBuffer{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IWriteableBitmap::Invalidate() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Invalidate()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Invalidate()); } } template auto consume_Windows_UI_Xaml_Media_Imaging_IWriteableBitmapFactory::CreateInstanceWithDimensions(int32_t pixelWidth, int32_t pixelHeight) const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateInstanceWithDimensions(pixelWidth, pixelHeight, &value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateInstanceWithDimensions(pixelWidth, pixelHeight, &value)); } return winrt::Windows::UI::Xaml::Media::Imaging::WriteableBitmap{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IXamlRenderingBackgroundTaskFactory::CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateInstance(*(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateInstance(*(void**)(&baseInterface), impl::bind_out(innerInterface), &value)); } return winrt::Windows::UI::Xaml::Media::Imaging::XamlRenderingBackgroundTask{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Xaml_Media_Imaging_IXamlRenderingBackgroundTaskOverrides::OnRun(winrt::Windows::ApplicationModel::Background::IBackgroundTaskInstance const& taskInstance) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->OnRun(*(void**)(&taskInstance))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->OnRun(*(void**)(&taskInstance))); } } template struct delegate final : implements_delegate { delegate(H&& handler) : implements_delegate(std::forward(handler)) {} int32_t __stdcall Invoke(void* sender, void* e) noexcept final try { (*this)(*reinterpret_cast(&sender), *reinterpret_cast(&e)); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_CreateOptions(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CreateOptions()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_CreateOptions(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().CreateOptions(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_UriSource(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().UriSource()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_UriSource(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().UriSource(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DecodePixelWidth(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DecodePixelWidth()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DecodePixelWidth(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DecodePixelWidth(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DecodePixelHeight(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DecodePixelHeight()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DecodePixelHeight(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DecodePixelHeight(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_DownloadProgress(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().DownloadProgress(*reinterpret_cast(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_DownloadProgress(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().DownloadProgress(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_ImageOpened(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().ImageOpened(*reinterpret_cast(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_ImageOpened(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().ImageOpened(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_ImageFailed(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().ImageFailed(*reinterpret_cast(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_ImageFailed(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().ImageFailed(*reinterpret_cast(&token)); return 0; } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_DecodePixelType(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DecodePixelType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DecodePixelType(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DecodePixelType(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_IsAnimatedBitmap(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsAnimatedBitmap()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsPlaying(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsPlaying()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AutoPlay(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AutoPlay()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_AutoPlay(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AutoPlay(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Play() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Play(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Stop() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Stop(); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstanceWithUriSource(void* uriSource, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CreateInstanceWithUriSource(*reinterpret_cast(&uriSource))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_CreateOptionsProperty(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CreateOptionsProperty()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_UriSourceProperty(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().UriSourceProperty()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DecodePixelWidthProperty(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DecodePixelWidthProperty()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DecodePixelHeightProperty(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DecodePixelHeightProperty()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_DecodePixelTypeProperty(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DecodePixelTypeProperty()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_IsAnimatedBitmapProperty(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsAnimatedBitmapProperty()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsPlayingProperty(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsPlayingProperty()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AutoPlayProperty(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AutoPlayProperty()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_PixelWidth(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PixelWidth()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PixelHeight(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PixelHeight()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetSource(void* streamSource) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SetSource(*reinterpret_cast(&streamSource)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetSourceAsync(void* streamSource, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().SetSourceAsync(*reinterpret_cast(&streamSource))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstance(void* baseInterface, void** innerInterface, void** value) noexcept final try { if (innerInterface) *innerInterface = nullptr; winrt::Windows::Foundation::IInspectable winrt_impl_innerInterface; clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CreateInstance(*reinterpret_cast(&baseInterface), winrt_impl_innerInterface)); if (innerInterface) *innerInterface = detach_abi(winrt_impl_innerInterface); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_PixelWidthProperty(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PixelWidthProperty()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PixelHeightProperty(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PixelHeightProperty()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Progress(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Progress()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Progress(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Progress(value); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_PixelWidth(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PixelWidth()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PixelHeight(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PixelHeight()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RenderAsync(void* element, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().RenderAsync(*reinterpret_cast(&element))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RenderToSizeAsync(void* element, int32_t scaledWidth, int32_t scaledHeight, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().RenderAsync(*reinterpret_cast(&element), scaledWidth, scaledHeight)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetPixelsAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetPixelsAsync()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_PixelWidthProperty(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PixelWidthProperty()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PixelHeightProperty(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PixelHeightProperty()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall SetBitmapAsync(void* softwareBitmap, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from(this->shim().SetBitmapAsync(*reinterpret_cast(&softwareBitmap))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstanceWithDimensions(int32_t pixelWidth, int32_t pixelHeight, void* baseInterface, void** innerInterface, void** value) noexcept final try { if (innerInterface) *innerInterface = nullptr; winrt::Windows::Foundation::IInspectable winrt_impl_innerInterface; clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CreateInstanceWithDimensions(pixelWidth, pixelHeight, *reinterpret_cast(&baseInterface), winrt_impl_innerInterface)); if (innerInterface) *innerInterface = detach_abi(winrt_impl_innerInterface); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateInstanceWithDimensionsAndOpacity(int32_t pixelWidth, int32_t pixelHeight, bool isOpaque, void* baseInterface, void** innerInterface, void** value) noexcept final try { if (innerInterface) *innerInterface = nullptr; winrt::Windows::Foundation::IInspectable winrt_impl_innerInterface; clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CreateInstanceWithDimensionsAndOpacity(pixelWidth, pixelHeight, isOpaque, *reinterpret_cast(&baseInterface), winrt_impl_innerInterface)); if (innerInterface) *innerInterface = detach_abi(winrt_impl_innerInterface); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_UriSource(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().UriSource()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_UriSource(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().UriSource(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RasterizePixelWidth(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RasterizePixelWidth()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RasterizePixelWidth(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RasterizePixelWidth(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RasterizePixelHeight(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RasterizePixelHeight()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RasterizePixelHeight(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RasterizePixelHeight(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_Opened(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().Opened(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_Opened(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().Opened(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_OpenFailed(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().OpenFailed(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_OpenFailed(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().OpenFailed(*reinterpret_cast(&token)); return 0; } int32_t __stdcall SetSourceAsync(void* streamSource, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().SetSourceAsync(*reinterpret_cast(&streamSource))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstance(void* baseInterface, void** innerInterface, void** value) noexcept final try { if (innerInterface) *innerInterface = nullptr; winrt::Windows::Foundation::IInspectable winrt_impl_innerInterface; clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CreateInstance(*reinterpret_cast(&baseInterface), winrt_impl_innerInterface)); if (innerInterface) *innerInterface = detach_abi(winrt_impl_innerInterface); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateInstanceWithUriSource(void* uriSource, void* baseInterface, void** innerInterface, void** value) noexcept final try { if (innerInterface) *innerInterface = nullptr; winrt::Windows::Foundation::IInspectable winrt_impl_innerInterface; clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CreateInstanceWithUriSource(*reinterpret_cast(&uriSource), *reinterpret_cast(&baseInterface), winrt_impl_innerInterface)); if (innerInterface) *innerInterface = detach_abi(winrt_impl_innerInterface); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Status(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Status()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_UriSourceProperty(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().UriSourceProperty()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RasterizePixelWidthProperty(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RasterizePixelWidthProperty()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RasterizePixelHeightProperty(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RasterizePixelHeightProperty()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstanceWithDimensions(int32_t pixelWidth, int32_t pixelHeight, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CreateInstanceWithDimensions(pixelWidth, pixelHeight)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateInstanceWithDimensionsAndOpacity(int32_t pixelWidth, int32_t pixelHeight, bool isOpaque, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CreateInstanceWithDimensionsAndOpacity(pixelWidth, pixelHeight, isOpaque)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_PixelBuffer(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PixelBuffer()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Invalidate() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Invalidate(); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstanceWithDimensions(int32_t pixelWidth, int32_t pixelHeight, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CreateInstanceWithDimensions(pixelWidth, pixelHeight)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateInstance(void* baseInterface, void** innerInterface, void** value) noexcept final try { if (innerInterface) *innerInterface = nullptr; winrt::Windows::Foundation::IInspectable winrt_impl_innerInterface; clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CreateInstance(*reinterpret_cast(&baseInterface), winrt_impl_innerInterface)); if (innerInterface) *innerInterface = detach_abi(winrt_impl_innerInterface); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall OnRun(void* taskInstance) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OnRun(*reinterpret_cast(&taskInstance)); return 0; } catch (...) { return to_hresult(); } }; template struct WINRT_IMPL_EMPTY_BASES produce_dispatch_to_overridable : produce_dispatch_to_overridable_base { auto OnRun(winrt::Windows::ApplicationModel::Background::IBackgroundTaskInstance const& taskInstance) { if (auto overridable = this->shim_overridable()) { return overridable.OnRun(taskInstance); } return this->shim().OnRun(taskInstance); } }; } WINRT_EXPORT namespace winrt::Windows::UI::Xaml::Media::Imaging { constexpr auto operator|(BitmapCreateOptions const left, BitmapCreateOptions const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(BitmapCreateOptions& left, BitmapCreateOptions const right) noexcept { left = left | right; return left; } constexpr auto operator&(BitmapCreateOptions const left, BitmapCreateOptions const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(BitmapCreateOptions& left, BitmapCreateOptions const right) noexcept { left = left & right; return left; } constexpr auto operator~(BitmapCreateOptions const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(BitmapCreateOptions const left, BitmapCreateOptions const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(BitmapCreateOptions& left, BitmapCreateOptions const right) noexcept { left = left ^ right; return left; } inline BitmapImage::BitmapImage() : BitmapImage(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline BitmapImage::BitmapImage(winrt::Windows::Foundation::Uri const& uriSource) : BitmapImage(impl::call_factory([&](IBitmapImageFactory const& f) { return f.CreateInstanceWithUriSource(uriSource); })) { } inline auto BitmapImage::CreateOptionsProperty() { return impl::call_factory_cast([](IBitmapImageStatics const& f) { return f.CreateOptionsProperty(); }); } inline auto BitmapImage::UriSourceProperty() { return impl::call_factory_cast([](IBitmapImageStatics const& f) { return f.UriSourceProperty(); }); } inline auto BitmapImage::DecodePixelWidthProperty() { return impl::call_factory_cast([](IBitmapImageStatics const& f) { return f.DecodePixelWidthProperty(); }); } inline auto BitmapImage::DecodePixelHeightProperty() { return impl::call_factory_cast([](IBitmapImageStatics const& f) { return f.DecodePixelHeightProperty(); }); } inline auto BitmapImage::DecodePixelTypeProperty() { return impl::call_factory_cast([](IBitmapImageStatics2 const& f) { return f.DecodePixelTypeProperty(); }); } inline auto BitmapImage::IsAnimatedBitmapProperty() { return impl::call_factory_cast([](IBitmapImageStatics3 const& f) { return f.IsAnimatedBitmapProperty(); }); } inline auto BitmapImage::IsPlayingProperty() { return impl::call_factory_cast([](IBitmapImageStatics3 const& f) { return f.IsPlayingProperty(); }); } inline auto BitmapImage::AutoPlayProperty() { return impl::call_factory_cast([](IBitmapImageStatics3 const& f) { return f.AutoPlayProperty(); }); } inline auto BitmapSource::PixelWidthProperty() { return impl::call_factory_cast([](IBitmapSourceStatics const& f) { return f.PixelWidthProperty(); }); } inline auto BitmapSource::PixelHeightProperty() { return impl::call_factory_cast([](IBitmapSourceStatics const& f) { return f.PixelHeightProperty(); }); } inline RenderTargetBitmap::RenderTargetBitmap() : RenderTargetBitmap(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline auto RenderTargetBitmap::PixelWidthProperty() { return impl::call_factory_cast([](IRenderTargetBitmapStatics const& f) { return f.PixelWidthProperty(); }); } inline auto RenderTargetBitmap::PixelHeightProperty() { return impl::call_factory_cast([](IRenderTargetBitmapStatics const& f) { return f.PixelHeightProperty(); }); } inline SoftwareBitmapSource::SoftwareBitmapSource() : SoftwareBitmapSource(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline SurfaceImageSource::SurfaceImageSource(int32_t pixelWidth, int32_t pixelHeight) { winrt::Windows::Foundation::IInspectable baseInterface, innerInterface; *this = impl::call_factory([&](ISurfaceImageSourceFactory const& f) { return f.CreateInstanceWithDimensions(pixelWidth, pixelHeight, baseInterface, innerInterface); }); } inline SurfaceImageSource::SurfaceImageSource(int32_t pixelWidth, int32_t pixelHeight, bool isOpaque) { winrt::Windows::Foundation::IInspectable baseInterface, innerInterface; *this = impl::call_factory([&](ISurfaceImageSourceFactory const& f) { return f.CreateInstanceWithDimensionsAndOpacity(pixelWidth, pixelHeight, isOpaque, baseInterface, innerInterface); }); } inline SvgImageSource::SvgImageSource() { winrt::Windows::Foundation::IInspectable baseInterface, innerInterface; *this = impl::call_factory([&](ISvgImageSourceFactory const& f) { return f.CreateInstance(baseInterface, innerInterface); }); } inline SvgImageSource::SvgImageSource(winrt::Windows::Foundation::Uri const& uriSource) { winrt::Windows::Foundation::IInspectable baseInterface, innerInterface; *this = impl::call_factory([&](ISvgImageSourceFactory const& f) { return f.CreateInstanceWithUriSource(uriSource, baseInterface, innerInterface); }); } inline auto SvgImageSource::UriSourceProperty() { return impl::call_factory_cast([](ISvgImageSourceStatics const& f) { return f.UriSourceProperty(); }); } inline auto SvgImageSource::RasterizePixelWidthProperty() { return impl::call_factory_cast([](ISvgImageSourceStatics const& f) { return f.RasterizePixelWidthProperty(); }); } inline auto SvgImageSource::RasterizePixelHeightProperty() { return impl::call_factory_cast([](ISvgImageSourceStatics const& f) { return f.RasterizePixelHeightProperty(); }); } inline VirtualSurfaceImageSource::VirtualSurfaceImageSource(int32_t pixelWidth, int32_t pixelHeight) : VirtualSurfaceImageSource(impl::call_factory([&](IVirtualSurfaceImageSourceFactory const& f) { return f.CreateInstanceWithDimensions(pixelWidth, pixelHeight); })) { } inline VirtualSurfaceImageSource::VirtualSurfaceImageSource(int32_t pixelWidth, int32_t pixelHeight, bool isOpaque) : VirtualSurfaceImageSource(impl::call_factory([&](IVirtualSurfaceImageSourceFactory const& f) { return f.CreateInstanceWithDimensionsAndOpacity(pixelWidth, pixelHeight, isOpaque); })) { } inline WriteableBitmap::WriteableBitmap(int32_t pixelWidth, int32_t pixelHeight) : WriteableBitmap(impl::call_factory([&](IWriteableBitmapFactory const& f) { return f.CreateInstanceWithDimensions(pixelWidth, pixelHeight); })) { } template DownloadProgressEventHandler::DownloadProgressEventHandler(L handler) : DownloadProgressEventHandler(impl::make_delegate(std::forward(handler))) { } template DownloadProgressEventHandler::DownloadProgressEventHandler(F* handler) : DownloadProgressEventHandler([=](auto&&... args) { return handler(args...); }) { } template DownloadProgressEventHandler::DownloadProgressEventHandler(O* object, M method) : DownloadProgressEventHandler([=](auto&&... args) { return ((*object).*(method))(args...); }) { } template DownloadProgressEventHandler::DownloadProgressEventHandler(com_ptr&& object, M method) : DownloadProgressEventHandler([o = std::move(object), method](auto&&... args) { return ((*o).*(method))(args...); }) { } template DownloadProgressEventHandler::DownloadProgressEventHandler(weak_ref&& object, LM&& lambda_or_method) : DownloadProgressEventHandler([o = std::move(object), lm = std::forward(lambda_or_method)](auto&&... args) { if (auto s = o.get()) { if constexpr (std::is_member_function_pointer_v) ((*s).*(lm))(args...); else lm(args...); } }) { } template DownloadProgressEventHandler::DownloadProgressEventHandler(std::shared_ptr&& object, M method) : DownloadProgressEventHandler([o = std::move(object), method](auto&&... args) { return ((*o).*(method))(args...); }) { } template DownloadProgressEventHandler::DownloadProgressEventHandler(std::weak_ptr&& object, LM&& lambda_or_method) : DownloadProgressEventHandler([o = std::move(object), lm = std::forward(lambda_or_method)](auto&&... args) { if (auto s = o.lock()) { if constexpr (std::is_member_function_pointer_v) ((*s).*(lm))(args...); else lm(args...); } }) { } inline auto DownloadProgressEventHandler::operator()(winrt::Windows::Foundation::IInspectable const& sender, winrt::Windows::UI::Xaml::Media::Imaging::DownloadProgressEventArgs const& e) const { check_hresult((*(impl::abi_t**)this)->Invoke(*(void**)(&sender), *(void**)(&e))); } template auto IXamlRenderingBackgroundTaskOverridesT::OnRun(winrt::Windows::ApplicationModel::Background::IBackgroundTaskInstance const& taskInstance) const { return shim().template try_as().OnRun(taskInstance); } template struct BitmapSourceT : implements, impl::require, impl::base { using composable = BitmapSource; protected: BitmapSourceT() { impl::call_factory([&](IBitmapSourceFactory const& f) { [[maybe_unused]] auto winrt_impl_discarded = f.CreateInstance(*this, this->m_inner); }); } }; template struct SurfaceImageSourceT : implements, impl::require, impl::base { using composable = SurfaceImageSource; protected: SurfaceImageSourceT(int32_t pixelWidth, int32_t pixelHeight) { impl::call_factory([&](ISurfaceImageSourceFactory const& f) { [[maybe_unused]] auto winrt_impl_discarded = f.CreateInstanceWithDimensions(pixelWidth, pixelHeight, *this, this->m_inner); }); } SurfaceImageSourceT(int32_t pixelWidth, int32_t pixelHeight, bool isOpaque) { impl::call_factory([&](ISurfaceImageSourceFactory const& f) { [[maybe_unused]] auto winrt_impl_discarded = f.CreateInstanceWithDimensionsAndOpacity(pixelWidth, pixelHeight, isOpaque, *this, this->m_inner); }); } }; template struct SvgImageSourceT : implements, impl::require, impl::base { using composable = SvgImageSource; protected: SvgImageSourceT() { impl::call_factory([&](ISvgImageSourceFactory const& f) { [[maybe_unused]] auto winrt_impl_discarded = f.CreateInstance(*this, this->m_inner); }); } SvgImageSourceT(winrt::Windows::Foundation::Uri const& uriSource) { impl::call_factory([&](ISvgImageSourceFactory const& f) { [[maybe_unused]] auto winrt_impl_discarded = f.CreateInstanceWithUriSource(uriSource, *this, this->m_inner); }); } }; template struct XamlRenderingBackgroundTaskT : implements, impl::require, impl::base, winrt::Windows::UI::Xaml::Media::Imaging::IXamlRenderingBackgroundTaskOverridesT { using composable = XamlRenderingBackgroundTask; friend impl::produce; protected: XamlRenderingBackgroundTaskT() { impl::call_factory([&](IXamlRenderingBackgroundTaskFactory const& f) { [[maybe_unused]] auto winrt_impl_discarded = f.CreateInstance(*this, this->m_inner); }); } }; } 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 {}; #endif #ifdef __cpp_lib_format #endif } #endif