// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_Graphics_Imaging_H #define WINRT_Windows_Graphics_Imaging_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.Graphics.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.Graphics.DirectX.Direct3D11.2.h" #include "winrt/impl/Windows.Storage.Streams.2.h" #include "winrt/impl/Windows.Graphics.Imaging.2.h" namespace winrt::impl { template auto consume_Windows_Graphics_Imaging_IBitmapBuffer::GetPlaneCount() const { int32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapBuffer)->GetPlaneCount(&value)); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapBuffer::GetPlaneDescription(int32_t index) const { winrt::Windows::Graphics::Imaging::BitmapPlaneDescription value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapBuffer)->GetPlaneDescription(index, put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapCodecInformation::CodecId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapCodecInformation)->get_CodecId(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapCodecInformation::FileExtensions() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapCodecInformation)->get_FileExtensions(&value)); return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapCodecInformation::FriendlyName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapCodecInformation)->get_FriendlyName(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapCodecInformation::MimeTypes() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapCodecInformation)->get_MimeTypes(&value)); return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapDecoder::BitmapContainerProperties() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapDecoder)->get_BitmapContainerProperties(&value)); return winrt::Windows::Graphics::Imaging::BitmapPropertiesView{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapDecoder::DecoderInformation() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapDecoder)->get_DecoderInformation(&value)); return winrt::Windows::Graphics::Imaging::BitmapCodecInformation{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapDecoder::FrameCount() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapDecoder)->get_FrameCount(&value)); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapDecoder::GetPreviewAsync() const { void* asyncInfo{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapDecoder)->GetPreviewAsync(&asyncInfo)); return winrt::Windows::Foundation::IAsyncOperation{ asyncInfo, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapDecoder::GetFrameAsync(uint32_t frameIndex) const { void* asyncInfo{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapDecoder)->GetFrameAsync(frameIndex, &asyncInfo)); return winrt::Windows::Foundation::IAsyncOperation{ asyncInfo, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapDecoderStatics::BmpDecoderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapDecoderStatics)->get_BmpDecoderId(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapDecoderStatics::JpegDecoderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapDecoderStatics)->get_JpegDecoderId(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapDecoderStatics::PngDecoderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapDecoderStatics)->get_PngDecoderId(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapDecoderStatics::TiffDecoderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapDecoderStatics)->get_TiffDecoderId(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapDecoderStatics::GifDecoderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapDecoderStatics)->get_GifDecoderId(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapDecoderStatics::JpegXRDecoderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapDecoderStatics)->get_JpegXRDecoderId(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapDecoderStatics::IcoDecoderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapDecoderStatics)->get_IcoDecoderId(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapDecoderStatics::GetDecoderInformationEnumerator() const { void* decoderInformationEnumerator{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapDecoderStatics)->GetDecoderInformationEnumerator(&decoderInformationEnumerator)); return winrt::Windows::Foundation::Collections::IVectorView{ decoderInformationEnumerator, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapDecoderStatics::CreateAsync(winrt::Windows::Storage::Streams::IRandomAccessStream const& stream) const { void* asyncInfo{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapDecoderStatics)->CreateAsync(*(void**)(&stream), &asyncInfo)); return winrt::Windows::Foundation::IAsyncOperation{ asyncInfo, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapDecoderStatics::CreateAsync(winrt::guid const& decoderId, winrt::Windows::Storage::Streams::IRandomAccessStream const& stream) const { void* asyncInfo{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapDecoderStatics)->CreateWithIdAsync(impl::bind_in(decoderId), *(void**)(&stream), &asyncInfo)); return winrt::Windows::Foundation::IAsyncOperation{ asyncInfo, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapDecoderStatics2::HeifDecoderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapDecoderStatics2)->get_HeifDecoderId(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapDecoderStatics2::WebpDecoderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapDecoderStatics2)->get_WebpDecoderId(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoder::EncoderInformation() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoder)->get_EncoderInformation(&value)); return winrt::Windows::Graphics::Imaging::BitmapCodecInformation{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoder::BitmapProperties() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoder)->get_BitmapProperties(&value)); return winrt::Windows::Graphics::Imaging::BitmapProperties{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoder::BitmapContainerProperties() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoder)->get_BitmapContainerProperties(&value)); return winrt::Windows::Graphics::Imaging::BitmapProperties{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoder::IsThumbnailGenerated() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoder)->get_IsThumbnailGenerated(&value)); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoder::IsThumbnailGenerated(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoder)->put_IsThumbnailGenerated(value)); } template auto consume_Windows_Graphics_Imaging_IBitmapEncoder::GeneratedThumbnailWidth() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoder)->get_GeneratedThumbnailWidth(&value)); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoder::GeneratedThumbnailWidth(uint32_t value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoder)->put_GeneratedThumbnailWidth(value)); } template auto consume_Windows_Graphics_Imaging_IBitmapEncoder::GeneratedThumbnailHeight() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoder)->get_GeneratedThumbnailHeight(&value)); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoder::GeneratedThumbnailHeight(uint32_t value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoder)->put_GeneratedThumbnailHeight(value)); } template auto consume_Windows_Graphics_Imaging_IBitmapEncoder::BitmapTransform() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoder)->get_BitmapTransform(&value)); return winrt::Windows::Graphics::Imaging::BitmapTransform{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoder::SetPixelData(winrt::Windows::Graphics::Imaging::BitmapPixelFormat const& pixelFormat, winrt::Windows::Graphics::Imaging::BitmapAlphaMode const& alphaMode, uint32_t width, uint32_t height, double dpiX, double dpiY, array_view pixels) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoder)->SetPixelData(static_cast(pixelFormat), static_cast(alphaMode), width, height, dpiX, dpiY, pixels.size(), get_abi(pixels))); } template auto consume_Windows_Graphics_Imaging_IBitmapEncoder::GoToNextFrameAsync() const { void* asyncInfo{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoder)->GoToNextFrameAsync(&asyncInfo)); return winrt::Windows::Foundation::IAsyncAction{ asyncInfo, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoder::GoToNextFrameAsync(param::async_iterable> const& encodingOptions) const { void* asyncInfo{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoder)->GoToNextFrameWithEncodingOptionsAsync(*(void**)(&encodingOptions), &asyncInfo)); return winrt::Windows::Foundation::IAsyncAction{ asyncInfo, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoder::FlushAsync() const { void* asyncInfo{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoder)->FlushAsync(&asyncInfo)); return winrt::Windows::Foundation::IAsyncAction{ asyncInfo, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoderStatics::BmpEncoderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoderStatics)->get_BmpEncoderId(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoderStatics::JpegEncoderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoderStatics)->get_JpegEncoderId(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoderStatics::PngEncoderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoderStatics)->get_PngEncoderId(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoderStatics::TiffEncoderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoderStatics)->get_TiffEncoderId(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoderStatics::GifEncoderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoderStatics)->get_GifEncoderId(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoderStatics::JpegXREncoderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoderStatics)->get_JpegXREncoderId(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoderStatics::GetEncoderInformationEnumerator() const { void* encoderInformationEnumerator{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoderStatics)->GetEncoderInformationEnumerator(&encoderInformationEnumerator)); return winrt::Windows::Foundation::Collections::IVectorView{ encoderInformationEnumerator, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoderStatics::CreateAsync(winrt::guid const& encoderId, winrt::Windows::Storage::Streams::IRandomAccessStream const& stream) const { void* asyncInfo{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoderStatics)->CreateAsync(impl::bind_in(encoderId), *(void**)(&stream), &asyncInfo)); return winrt::Windows::Foundation::IAsyncOperation{ asyncInfo, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoderStatics::CreateAsync(winrt::guid const& encoderId, winrt::Windows::Storage::Streams::IRandomAccessStream const& stream, param::async_iterable> const& encodingOptions) const { void* asyncInfo{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoderStatics)->CreateWithEncodingOptionsAsync(impl::bind_in(encoderId), *(void**)(&stream), *(void**)(&encodingOptions), &asyncInfo)); return winrt::Windows::Foundation::IAsyncOperation{ asyncInfo, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoderStatics::CreateForTranscodingAsync(winrt::Windows::Storage::Streams::IRandomAccessStream const& stream, winrt::Windows::Graphics::Imaging::BitmapDecoder const& bitmapDecoder) const { void* asyncInfo{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoderStatics)->CreateForTranscodingAsync(*(void**)(&stream), *(void**)(&bitmapDecoder), &asyncInfo)); return winrt::Windows::Foundation::IAsyncOperation{ asyncInfo, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoderStatics::CreateForInPlacePropertyEncodingAsync(winrt::Windows::Graphics::Imaging::BitmapDecoder const& bitmapDecoder) const { void* asyncInfo{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoderStatics)->CreateForInPlacePropertyEncodingAsync(*(void**)(&bitmapDecoder), &asyncInfo)); return winrt::Windows::Foundation::IAsyncOperation{ asyncInfo, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoderStatics2::HeifEncoderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoderStatics2)->get_HeifEncoderId(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapEncoderWithSoftwareBitmap::SetSoftwareBitmap(winrt::Windows::Graphics::Imaging::SoftwareBitmap const& bitmap) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapEncoderWithSoftwareBitmap)->SetSoftwareBitmap(*(void**)(&bitmap))); } template auto consume_Windows_Graphics_Imaging_IBitmapFrame::GetThumbnailAsync() const { void* asyncInfo{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapFrame)->GetThumbnailAsync(&asyncInfo)); return winrt::Windows::Foundation::IAsyncOperation{ asyncInfo, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapFrame::BitmapProperties() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapFrame)->get_BitmapProperties(&value)); return winrt::Windows::Graphics::Imaging::BitmapPropertiesView{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapFrame::BitmapPixelFormat() const { winrt::Windows::Graphics::Imaging::BitmapPixelFormat value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapFrame)->get_BitmapPixelFormat(reinterpret_cast(&value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapFrame::BitmapAlphaMode() const { winrt::Windows::Graphics::Imaging::BitmapAlphaMode value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapFrame)->get_BitmapAlphaMode(reinterpret_cast(&value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapFrame::DpiX() const { double value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapFrame)->get_DpiX(&value)); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapFrame::DpiY() const { double value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapFrame)->get_DpiY(&value)); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapFrame::PixelWidth() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapFrame)->get_PixelWidth(&value)); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapFrame::PixelHeight() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapFrame)->get_PixelHeight(&value)); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapFrame::OrientedPixelWidth() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapFrame)->get_OrientedPixelWidth(&value)); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapFrame::OrientedPixelHeight() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapFrame)->get_OrientedPixelHeight(&value)); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapFrame::GetPixelDataAsync() const { void* asyncInfo{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapFrame)->GetPixelDataAsync(&asyncInfo)); return winrt::Windows::Foundation::IAsyncOperation{ asyncInfo, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapFrame::GetPixelDataAsync(winrt::Windows::Graphics::Imaging::BitmapPixelFormat const& pixelFormat, winrt::Windows::Graphics::Imaging::BitmapAlphaMode const& alphaMode, winrt::Windows::Graphics::Imaging::BitmapTransform const& transform, winrt::Windows::Graphics::Imaging::ExifOrientationMode const& exifOrientationMode, winrt::Windows::Graphics::Imaging::ColorManagementMode const& colorManagementMode) const { void* asyncInfo{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapFrame)->GetPixelDataTransformedAsync(static_cast(pixelFormat), static_cast(alphaMode), *(void**)(&transform), static_cast(exifOrientationMode), static_cast(colorManagementMode), &asyncInfo)); return winrt::Windows::Foundation::IAsyncOperation{ asyncInfo, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapFrameWithSoftwareBitmap::GetSoftwareBitmapAsync() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapFrameWithSoftwareBitmap)->GetSoftwareBitmapAsync(&value)); return winrt::Windows::Foundation::IAsyncOperation{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapFrameWithSoftwareBitmap::GetSoftwareBitmapAsync(winrt::Windows::Graphics::Imaging::BitmapPixelFormat const& pixelFormat, winrt::Windows::Graphics::Imaging::BitmapAlphaMode const& alphaMode) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapFrameWithSoftwareBitmap)->GetSoftwareBitmapConvertedAsync(static_cast(pixelFormat), static_cast(alphaMode), &value)); return winrt::Windows::Foundation::IAsyncOperation{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapFrameWithSoftwareBitmap::GetSoftwareBitmapAsync(winrt::Windows::Graphics::Imaging::BitmapPixelFormat const& pixelFormat, winrt::Windows::Graphics::Imaging::BitmapAlphaMode const& alphaMode, winrt::Windows::Graphics::Imaging::BitmapTransform const& transform, winrt::Windows::Graphics::Imaging::ExifOrientationMode const& exifOrientationMode, winrt::Windows::Graphics::Imaging::ColorManagementMode const& colorManagementMode) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapFrameWithSoftwareBitmap)->GetSoftwareBitmapTransformedAsync(static_cast(pixelFormat), static_cast(alphaMode), *(void**)(&transform), static_cast(exifOrientationMode), static_cast(colorManagementMode), &value)); return winrt::Windows::Foundation::IAsyncOperation{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapProperties::SetPropertiesAsync(param::async_iterable> const& propertiesToSet) const { void* asyncInfo{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapProperties)->SetPropertiesAsync(*(void**)(&propertiesToSet), &asyncInfo)); return winrt::Windows::Foundation::IAsyncAction{ asyncInfo, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapPropertiesView::GetPropertiesAsync(param::async_iterable const& propertiesToRetrieve) const { void* asyncInfo{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapPropertiesView)->GetPropertiesAsync(*(void**)(&propertiesToRetrieve), &asyncInfo)); return winrt::Windows::Foundation::IAsyncOperation{ asyncInfo, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapTransform::ScaledWidth() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapTransform)->get_ScaledWidth(&value)); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapTransform::ScaledWidth(uint32_t value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapTransform)->put_ScaledWidth(value)); } template auto consume_Windows_Graphics_Imaging_IBitmapTransform::ScaledHeight() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapTransform)->get_ScaledHeight(&value)); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapTransform::ScaledHeight(uint32_t value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapTransform)->put_ScaledHeight(value)); } template auto consume_Windows_Graphics_Imaging_IBitmapTransform::InterpolationMode() const { winrt::Windows::Graphics::Imaging::BitmapInterpolationMode value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapTransform)->get_InterpolationMode(reinterpret_cast(&value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapTransform::InterpolationMode(winrt::Windows::Graphics::Imaging::BitmapInterpolationMode const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapTransform)->put_InterpolationMode(static_cast(value))); } template auto consume_Windows_Graphics_Imaging_IBitmapTransform::Flip() const { winrt::Windows::Graphics::Imaging::BitmapFlip value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapTransform)->get_Flip(reinterpret_cast(&value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapTransform::Flip(winrt::Windows::Graphics::Imaging::BitmapFlip const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapTransform)->put_Flip(static_cast(value))); } template auto consume_Windows_Graphics_Imaging_IBitmapTransform::Rotation() const { winrt::Windows::Graphics::Imaging::BitmapRotation value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapTransform)->get_Rotation(reinterpret_cast(&value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapTransform::Rotation(winrt::Windows::Graphics::Imaging::BitmapRotation const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapTransform)->put_Rotation(static_cast(value))); } template auto consume_Windows_Graphics_Imaging_IBitmapTransform::Bounds() const { winrt::Windows::Graphics::Imaging::BitmapBounds value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapTransform)->get_Bounds(put_abi(value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapTransform::Bounds(winrt::Windows::Graphics::Imaging::BitmapBounds const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapTransform)->put_Bounds(impl::bind_in(value))); } template auto consume_Windows_Graphics_Imaging_IBitmapTypedValue::Value() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapTypedValue)->get_Value(&value)); return winrt::Windows::Foundation::IInspectable{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IBitmapTypedValue::Type() const { winrt::Windows::Foundation::PropertyType value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapTypedValue)->get_Type(reinterpret_cast(&value))); return value; } template auto consume_Windows_Graphics_Imaging_IBitmapTypedValueFactory::Create(winrt::Windows::Foundation::IInspectable const& value, winrt::Windows::Foundation::PropertyType const& type) const { void* bitmapTypedValue{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IBitmapTypedValueFactory)->Create(*(void**)(&value), static_cast(type), &bitmapTypedValue)); return winrt::Windows::Graphics::Imaging::BitmapTypedValue{ bitmapTypedValue, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_IPixelDataProvider::DetachPixelData() const { uint32_t pixelData_impl_size{}; uint8_t* pixelData{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::IPixelDataProvider)->DetachPixelData(&pixelData_impl_size, &pixelData)); return com_array{ pixelData, pixelData_impl_size, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmap::BitmapPixelFormat() const { winrt::Windows::Graphics::Imaging::BitmapPixelFormat value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmap)->get_BitmapPixelFormat(reinterpret_cast(&value))); return value; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmap::BitmapAlphaMode() const { winrt::Windows::Graphics::Imaging::BitmapAlphaMode value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmap)->get_BitmapAlphaMode(reinterpret_cast(&value))); return value; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmap::PixelWidth() const { int32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmap)->get_PixelWidth(&value)); return value; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmap::PixelHeight() const { int32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmap)->get_PixelHeight(&value)); return value; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmap::IsReadOnly() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmap)->get_IsReadOnly(&value)); return value; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmap::DpiX(double value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmap)->put_DpiX(value)); } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmap::DpiX() const { double value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmap)->get_DpiX(&value)); return value; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmap::DpiY(double value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmap)->put_DpiY(value)); } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmap::DpiY() const { double value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmap)->get_DpiY(&value)); return value; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmap::LockBuffer(winrt::Windows::Graphics::Imaging::BitmapBufferAccessMode const& mode) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmap)->LockBuffer(static_cast(mode), &value)); return winrt::Windows::Graphics::Imaging::BitmapBuffer{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmap::CopyTo(winrt::Windows::Graphics::Imaging::SoftwareBitmap const& bitmap) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmap)->CopyTo(*(void**)(&bitmap))); } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmap::CopyFromBuffer(winrt::Windows::Storage::Streams::IBuffer const& buffer) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmap)->CopyFromBuffer(*(void**)(&buffer))); } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmap::CopyToBuffer(winrt::Windows::Storage::Streams::IBuffer const& buffer) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmap)->CopyToBuffer(*(void**)(&buffer))); } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmap::GetReadOnlyView() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmap)->GetReadOnlyView(&value)); return winrt::Windows::Graphics::Imaging::SoftwareBitmap{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmapFactory::Create(winrt::Windows::Graphics::Imaging::BitmapPixelFormat const& format, int32_t width, int32_t height) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmapFactory)->Create(static_cast(format), width, height, &value)); return winrt::Windows::Graphics::Imaging::SoftwareBitmap{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmapFactory::CreateWithAlpha(winrt::Windows::Graphics::Imaging::BitmapPixelFormat const& format, int32_t width, int32_t height, winrt::Windows::Graphics::Imaging::BitmapAlphaMode const& alpha) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmapFactory)->CreateWithAlpha(static_cast(format), width, height, static_cast(alpha), &value)); return winrt::Windows::Graphics::Imaging::SoftwareBitmap{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmapStatics::Copy(winrt::Windows::Graphics::Imaging::SoftwareBitmap const& source) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmapStatics)->Copy(*(void**)(&source), &value)); return winrt::Windows::Graphics::Imaging::SoftwareBitmap{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmapStatics::Convert(winrt::Windows::Graphics::Imaging::SoftwareBitmap const& source, winrt::Windows::Graphics::Imaging::BitmapPixelFormat const& format) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmapStatics)->Convert(*(void**)(&source), static_cast(format), &value)); return winrt::Windows::Graphics::Imaging::SoftwareBitmap{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmapStatics::Convert(winrt::Windows::Graphics::Imaging::SoftwareBitmap const& source, winrt::Windows::Graphics::Imaging::BitmapPixelFormat const& format, winrt::Windows::Graphics::Imaging::BitmapAlphaMode const& alpha) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmapStatics)->ConvertWithAlpha(*(void**)(&source), static_cast(format), static_cast(alpha), &value)); return winrt::Windows::Graphics::Imaging::SoftwareBitmap{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmapStatics::CreateCopyFromBuffer(winrt::Windows::Storage::Streams::IBuffer const& source, winrt::Windows::Graphics::Imaging::BitmapPixelFormat const& format, int32_t width, int32_t height) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmapStatics)->CreateCopyFromBuffer(*(void**)(&source), static_cast(format), width, height, &value)); return winrt::Windows::Graphics::Imaging::SoftwareBitmap{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmapStatics::CreateCopyFromBuffer(winrt::Windows::Storage::Streams::IBuffer const& source, winrt::Windows::Graphics::Imaging::BitmapPixelFormat const& format, int32_t width, int32_t height, winrt::Windows::Graphics::Imaging::BitmapAlphaMode const& alpha) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmapStatics)->CreateCopyWithAlphaFromBuffer(*(void**)(&source), static_cast(format), width, height, static_cast(alpha), &value)); return winrt::Windows::Graphics::Imaging::SoftwareBitmap{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmapStatics::CreateCopyFromSurfaceAsync(winrt::Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface const& surface) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmapStatics)->CreateCopyFromSurfaceAsync(*(void**)(&surface), &value)); return winrt::Windows::Foundation::IAsyncOperation{ value, take_ownership_from_abi }; } template auto consume_Windows_Graphics_Imaging_ISoftwareBitmapStatics::CreateCopyFromSurfaceAsync(winrt::Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface const& surface, winrt::Windows::Graphics::Imaging::BitmapAlphaMode const& alpha) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Graphics::Imaging::ISoftwareBitmapStatics)->CreateCopyWithAlphaFromSurfaceAsync(*(void**)(&surface), static_cast(alpha), &value)); return winrt::Windows::Foundation::IAsyncOperation{ value, take_ownership_from_abi }; } #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetPlaneCount(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GetPlaneCount()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetPlaneDescription(int32_t index, struct struct_Windows_Graphics_Imaging_BitmapPlaneDescription* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GetPlaneDescription(index)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_CodecId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CodecId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_FileExtensions(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().FileExtensions()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_FriendlyName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FriendlyName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MimeTypes(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().MimeTypes()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_BitmapContainerProperties(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().BitmapContainerProperties()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DecoderInformation(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DecoderInformation()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_FrameCount(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FrameCount()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetPreviewAsync(void** asyncInfo) noexcept final try { clear_abi(asyncInfo); typename D::abi_guard guard(this->shim()); *asyncInfo = detach_from>(this->shim().GetPreviewAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetFrameAsync(uint32_t frameIndex, void** asyncInfo) noexcept final try { clear_abi(asyncInfo); typename D::abi_guard guard(this->shim()); *asyncInfo = detach_from>(this->shim().GetFrameAsync(frameIndex)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_BmpDecoderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().BmpDecoderId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_JpegDecoderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().JpegDecoderId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PngDecoderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PngDecoderId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TiffDecoderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TiffDecoderId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_GifDecoderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GifDecoderId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_JpegXRDecoderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().JpegXRDecoderId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IcoDecoderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IcoDecoderId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetDecoderInformationEnumerator(void** decoderInformationEnumerator) noexcept final try { clear_abi(decoderInformationEnumerator); typename D::abi_guard guard(this->shim()); *decoderInformationEnumerator = detach_from>(this->shim().GetDecoderInformationEnumerator()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateAsync(void* stream, void** asyncInfo) noexcept final try { clear_abi(asyncInfo); typename D::abi_guard guard(this->shim()); *asyncInfo = detach_from>(this->shim().CreateAsync(*reinterpret_cast(&stream))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateWithIdAsync(winrt::guid decoderId, void* stream, void** asyncInfo) noexcept final try { clear_abi(asyncInfo); typename D::abi_guard guard(this->shim()); *asyncInfo = detach_from>(this->shim().CreateAsync(*reinterpret_cast(&decoderId), *reinterpret_cast(&stream))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_HeifDecoderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HeifDecoderId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_WebpDecoderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().WebpDecoderId()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_EncoderInformation(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().EncoderInformation()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_BitmapProperties(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().BitmapProperties()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_BitmapContainerProperties(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().BitmapContainerProperties()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsThumbnailGenerated(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsThumbnailGenerated()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IsThumbnailGenerated(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IsThumbnailGenerated(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_GeneratedThumbnailWidth(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GeneratedThumbnailWidth()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_GeneratedThumbnailWidth(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().GeneratedThumbnailWidth(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_GeneratedThumbnailHeight(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GeneratedThumbnailHeight()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_GeneratedThumbnailHeight(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().GeneratedThumbnailHeight(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_BitmapTransform(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().BitmapTransform()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetPixelData(int32_t pixelFormat, int32_t alphaMode, uint32_t width, uint32_t height, double dpiX, double dpiY, uint32_t __pixelsSize, uint8_t* pixels) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SetPixelData(*reinterpret_cast(&pixelFormat), *reinterpret_cast(&alphaMode), width, height, dpiX, dpiY, array_view(reinterpret_cast(pixels), reinterpret_cast(pixels) + __pixelsSize)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GoToNextFrameAsync(void** asyncInfo) noexcept final try { clear_abi(asyncInfo); typename D::abi_guard guard(this->shim()); *asyncInfo = detach_from(this->shim().GoToNextFrameAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GoToNextFrameWithEncodingOptionsAsync(void* encodingOptions, void** asyncInfo) noexcept final try { clear_abi(asyncInfo); typename D::abi_guard guard(this->shim()); *asyncInfo = detach_from(this->shim().GoToNextFrameAsync(*reinterpret_cast> const*>(&encodingOptions))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall FlushAsync(void** asyncInfo) noexcept final try { clear_abi(asyncInfo); typename D::abi_guard guard(this->shim()); *asyncInfo = detach_from(this->shim().FlushAsync()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_BmpEncoderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().BmpEncoderId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_JpegEncoderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().JpegEncoderId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PngEncoderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PngEncoderId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TiffEncoderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TiffEncoderId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_GifEncoderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GifEncoderId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_JpegXREncoderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().JpegXREncoderId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetEncoderInformationEnumerator(void** encoderInformationEnumerator) noexcept final try { clear_abi(encoderInformationEnumerator); typename D::abi_guard guard(this->shim()); *encoderInformationEnumerator = detach_from>(this->shim().GetEncoderInformationEnumerator()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateAsync(winrt::guid encoderId, void* stream, void** asyncInfo) noexcept final try { clear_abi(asyncInfo); typename D::abi_guard guard(this->shim()); *asyncInfo = detach_from>(this->shim().CreateAsync(*reinterpret_cast(&encoderId), *reinterpret_cast(&stream))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateWithEncodingOptionsAsync(winrt::guid encoderId, void* stream, void* encodingOptions, void** asyncInfo) noexcept final try { clear_abi(asyncInfo); typename D::abi_guard guard(this->shim()); *asyncInfo = detach_from>(this->shim().CreateAsync(*reinterpret_cast(&encoderId), *reinterpret_cast(&stream), *reinterpret_cast> const*>(&encodingOptions))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateForTranscodingAsync(void* stream, void* bitmapDecoder, void** asyncInfo) noexcept final try { clear_abi(asyncInfo); typename D::abi_guard guard(this->shim()); *asyncInfo = detach_from>(this->shim().CreateForTranscodingAsync(*reinterpret_cast(&stream), *reinterpret_cast(&bitmapDecoder))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateForInPlacePropertyEncodingAsync(void* bitmapDecoder, void** asyncInfo) noexcept final try { clear_abi(asyncInfo); typename D::abi_guard guard(this->shim()); *asyncInfo = detach_from>(this->shim().CreateForInPlacePropertyEncodingAsync(*reinterpret_cast(&bitmapDecoder))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_HeifEncoderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HeifEncoderId()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall SetSoftwareBitmap(void* bitmap) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SetSoftwareBitmap(*reinterpret_cast(&bitmap)); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall GetThumbnailAsync(void** asyncInfo) noexcept final try { clear_abi(asyncInfo); typename D::abi_guard guard(this->shim()); *asyncInfo = detach_from>(this->shim().GetThumbnailAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_BitmapProperties(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().BitmapProperties()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_BitmapPixelFormat(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().BitmapPixelFormat()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_BitmapAlphaMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().BitmapAlphaMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DpiX(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DpiX()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DpiY(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DpiY()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PixelWidth(uint32_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(uint32_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 get_OrientedPixelWidth(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().OrientedPixelWidth()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_OrientedPixelHeight(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().OrientedPixelHeight()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetPixelDataAsync(void** asyncInfo) noexcept final try { clear_abi(asyncInfo); typename D::abi_guard guard(this->shim()); *asyncInfo = detach_from>(this->shim().GetPixelDataAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetPixelDataTransformedAsync(int32_t pixelFormat, int32_t alphaMode, void* transform, int32_t exifOrientationMode, int32_t colorManagementMode, void** asyncInfo) noexcept final try { clear_abi(asyncInfo); typename D::abi_guard guard(this->shim()); *asyncInfo = detach_from>(this->shim().GetPixelDataAsync(*reinterpret_cast(&pixelFormat), *reinterpret_cast(&alphaMode), *reinterpret_cast(&transform), *reinterpret_cast(&exifOrientationMode), *reinterpret_cast(&colorManagementMode))); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall GetSoftwareBitmapAsync(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().GetSoftwareBitmapAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetSoftwareBitmapConvertedAsync(int32_t pixelFormat, int32_t alphaMode, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().GetSoftwareBitmapAsync(*reinterpret_cast(&pixelFormat), *reinterpret_cast(&alphaMode))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetSoftwareBitmapTransformedAsync(int32_t pixelFormat, int32_t alphaMode, void* transform, int32_t exifOrientationMode, int32_t colorManagementMode, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().GetSoftwareBitmapAsync(*reinterpret_cast(&pixelFormat), *reinterpret_cast(&alphaMode), *reinterpret_cast(&transform), *reinterpret_cast(&exifOrientationMode), *reinterpret_cast(&colorManagementMode))); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall SetPropertiesAsync(void* propertiesToSet, void** asyncInfo) noexcept final try { clear_abi(asyncInfo); typename D::abi_guard guard(this->shim()); *asyncInfo = detach_from(this->shim().SetPropertiesAsync(*reinterpret_cast> const*>(&propertiesToSet))); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall GetPropertiesAsync(void* propertiesToRetrieve, void** asyncInfo) noexcept final try { clear_abi(asyncInfo); typename D::abi_guard guard(this->shim()); *asyncInfo = detach_from>(this->shim().GetPropertiesAsync(*reinterpret_cast const*>(&propertiesToRetrieve))); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ScaledWidth(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ScaledWidth()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ScaledWidth(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ScaledWidth(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ScaledHeight(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ScaledHeight()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ScaledHeight(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ScaledHeight(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_InterpolationMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InterpolationMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_InterpolationMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().InterpolationMode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Flip(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Flip()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Flip(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Flip(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Rotation(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Rotation()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Rotation(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Rotation(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Bounds(struct struct_Windows_Graphics_Imaging_BitmapBounds* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Bounds()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Bounds(struct struct_Windows_Graphics_Imaging_BitmapBounds value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Bounds(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Value(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Value()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Type(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Type()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* value, int32_t type, void** bitmapTypedValue) noexcept final try { clear_abi(bitmapTypedValue); typename D::abi_guard guard(this->shim()); *bitmapTypedValue = detach_from(this->shim().Create(*reinterpret_cast(&value), *reinterpret_cast(&type))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall DetachPixelData(uint32_t* __pixelDataSize, uint8_t** pixelData) noexcept final try { clear_abi(pixelData); typename D::abi_guard guard(this->shim()); std::tie(*__pixelDataSize, *pixelData) = detach_abi(this->shim().DetachPixelData()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_BitmapPixelFormat(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().BitmapPixelFormat()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_BitmapAlphaMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().BitmapAlphaMode()); return 0; } catch (...) { return to_hresult(); } 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 get_IsReadOnly(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsReadOnly()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DpiX(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DpiX(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DpiX(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DpiX()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DpiY(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DpiY(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DpiY(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DpiY()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall LockBuffer(int32_t mode, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LockBuffer(*reinterpret_cast(&mode))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CopyTo(void* bitmap) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().CopyTo(*reinterpret_cast(&bitmap)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CopyFromBuffer(void* buffer) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().CopyFromBuffer(*reinterpret_cast(&buffer)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CopyToBuffer(void* buffer) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().CopyToBuffer(*reinterpret_cast(&buffer)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetReadOnlyView(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GetReadOnlyView()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(int32_t format, int32_t width, int32_t height, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Create(*reinterpret_cast(&format), width, height)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateWithAlpha(int32_t format, int32_t width, int32_t height, int32_t alpha, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CreateWithAlpha(*reinterpret_cast(&format), width, height, *reinterpret_cast(&alpha))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Copy(void* source, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Copy(*reinterpret_cast(&source))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Convert(void* source, int32_t format, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Convert(*reinterpret_cast(&source), *reinterpret_cast(&format))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ConvertWithAlpha(void* source, int32_t format, int32_t alpha, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Convert(*reinterpret_cast(&source), *reinterpret_cast(&format), *reinterpret_cast(&alpha))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateCopyFromBuffer(void* source, int32_t format, int32_t width, int32_t height, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CreateCopyFromBuffer(*reinterpret_cast(&source), *reinterpret_cast(&format), width, height)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateCopyWithAlphaFromBuffer(void* source, int32_t format, int32_t width, int32_t height, int32_t alpha, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CreateCopyFromBuffer(*reinterpret_cast(&source), *reinterpret_cast(&format), width, height, *reinterpret_cast(&alpha))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateCopyFromSurfaceAsync(void* surface, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().CreateCopyFromSurfaceAsync(*reinterpret_cast(&surface))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateCopyWithAlphaFromSurfaceAsync(void* surface, int32_t alpha, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().CreateCopyFromSurfaceAsync(*reinterpret_cast(&surface), *reinterpret_cast(&alpha))); return 0; } catch (...) { return to_hresult(); } }; #endif } WINRT_EXPORT namespace winrt::Windows::Graphics::Imaging { inline auto BitmapDecoder::BmpDecoderId() { return impl::call_factory_cast([](IBitmapDecoderStatics const& f) { return f.BmpDecoderId(); }); } inline auto BitmapDecoder::JpegDecoderId() { return impl::call_factory_cast([](IBitmapDecoderStatics const& f) { return f.JpegDecoderId(); }); } inline auto BitmapDecoder::PngDecoderId() { return impl::call_factory_cast([](IBitmapDecoderStatics const& f) { return f.PngDecoderId(); }); } inline auto BitmapDecoder::TiffDecoderId() { return impl::call_factory_cast([](IBitmapDecoderStatics const& f) { return f.TiffDecoderId(); }); } inline auto BitmapDecoder::GifDecoderId() { return impl::call_factory_cast([](IBitmapDecoderStatics const& f) { return f.GifDecoderId(); }); } inline auto BitmapDecoder::JpegXRDecoderId() { return impl::call_factory_cast([](IBitmapDecoderStatics const& f) { return f.JpegXRDecoderId(); }); } inline auto BitmapDecoder::IcoDecoderId() { return impl::call_factory_cast([](IBitmapDecoderStatics const& f) { return f.IcoDecoderId(); }); } inline auto BitmapDecoder::GetDecoderInformationEnumerator() { return impl::call_factory_cast(*)(IBitmapDecoderStatics const&), BitmapDecoder, IBitmapDecoderStatics>([](IBitmapDecoderStatics const& f) { return f.GetDecoderInformationEnumerator(); }); } inline auto BitmapDecoder::CreateAsync(winrt::Windows::Storage::Streams::IRandomAccessStream const& stream) { return impl::call_factory([&](IBitmapDecoderStatics const& f) { return f.CreateAsync(stream); }); } inline auto BitmapDecoder::CreateAsync(winrt::guid const& decoderId, winrt::Windows::Storage::Streams::IRandomAccessStream const& stream) { return impl::call_factory([&](IBitmapDecoderStatics const& f) { return f.CreateAsync(decoderId, stream); }); } inline auto BitmapDecoder::HeifDecoderId() { return impl::call_factory_cast([](IBitmapDecoderStatics2 const& f) { return f.HeifDecoderId(); }); } inline auto BitmapDecoder::WebpDecoderId() { return impl::call_factory_cast([](IBitmapDecoderStatics2 const& f) { return f.WebpDecoderId(); }); } inline auto BitmapEncoder::BmpEncoderId() { return impl::call_factory_cast([](IBitmapEncoderStatics const& f) { return f.BmpEncoderId(); }); } inline auto BitmapEncoder::JpegEncoderId() { return impl::call_factory_cast([](IBitmapEncoderStatics const& f) { return f.JpegEncoderId(); }); } inline auto BitmapEncoder::PngEncoderId() { return impl::call_factory_cast([](IBitmapEncoderStatics const& f) { return f.PngEncoderId(); }); } inline auto BitmapEncoder::TiffEncoderId() { return impl::call_factory_cast([](IBitmapEncoderStatics const& f) { return f.TiffEncoderId(); }); } inline auto BitmapEncoder::GifEncoderId() { return impl::call_factory_cast([](IBitmapEncoderStatics const& f) { return f.GifEncoderId(); }); } inline auto BitmapEncoder::JpegXREncoderId() { return impl::call_factory_cast([](IBitmapEncoderStatics const& f) { return f.JpegXREncoderId(); }); } inline auto BitmapEncoder::GetEncoderInformationEnumerator() { return impl::call_factory_cast(*)(IBitmapEncoderStatics const&), BitmapEncoder, IBitmapEncoderStatics>([](IBitmapEncoderStatics const& f) { return f.GetEncoderInformationEnumerator(); }); } inline auto BitmapEncoder::CreateAsync(winrt::guid const& encoderId, winrt::Windows::Storage::Streams::IRandomAccessStream const& stream) { return impl::call_factory([&](IBitmapEncoderStatics const& f) { return f.CreateAsync(encoderId, stream); }); } inline auto BitmapEncoder::CreateAsync(winrt::guid const& encoderId, winrt::Windows::Storage::Streams::IRandomAccessStream const& stream, param::async_iterable> const& encodingOptions) { return impl::call_factory([&](IBitmapEncoderStatics const& f) { return f.CreateAsync(encoderId, stream, encodingOptions); }); } inline auto BitmapEncoder::CreateForTranscodingAsync(winrt::Windows::Storage::Streams::IRandomAccessStream const& stream, winrt::Windows::Graphics::Imaging::BitmapDecoder const& bitmapDecoder) { return impl::call_factory([&](IBitmapEncoderStatics const& f) { return f.CreateForTranscodingAsync(stream, bitmapDecoder); }); } inline auto BitmapEncoder::CreateForInPlacePropertyEncodingAsync(winrt::Windows::Graphics::Imaging::BitmapDecoder const& bitmapDecoder) { return impl::call_factory([&](IBitmapEncoderStatics const& f) { return f.CreateForInPlacePropertyEncodingAsync(bitmapDecoder); }); } inline auto BitmapEncoder::HeifEncoderId() { return impl::call_factory_cast([](IBitmapEncoderStatics2 const& f) { return f.HeifEncoderId(); }); } inline BitmapPropertySet::BitmapPropertySet() : BitmapPropertySet(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline BitmapTransform::BitmapTransform() : BitmapTransform(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline BitmapTypedValue::BitmapTypedValue(winrt::Windows::Foundation::IInspectable const& value, winrt::Windows::Foundation::PropertyType const& type) : BitmapTypedValue(impl::call_factory([&](IBitmapTypedValueFactory const& f) { return f.Create(value, type); })) { } inline SoftwareBitmap::SoftwareBitmap(winrt::Windows::Graphics::Imaging::BitmapPixelFormat const& format, int32_t width, int32_t height) : SoftwareBitmap(impl::call_factory([&](ISoftwareBitmapFactory const& f) { return f.Create(format, width, height); })) { } inline SoftwareBitmap::SoftwareBitmap(winrt::Windows::Graphics::Imaging::BitmapPixelFormat const& format, int32_t width, int32_t height, winrt::Windows::Graphics::Imaging::BitmapAlphaMode const& alpha) : SoftwareBitmap(impl::call_factory([&](ISoftwareBitmapFactory const& f) { return f.CreateWithAlpha(format, width, height, alpha); })) { } inline auto SoftwareBitmap::Copy(winrt::Windows::Graphics::Imaging::SoftwareBitmap const& source) { return impl::call_factory([&](ISoftwareBitmapStatics const& f) { return f.Copy(source); }); } inline auto SoftwareBitmap::Convert(winrt::Windows::Graphics::Imaging::SoftwareBitmap const& source, winrt::Windows::Graphics::Imaging::BitmapPixelFormat const& format) { return impl::call_factory([&](ISoftwareBitmapStatics const& f) { return f.Convert(source, format); }); } inline auto SoftwareBitmap::Convert(winrt::Windows::Graphics::Imaging::SoftwareBitmap const& source, winrt::Windows::Graphics::Imaging::BitmapPixelFormat const& format, winrt::Windows::Graphics::Imaging::BitmapAlphaMode const& alpha) { return impl::call_factory([&](ISoftwareBitmapStatics const& f) { return f.Convert(source, format, alpha); }); } inline auto SoftwareBitmap::CreateCopyFromBuffer(winrt::Windows::Storage::Streams::IBuffer const& source, winrt::Windows::Graphics::Imaging::BitmapPixelFormat const& format, int32_t width, int32_t height) { return impl::call_factory([&](ISoftwareBitmapStatics const& f) { return f.CreateCopyFromBuffer(source, format, width, height); }); } inline auto SoftwareBitmap::CreateCopyFromBuffer(winrt::Windows::Storage::Streams::IBuffer const& source, winrt::Windows::Graphics::Imaging::BitmapPixelFormat const& format, int32_t width, int32_t height, winrt::Windows::Graphics::Imaging::BitmapAlphaMode const& alpha) { return impl::call_factory([&](ISoftwareBitmapStatics const& f) { return f.CreateCopyFromBuffer(source, format, width, height, alpha); }); } inline auto SoftwareBitmap::CreateCopyFromSurfaceAsync(winrt::Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface const& surface) { return impl::call_factory([&](ISoftwareBitmapStatics const& f) { return f.CreateCopyFromSurfaceAsync(surface); }); } inline auto SoftwareBitmap::CreateCopyFromSurfaceAsync(winrt::Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface const& surface, winrt::Windows::Graphics::Imaging::BitmapAlphaMode const& alpha) { return impl::call_factory([&](ISoftwareBitmapStatics const& f) { return f.CreateCopyFromSurfaceAsync(surface, alpha); }); } } 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 {}; #endif #ifdef __cpp_lib_format #endif } #endif