// WARNING: Please don't edit this file. It was generated by C++/WinRT // v2.0.250303.1 #pragma once #ifndef WINRT_Microsoft_Graphics_Imaging_0_H #define WINRT_Microsoft_Graphics_Imaging_0_H WINRT_EXPORT namespace winrt::Windows::Graphics::Imaging { struct SoftwareBitmap; } WINRT_EXPORT namespace winrt::Windows::Storage::Streams { struct IBuffer; } WINRT_EXPORT namespace winrt::Microsoft::Graphics::Imaging { enum class ImageBufferPixelFormat : int32_t { Rgb8 = 137224, Rgba8 = 30, Argb8 = 2498570, Bgra8 = 87, Gray8 = 62, }; struct IImageBuffer; struct IImageBufferStatics; struct ImageBuffer; struct ImageBufferContract; } namespace winrt::impl { template <> struct category { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category { using type = class_category; }; template <> struct category { using type = enum_category; }; template <> inline constexpr auto& name_v = L"Microsoft.Graphics.Imaging.ImageBuffer"; template <> inline constexpr auto& name_v = L"Microsoft.Graphics.Imaging.ImageBufferPixelFormat"; template <> inline constexpr auto& name_v = L"Microsoft.Graphics.Imaging.IImageBuffer"; template <> inline constexpr auto& name_v = L"Microsoft.Graphics.Imaging.IImageBufferStatics"; template <> inline constexpr auto& name_v = L"Microsoft.Graphics.Imaging.ImageBufferContract"; template <> inline constexpr guid guid_v{ 0x3BAABD0B, 0x1854, 0x51F1, {0xBD, 0x2A, 0x74, 0xC8, 0x78, 0x58, 0xF4, 0x61}}; // 3BAABD0B-1854-51F1-BD2A-74C87858F461 template <> inline constexpr guid guid_v{ 0x35B17BD3, 0xF346, 0x529F, {0x8C, 0x0F, 0x3B, 0xF9, 0x6C, 0x56, 0xEB, 0x13}}; // 35B17BD3-F346-529F-8C0F-3BF96C56EB13 template <> struct default_interface { using type = winrt::Microsoft::Graphics::Imaging::IImageBuffer; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Buffer(void**) noexcept = 0; virtual int32_t __stdcall get_PixelFormat(int32_t*) noexcept = 0; virtual int32_t __stdcall get_PixelHeight(int32_t*) noexcept = 0; virtual int32_t __stdcall get_PixelWidth(int32_t*) noexcept = 0; virtual int32_t __stdcall get_RowStride(int32_t*) noexcept = 0; virtual int32_t __stdcall CopyToByteArray(uint32_t, uint8_t*) noexcept = 0; virtual int32_t __stdcall CopyToSoftwareBitmap(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateForBuffer(void*, int32_t, int32_t, int32_t, int32_t, void**) noexcept = 0; virtual int32_t __stdcall CreateForSoftwareBitmap(void*, void**) noexcept = 0; }; }; template struct consume_Microsoft_Graphics_Imaging_IImageBuffer { [[nodiscard]] auto Buffer() const; [[nodiscard]] auto PixelFormat() const; [[nodiscard]] auto PixelHeight() const; [[nodiscard]] auto PixelWidth() const; [[nodiscard]] auto RowStride() const; auto CopyToByteArray(array_view values) const; auto CopyToSoftwareBitmap() const; }; template <> struct consume { template using type = consume_Microsoft_Graphics_Imaging_IImageBuffer; }; template struct consume_Microsoft_Graphics_Imaging_IImageBufferStatics { auto CreateForBuffer( winrt::Windows::Storage::Streams::IBuffer const& buffer, winrt::Microsoft::Graphics::Imaging::ImageBufferPixelFormat const& pixelFormat, int32_t width, int32_t height, int32_t rowStride) const; auto CreateForSoftwareBitmap( winrt::Windows::Graphics::Imaging::SoftwareBitmap const& softwareBitmap) const; }; template <> struct consume { template using type = consume_Microsoft_Graphics_Imaging_IImageBufferStatics; }; } // namespace winrt::impl #endif