// WARNING: Please don't edit this file. It was generated by C++/WinRT // v2.0.250303.1 #pragma once #ifndef WINRT_Microsoft_Graphics_ImagingInternal_H #define WINRT_Microsoft_Graphics_ImagingInternal_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/impl/Microsoft.Graphics.ImagingInternal.2.h" #include "winrt/impl/Microsoft.Windows.PrivateCommon.2.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.Graphics.2.h" namespace winrt::impl { template auto consume_Microsoft_Graphics_ImagingInternal_IDepthMapCreatorSession:: CreateAsync( winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const& inputBufferView, winrt::Microsoft::Windows::PrivateCommon::ImageBufferViewData const& inputBufferViewData, winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const& outputBufferView, winrt::Microsoft::Windows::PrivateCommon::ImageBufferViewData const& outputBufferViewData) 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< winrt::Microsoft::Graphics::ImagingInternal::IDepthMapCreatorSession, D const*>(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->CreateAsync( impl::bind_in(inputBufferView), impl::bind_in(inputBufferViewData), impl::bind_in(outputBufferView), impl::bind_in(outputBufferViewData), &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateAsync( impl::bind_in(inputBufferView), impl::bind_in(inputBufferViewData), impl::bind_in(outputBufferView), impl::bind_in(outputBufferViewData), &operation)); } return winrt::Windows::Foundation::IAsyncAction{operation, take_ownership_from_abi}; } template auto consume_Microsoft_Graphics_ImagingInternal_IDepthMapCreatorSession2:: Create(winrt::Microsoft::Windows::PrivateCommon::ImageBufferResource const& inputImageBufferResource, winrt::Microsoft::Windows::PrivateCommon::ImageBufferResource const& outputImageBufferResource, uint32_t priority, uint32_t frequency) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Graphics::ImagingInternal::IDepthMapCreatorSession2, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&inputImageBufferResource), *(void**)(&outputImageBufferResource), priority, frequency)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&inputImageBufferResource), *(void**)(&outputImageBufferResource), priority, frequency)); } } template auto consume_Microsoft_Graphics_ImagingInternal_IImageObjectExtractorSession< D>::InitializeWithImageBuffer(winrt::Microsoft::Windows::PrivateCommon:: ImageBufferResource const& inputImageBufferResource, uint32_t priority, uint32_t frequency, array_view encoding) 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->InitializeWithImageBuffer( *(void**)(&inputImageBufferResource), priority, frequency, encoding.size(), put_abi(encoding))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->InitializeWithImageBuffer( *(void**)(&inputImageBufferResource), priority, frequency, encoding.size(), put_abi(encoding))); } } template auto consume_Microsoft_Graphics_ImagingInternal_IImageObjectExtractorSession< D>:: GetBackground( array_view encoding, winrt::Microsoft::Windows::PrivateCommon::ImageBufferResource const& outputImageBufferResource, array_view rects, array_view inclusionPoints, array_view exclusionPoints, uint32_t priority, uint32_t frequency) 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->GetBackground( encoding.size(), get_abi(encoding), *(void**)(&outputImageBufferResource), rects.size(), get_abi(rects), inclusionPoints.size(), get_abi(inclusionPoints), exclusionPoints.size(), get_abi(exclusionPoints), priority, frequency)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetBackground( encoding.size(), get_abi(encoding), *(void**)(&outputImageBufferResource), rects.size(), get_abi(rects), inclusionPoints.size(), get_abi(inclusionPoints), exclusionPoints.size(), get_abi(exclusionPoints), priority, frequency)); } } template auto consume_Microsoft_Graphics_ImagingInternal_IImageObjectExtractorSession< D>::GetModelProperties() const { winrt::Microsoft::Graphics::ImagingInternal::ModelProperties result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetModelProperties(put_abi(result))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetModelProperties(put_abi(result))); } return result; } template auto consume_Microsoft_Graphics_ImagingInternal_IImageScalerSession:: ScaleImage( winrt::Microsoft::Windows::PrivateCommon::ImageBufferResource const& inputImageBufferResource, winrt::Microsoft::Windows::PrivateCommon::ImageBufferResource const& outputImageBufferResource, int32_t width, int32_t height, uint32_t priority, uint32_t frequency) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Graphics::ImagingInternal::IImageScalerSession, D const*>(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->ScaleImage(*(void**)(&inputImageBufferResource), *(void**)(&outputImageBufferResource), width, height, priority, frequency)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->ScaleImage(*(void**)(&inputImageBufferResource), *(void**)(&outputImageBufferResource), width, height, priority, frequency)); } } template auto consume_Microsoft_Graphics_ImagingInternal_IImageScalerSession< D>::MaxSupportedScaleFactor() const { int32_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Graphics::ImagingInternal::IImageScalerSession, D const*>(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->MaxSupportedScaleFactor(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->MaxSupportedScaleFactor(&result)); } return result; } template auto consume_Microsoft_Graphics_ImagingInternal_IImageSegmenterSession:: RemoveBackground( winrt::Microsoft::Windows::PrivateCommon::ImageBufferResource const& inputImageBufferResource, winrt::Microsoft::Windows::PrivateCommon::ImageBufferResource const& outputImageBufferResource) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Graphics::ImagingInternal::IImageSegmenterSession, D const*>(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->RemoveBackground( *(void**)(&inputImageBufferResource), *(void**)(&outputImageBufferResource))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RemoveBackground( *(void**)(&inputImageBufferResource), *(void**)(&outputImageBufferResource))); } } template auto consume_Microsoft_Graphics_ImagingInternal_IParallaxCreatorSession:: CreateParallaxImagesAsync( winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const& inputView, winrt::Microsoft::Windows::PrivateCommon::ImageBufferViewData const& inputViewData, param::async_vector_view< winrt::Microsoft::Windows::PrivateCommon::ImageBufferView> const& outputViews, param::async_vector_view const& outputViewData, winrt::Microsoft::Graphics::ImagingInternal::ParallaxImageOptions const& options) 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< winrt::Microsoft::Graphics::ImagingInternal::IParallaxCreatorSession, D const*>(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->CreateParallaxImagesAsync( impl::bind_in(inputView), impl::bind_in(inputViewData), *(void**)(&outputViews), *(void**)(&outputViewData), impl::bind_in(options), &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateParallaxImagesAsync( impl::bind_in(inputView), impl::bind_in(inputViewData), *(void**)(&outputViews), *(void**)(&outputViewData), impl::bind_in(options), &operation)); } return winrt::Windows::Foundation::IAsyncAction{operation, take_ownership_from_abi}; } template auto consume_Microsoft_Graphics_ImagingInternal_IParallaxCreatorSession2:: CreateParallaxImagesAsync( winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const& inputView, winrt::Microsoft::Windows::PrivateCommon::ImageBufferViewData const& inputViewData, param::async_vector_view< winrt::Microsoft::Windows::PrivateCommon::ImageBufferView> const& outputViews, param::async_vector_view const& outputViewData, winrt::Microsoft::Graphics::ImagingInternal::ParallaxImageOptions const& options, uint32_t priority, uint32_t frequency) 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< winrt::Microsoft::Graphics::ImagingInternal::IParallaxCreatorSession2, D const*>(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->CreateParallaxImagesAsync( impl::bind_in(inputView), impl::bind_in(inputViewData), *(void**)(&outputViews), *(void**)(&outputViewData), impl::bind_in(options), priority, frequency, &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateParallaxImagesAsync( impl::bind_in(inputView), impl::bind_in(inputViewData), *(void**)(&outputViews), *(void**)(&outputViewData), impl::bind_in(options), priority, frequency, &operation)); } return winrt::Windows::Foundation::IAsyncAction{operation, take_ownership_from_abi}; } template auto consume_Microsoft_Graphics_ImagingInternal_IParallaxCreatorSession3:: CreateParallaxImages( winrt::Microsoft::Windows::PrivateCommon::ImageBufferResource const& inputImageBufferResource, array_view< winrt::Microsoft::Windows::PrivateCommon::ImageBufferResource const> outputImageBufferResources, winrt::Microsoft::Graphics::ImagingInternal::ParallaxImageOptions const& options, uint32_t priority, uint32_t frequency) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Graphics::ImagingInternal::IParallaxCreatorSession3, D const*>(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->CreateParallaxImages( *(void**)(&inputImageBufferResource), outputImageBufferResources.size(), get_abi(outputImageBufferResources), impl::bind_in(options), priority, frequency)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateParallaxImages( *(void**)(&inputImageBufferResource), outputImageBufferResources.size(), get_abi(outputImageBufferResources), impl::bind_in(options), priority, frequency)); } } template auto consume_Microsoft_Graphics_ImagingInternal_ITrimapImageSegmenterSession< D>:: RemoveBackgroundAsync( winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const& inputImageBufferView, winrt::Microsoft::Windows::PrivateCommon::ImageBufferViewData const& inputImageBufferViewData, winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const& outputImageBufferView, winrt::Microsoft::Windows::PrivateCommon::ImageBufferViewData const& outputImageBufferViewData, winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const& fgMaskImageBufferView, winrt::Microsoft::Windows::PrivateCommon::ImageBufferViewData const& fgMaskImageBufferViewData, winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const& bgMaskImageBufferView, winrt::Microsoft::Windows::PrivateCommon::ImageBufferViewData const& bgMaskImageBufferViewData) 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->RemoveBackgroundAsync( impl::bind_in(inputImageBufferView), impl::bind_in(inputImageBufferViewData), impl::bind_in(outputImageBufferView), impl::bind_in(outputImageBufferViewData), impl::bind_in(fgMaskImageBufferView), impl::bind_in(fgMaskImageBufferViewData), impl::bind_in(bgMaskImageBufferView), impl::bind_in(bgMaskImageBufferViewData), &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RemoveBackgroundAsync( impl::bind_in(inputImageBufferView), impl::bind_in(inputImageBufferViewData), impl::bind_in(outputImageBufferView), impl::bind_in(outputImageBufferViewData), impl::bind_in(fgMaskImageBufferView), impl::bind_in(fgMaskImageBufferViewData), impl::bind_in(bgMaskImageBufferView), impl::bind_in(bgMaskImageBufferViewData), &operation)); } return winrt::Windows::Foundation::IAsyncAction{operation, take_ownership_from_abi}; } template auto consume_Microsoft_Graphics_ImagingInternal_ITrimapImageSegmenterSession2< D>:: RemoveBackgroundAsync( winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const& inputImageBufferView, winrt::Microsoft::Windows::PrivateCommon::ImageBufferViewData const& inputImageBufferViewData, winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const& outputImageBufferView, winrt::Microsoft::Windows::PrivateCommon::ImageBufferViewData const& outputImageBufferViewData, winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const& fgMaskImageBufferView, winrt::Microsoft::Windows::PrivateCommon::ImageBufferViewData const& fgMaskImageBufferViewData, winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const& bgMaskImageBufferView, winrt::Microsoft::Windows::PrivateCommon::ImageBufferViewData const& bgMaskImageBufferViewData, uint32_t priority, uint32_t frequency) 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->RemoveBackgroundAsync( impl::bind_in(inputImageBufferView), impl::bind_in(inputImageBufferViewData), impl::bind_in(outputImageBufferView), impl::bind_in(outputImageBufferViewData), impl::bind_in(fgMaskImageBufferView), impl::bind_in(fgMaskImageBufferViewData), impl::bind_in(bgMaskImageBufferView), impl::bind_in(bgMaskImageBufferViewData), priority, frequency, &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RemoveBackgroundAsync( impl::bind_in(inputImageBufferView), impl::bind_in(inputImageBufferViewData), impl::bind_in(outputImageBufferView), impl::bind_in(outputImageBufferViewData), impl::bind_in(fgMaskImageBufferView), impl::bind_in(fgMaskImageBufferViewData), impl::bind_in(bgMaskImageBufferView), impl::bind_in(bgMaskImageBufferViewData), priority, frequency, &operation)); } return winrt::Windows::Foundation::IAsyncAction{operation, take_ownership_from_abi}; } template auto consume_Microsoft_Graphics_ImagingInternal_ITrimapImageSegmenterSession3< D>:: RemoveBackground( winrt::Microsoft::Windows::PrivateCommon::ImageBufferResource const& inputImageBufferResource, winrt::Microsoft::Windows::PrivateCommon::ImageBufferResource const& outputImageBufferResource, winrt::Microsoft::Windows::PrivateCommon::ImageBufferResource const& fgMaskImageBufferResource, winrt::Microsoft::Windows::PrivateCommon::ImageBufferResource const& bgMaskImageBufferResource, uint32_t priority, uint32_t frequency) 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->RemoveBackground( *(void**)(&inputImageBufferResource), *(void**)(&outputImageBufferResource), *(void**)(&fgMaskImageBufferResource), *(void**)(&bgMaskImageBufferResource), priority, frequency)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RemoveBackground( *(void**)(&inputImageBufferResource), *(void**)(&outputImageBufferResource), *(void**)(&fgMaskImageBufferResource), *(void**)(&bgMaskImageBufferResource), priority, frequency)); } } template struct produce< D, winrt::Microsoft::Graphics::ImagingInternal::IDepthMapCreatorSession> : produce_base { int32_t __stdcall CreateAsync( struct struct_Microsoft_Windows_PrivateCommon_ImageBufferView inputBufferView, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferViewData inputBufferViewData, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferView outputBufferView, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferViewData outputBufferViewData, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from< winrt::Windows::Foundation::IAsyncAction>(this->shim().CreateAsync( *reinterpret_cast< winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const*>( &inputBufferView), *reinterpret_cast(&inputBufferViewData), *reinterpret_cast< winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const*>( &outputBufferView), *reinterpret_cast( &outputBufferViewData))); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::Graphics::ImagingInternal::IDepthMapCreatorSession2> : produce_base { int32_t __stdcall Create(void* inputImageBufferResource, void* outputImageBufferResource, uint32_t priority, uint32_t frequency) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Create( *reinterpret_cast( &inputImageBufferResource), *reinterpret_cast( &outputImageBufferResource), priority, frequency); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::Graphics::ImagingInternal::IImageObjectExtractorSession> : produce_base { int32_t __stdcall InitializeWithImageBuffer( void* inputImageBufferResource, uint32_t priority, uint32_t frequency, uint32_t __encodingSize, float* encoding) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().InitializeWithImageBuffer( *reinterpret_cast( &inputImageBufferResource), priority, frequency, array_view(reinterpret_cast(encoding), reinterpret_cast(encoding) + __encodingSize)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetBackground( uint32_t __encodingSize, float* encoding, void* outputImageBufferResource, uint32_t __rectsSize, struct struct_Windows_Graphics_RectInt32* rects, uint32_t __inclusionPointsSize, struct struct_Windows_Graphics_PointInt32* inclusionPoints, uint32_t __exclusionPointsSize, struct struct_Windows_Graphics_PointInt32* exclusionPoints, uint32_t priority, uint32_t frequency) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().GetBackground( array_view( reinterpret_cast(encoding), reinterpret_cast(encoding) + __encodingSize), *reinterpret_cast( &outputImageBufferResource), array_view( reinterpret_cast(rects), reinterpret_cast( rects) + __rectsSize), array_view( reinterpret_cast( inclusionPoints), reinterpret_cast( inclusionPoints) + __inclusionPointsSize), array_view( reinterpret_cast( exclusionPoints), reinterpret_cast( exclusionPoints) + __exclusionPointsSize), priority, frequency); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetModelProperties( struct struct_Microsoft_Graphics_ImagingInternal_ModelProperties* result) noexcept final try { zero_abi( result); typename D::abi_guard guard(this->shim()); *result = detach_from< winrt::Microsoft::Graphics::ImagingInternal::ModelProperties>( this->shim().GetModelProperties()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base< D, winrt::Microsoft::Graphics::ImagingInternal::IImageScalerSession> { int32_t __stdcall ScaleImage(void* inputImageBufferResource, void* outputImageBufferResource, int32_t width, int32_t height, uint32_t priority, uint32_t frequency) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ScaleImage( *reinterpret_cast( &inputImageBufferResource), *reinterpret_cast( &outputImageBufferResource), width, height, priority, frequency); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall MaxSupportedScaleFactor(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MaxSupportedScaleFactor()); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::Graphics::ImagingInternal::IImageSegmenterSession> : produce_base< D, winrt::Microsoft::Graphics::ImagingInternal::IImageSegmenterSession> { int32_t __stdcall RemoveBackground( void* inputImageBufferResource, void* outputImageBufferResource) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RemoveBackground( *reinterpret_cast( &inputImageBufferResource), *reinterpret_cast( &outputImageBufferResource)); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::Graphics::ImagingInternal::IParallaxCreatorSession> : produce_base { int32_t __stdcall CreateParallaxImagesAsync( struct struct_Microsoft_Windows_PrivateCommon_ImageBufferView inputView, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferViewData inputViewData, void* outputViews, void* outputViewData, struct struct_Microsoft_Graphics_ImagingInternal_ParallaxImageOptions options, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from< winrt::Windows::Foundation:: IAsyncAction>(this->shim().CreateParallaxImagesAsync( *reinterpret_cast< winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const*>( &inputView), *reinterpret_cast(&inputViewData), *reinterpret_cast const*>( &outputViews), *reinterpret_cast const*>(&outputViewData), *reinterpret_cast(&options))); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::Graphics::ImagingInternal::IParallaxCreatorSession2> : produce_base { int32_t __stdcall CreateParallaxImagesAsync( struct struct_Microsoft_Windows_PrivateCommon_ImageBufferView inputView, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferViewData inputViewData, void* outputViews, void* outputViewData, struct struct_Microsoft_Graphics_ImagingInternal_ParallaxImageOptions options, uint32_t priority, uint32_t frequency, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from< winrt::Windows::Foundation:: IAsyncAction>(this->shim().CreateParallaxImagesAsync( *reinterpret_cast< winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const*>( &inputView), *reinterpret_cast(&inputViewData), *reinterpret_cast const*>( &outputViews), *reinterpret_cast const*>(&outputViewData), *reinterpret_cast(&options), priority, frequency)); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::Graphics::ImagingInternal::IParallaxCreatorSession3> : produce_base { int32_t __stdcall CreateParallaxImages( void* inputImageBufferResource, uint32_t __outputImageBufferResourcesSize, void** outputImageBufferResources, struct struct_Microsoft_Graphics_ImagingInternal_ParallaxImageOptions options, uint32_t priority, uint32_t frequency) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().CreateParallaxImages( *reinterpret_cast( &inputImageBufferResource), array_view( reinterpret_cast( outputImageBufferResources), reinterpret_cast( outputImageBufferResources) + __outputImageBufferResourcesSize), *reinterpret_cast(&options), priority, frequency); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::Graphics::ImagingInternal::ITrimapImageSegmenterSession> : produce_base { int32_t __stdcall RemoveBackgroundAsync( struct struct_Microsoft_Windows_PrivateCommon_ImageBufferView inputImageBufferView, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferViewData inputImageBufferViewData, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferView outputImageBufferView, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferViewData outputImageBufferViewData, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferView fgMaskImageBufferView, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferViewData fgMaskImageBufferViewData, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferView bgMaskImageBufferView, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferViewData bgMaskImageBufferViewData, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from< winrt::Windows::Foundation:: IAsyncAction>(this->shim().RemoveBackgroundAsync( *reinterpret_cast< winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const*>( &inputImageBufferView), *reinterpret_cast( &inputImageBufferViewData), *reinterpret_cast< winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const*>( &outputImageBufferView), *reinterpret_cast( &outputImageBufferViewData), *reinterpret_cast< winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const*>( &fgMaskImageBufferView), *reinterpret_cast( &fgMaskImageBufferViewData), *reinterpret_cast< winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const*>( &bgMaskImageBufferView), *reinterpret_cast( &bgMaskImageBufferViewData))); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::Graphics::ImagingInternal::ITrimapImageSegmenterSession2> : produce_base { int32_t __stdcall RemoveBackgroundAsync( struct struct_Microsoft_Windows_PrivateCommon_ImageBufferView inputImageBufferView, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferViewData inputImageBufferViewData, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferView outputImageBufferView, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferViewData outputImageBufferViewData, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferView fgMaskImageBufferView, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferViewData fgMaskImageBufferViewData, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferView bgMaskImageBufferView, struct struct_Microsoft_Windows_PrivateCommon_ImageBufferViewData bgMaskImageBufferViewData, uint32_t priority, uint32_t frequency, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from< winrt::Windows::Foundation:: IAsyncAction>(this->shim().RemoveBackgroundAsync( *reinterpret_cast< winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const*>( &inputImageBufferView), *reinterpret_cast( &inputImageBufferViewData), *reinterpret_cast< winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const*>( &outputImageBufferView), *reinterpret_cast( &outputImageBufferViewData), *reinterpret_cast< winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const*>( &fgMaskImageBufferView), *reinterpret_cast( &fgMaskImageBufferViewData), *reinterpret_cast< winrt::Microsoft::Windows::PrivateCommon::ImageBufferView const*>( &bgMaskImageBufferView), *reinterpret_cast( &bgMaskImageBufferViewData), priority, frequency)); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::Graphics::ImagingInternal::ITrimapImageSegmenterSession3> : produce_base { int32_t __stdcall RemoveBackground(void* inputImageBufferResource, void* outputImageBufferResource, void* fgMaskImageBufferResource, void* bgMaskImageBufferResource, uint32_t priority, uint32_t frequency) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RemoveBackground( *reinterpret_cast( &inputImageBufferResource), *reinterpret_cast( &outputImageBufferResource), *reinterpret_cast( &fgMaskImageBufferResource), *reinterpret_cast( &bgMaskImageBufferResource), priority, frequency); return 0; } catch (...) { return to_hresult(); } }; } // namespace winrt::impl WINRT_EXPORT namespace winrt::Microsoft::Graphics::ImagingInternal {} namespace std { #ifndef WINRT_LEAN_AND_MEAN template <> struct hash< winrt::Microsoft::Graphics::ImagingInternal::IDepthMapCreatorSession> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::Graphics::ImagingInternal::IDepthMapCreatorSession2> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::Graphics::ImagingInternal::IImageObjectExtractorSession> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::Graphics::ImagingInternal::IParallaxCreatorSession> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::Graphics::ImagingInternal::IParallaxCreatorSession2> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::Graphics::ImagingInternal::IParallaxCreatorSession3> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::Graphics::ImagingInternal::ITrimapImageSegmenterSession> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::Graphics::ImagingInternal::ITrimapImageSegmenterSession2> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::Graphics::ImagingInternal::ITrimapImageSegmenterSession3> : winrt::impl::hash_base {}; #endif #ifdef __cpp_lib_format #endif } // namespace std #endif