// WARNING: Please don't edit this file. It was generated by C++/WinRT // v2.0.250303.1 #pragma once #ifndef WINRT_Microsoft_UI_Composition_Scenes_0_H #define WINRT_Microsoft_UI_Composition_Scenes_0_H WINRT_EXPORT namespace winrt::Microsoft::Graphics::DirectX { enum class DirectXPixelFormat : int32_t; enum class DirectXPrimitiveTopology : int32_t; } WINRT_EXPORT namespace winrt::Microsoft::UI::Composition { enum class CompositionBitmapInterpolationMode : int32_t; struct Compositor; struct ICompositionSurface; } WINRT_EXPORT namespace winrt::Windows::Foundation { struct MemoryBuffer; } WINRT_EXPORT namespace winrt::Windows::Foundation::Collections { template struct WINRT_IMPL_EMPTY_BASES IVector; } WINRT_EXPORT namespace winrt::Windows::Foundation::Numerics {} WINRT_EXPORT namespace winrt::Microsoft::UI::Composition::Scenes { enum class SceneAlphaMode : int32_t { Opaque = 0, AlphaTest = 1, Blend = 2, }; enum class SceneAttributeSemantic : int32_t { Index = 0, Vertex = 1, Normal = 2, TexCoord0 = 3, TexCoord1 = 4, Color = 5, Tangent = 6, }; enum class SceneComponentType : int32_t { MeshRendererComponent = 0, }; enum class SceneWrappingMode : int32_t { ClampToEdge = 0, MirroredRepeat = 1, Repeat = 2, }; struct ISceneBoundingBox; struct ISceneComponent; struct ISceneComponentCollection; struct ISceneComponentFactory; struct ISceneMaterial; struct ISceneMaterialFactory; struct ISceneMaterialInput; struct ISceneMaterialInputFactory; struct ISceneMesh; struct ISceneMeshMaterialAttributeMap; struct ISceneMeshRendererComponent; struct ISceneMeshRendererComponentStatics; struct ISceneMeshStatics; struct ISceneMetallicRoughnessMaterial; struct ISceneMetallicRoughnessMaterialStatics; struct ISceneModelTransform; struct ISceneNode; struct ISceneNodeCollection; struct ISceneNodeStatics; struct ISceneObject; struct ISceneObjectFactory; struct IScenePbrMaterial; struct IScenePbrMaterialFactory; struct ISceneRendererComponent; struct ISceneRendererComponentFactory; struct ISceneSurfaceMaterialInput; struct ISceneSurfaceMaterialInputStatics; struct ISceneVisual; struct ISceneVisualStatics; struct SceneBoundingBox; struct SceneComponent; struct SceneComponentCollection; struct SceneMaterial; struct SceneMaterialInput; struct SceneMesh; struct SceneMeshMaterialAttributeMap; struct SceneMeshRendererComponent; struct SceneMetallicRoughnessMaterial; struct SceneModelTransform; struct SceneNode; struct SceneNodeCollection; struct SceneObject; struct ScenePbrMaterial; struct SceneRendererComponent; struct SceneSurfaceMaterialInput; struct SceneVisual; } namespace winrt::impl { template <> struct category { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::ISceneComponentCollection> { using type = interface_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::ISceneComponentFactory> { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::ISceneMaterialFactory> { using type = interface_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::ISceneMaterialInput> { using type = interface_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::ISceneMaterialInputFactory> { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshMaterialAttributeMap> { using type = interface_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshRendererComponent> { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::ISceneModelTransform> { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::ISceneNodeCollection> { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::ISceneObjectFactory> { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterialFactory> { using type = interface_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::ISceneRendererComponent> { using type = interface_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::ISceneRendererComponentFactory> { using type = interface_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::ISceneSurfaceMaterialInput> { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::ISceneVisualStatics> { using type = interface_category; }; template <> struct category { using type = class_category; }; template <> struct category { using type = class_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::SceneComponentCollection> { using type = class_category; }; template <> struct category { using type = class_category; }; template <> struct category { using type = class_category; }; template <> struct category { using type = class_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::SceneMeshMaterialAttributeMap> { using type = class_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::SceneMeshRendererComponent> { using type = class_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::SceneMetallicRoughnessMaterial> { using type = class_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::SceneModelTransform> { using type = class_category; }; template <> struct category { using type = class_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::SceneNodeCollection> { using type = class_category; }; template <> struct category { using type = class_category; }; template <> struct category { using type = class_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::SceneRendererComponent> { using type = class_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::SceneSurfaceMaterialInput> { using type = class_category; }; template <> struct category { using type = class_category; }; template <> struct category { using type = enum_category; }; template <> struct category< winrt::Microsoft::UI::Composition::Scenes::SceneAttributeSemantic> { using type = enum_category; }; template <> struct category { using type = enum_category; }; template <> struct category { using type = enum_category; }; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.SceneBoundingBox"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.SceneComponent"; template <> inline constexpr auto& name_v< winrt::Microsoft::UI::Composition::Scenes::SceneComponentCollection> = L"Microsoft.UI.Composition.Scenes.SceneComponentCollection"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.SceneMaterial"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.SceneMaterialInput"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.SceneMesh"; template <> inline constexpr auto& name_v< winrt::Microsoft::UI::Composition::Scenes::SceneMeshMaterialAttributeMap> = L"Microsoft.UI.Composition.Scenes.SceneMeshMaterialAttributeMap"; template <> inline constexpr auto& name_v< winrt::Microsoft::UI::Composition::Scenes::SceneMeshRendererComponent> = L"Microsoft.UI.Composition.Scenes.SceneMeshRendererComponent"; template <> inline constexpr auto& name_v< winrt::Microsoft::UI::Composition::Scenes::SceneMetallicRoughnessMaterial> = L"Microsoft.UI.Composition.Scenes.SceneMetallicRoughnessMaterial"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.SceneModelTransform"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.SceneNode"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.SceneNodeCollection"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.SceneObject"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ScenePbrMaterial"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.SceneRendererComponent"; template <> inline constexpr auto& name_v< winrt::Microsoft::UI::Composition::Scenes::SceneSurfaceMaterialInput> = L"Microsoft.UI.Composition.Scenes.SceneSurfaceMaterialInput"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.SceneVisual"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.SceneAlphaMode"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.SceneAttributeSemantic"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.SceneComponentType"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.SceneWrappingMode"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneBoundingBox"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneComponent"; template <> inline constexpr auto& name_v< winrt::Microsoft::UI::Composition::Scenes::ISceneComponentCollection> = L"Microsoft.UI.Composition.Scenes.ISceneComponentCollection"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneComponentFactory"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneMaterial"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneMaterialFactory"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneMaterialInput"; template <> inline constexpr auto& name_v< winrt::Microsoft::UI::Composition::Scenes::ISceneMaterialInputFactory> = L"Microsoft.UI.Composition.Scenes.ISceneMaterialInputFactory"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneMesh"; template <> inline constexpr auto& name_v< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshMaterialAttributeMap> = L"Microsoft.UI.Composition.Scenes.ISceneMeshMaterialAttributeMap"; template <> inline constexpr auto& name_v< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshRendererComponent> = L"Microsoft.UI.Composition.Scenes.ISceneMeshRendererComponent"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneMeshRendererComponentStatics"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneMeshStatics"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneMetallicRoughnessMaterial"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneMetallicRoughnessMaterialStatics"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneModelTransform"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneNode"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneNodeCollection"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneNodeStatics"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneObject"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneObjectFactory"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.IScenePbrMaterial"; template <> inline constexpr auto& name_v< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterialFactory> = L"Microsoft.UI.Composition.Scenes.IScenePbrMaterialFactory"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneRendererComponent"; template <> inline constexpr auto& name_v< winrt::Microsoft::UI::Composition::Scenes::ISceneRendererComponentFactory> = L"Microsoft.UI.Composition.Scenes.ISceneRendererComponentFactory"; template <> inline constexpr auto& name_v< winrt::Microsoft::UI::Composition::Scenes::ISceneSurfaceMaterialInput> = L"Microsoft.UI.Composition.Scenes.ISceneSurfaceMaterialInput"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneSurfaceMaterialInputStatics"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneVisual"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Scenes.ISceneVisualStatics"; template <> inline constexpr guid guid_v{ 0x39FB48E0, 0x216A, 0x5608, {0x91, 0x86, 0x6B, 0xA9, 0xF9, 0x8B, 0x5C, 0x67}}; // 39FB48E0-216A-5608-9186-6BA9F98B5C67 template <> inline constexpr guid guid_v{ 0xF73361CB, 0x8027, 0x50E2, {0x98, 0xEE, 0xB2, 0xE3, 0xEA, 0x05, 0x0A, 0x54}}; // F73361CB-8027-50E2-98EE-B2E3EA050A54 template <> inline constexpr guid guid_v< winrt::Microsoft::UI::Composition::Scenes::ISceneComponentCollection>{ 0xE4B21C71, 0x87E2, 0x5AEB, {0x85, 0xBE, 0x88, 0x4E, 0x83, 0x02, 0x27, 0x3E}}; // E4B21C71-87E2-5AEB-85BE-884E8302273E template <> inline constexpr guid guid_v{ 0x254088B0, 0xBABF, 0x503D, {0x9A, 0x66, 0x0D, 0x86, 0xAF, 0x5F, 0x73, 0x03}}; // 254088B0-BABF-503D-9A66-0D86AF5F7303 template <> inline constexpr guid guid_v{ 0x042142A7, 0xBF6B, 0x57AD, {0xBA, 0xDC, 0xF5, 0x81, 0xF3, 0x8E, 0xDB, 0x48}}; // 042142A7-BF6B-57AD-BADC-F581F38EDB48 template <> inline constexpr guid guid_v{ 0x25747893, 0x8748, 0x5F60, {0x96, 0x9F, 0x31, 0x8F, 0xA0, 0xB7, 0x35, 0xCA}}; // 25747893-8748-5F60-969F-318FA0B735CA template <> inline constexpr guid guid_v{ 0x446BDADE, 0x719B, 0x5DB4, {0xB6, 0x99, 0xF2, 0x26, 0xD0, 0x06, 0x2A, 0x2E}}; // 446BDADE-719B-5DB4-B699-F226D0062A2E template <> inline constexpr guid guid_v< winrt::Microsoft::UI::Composition::Scenes::ISceneMaterialInputFactory>{ 0xB4DABD1D, 0x58C0, 0x5710, {0x92, 0x8A, 0xBC, 0x49, 0xB0, 0x73, 0x56, 0x94}}; // B4DABD1D-58C0-5710-928A-BC49B0735694 template <> inline constexpr guid guid_v{ 0x5CF846AA, 0xF53F, 0x555E, {0xA3, 0xAD, 0xF5, 0xBC, 0x52, 0xCA, 0x32, 0xFB}}; // 5CF846AA-F53F-555E-A3AD-F5BC52CA32FB template <> inline constexpr guid guid_v< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshMaterialAttributeMap>{ 0x2360C457, 0xEDAE, 0x5660, {0xBE, 0xDC, 0x89, 0x09, 0x65, 0x82, 0xED, 0x70}}; // 2360C457-EDAE-5660-BEDC-89096582ED70 template <> inline constexpr guid guid_v< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshRendererComponent>{ 0xD2BE85A0, 0x70A8, 0x5C62, {0x84, 0xD8, 0x8B, 0xA5, 0x5E, 0x4C, 0x64, 0xA9}}; // D2BE85A0-70A8-5C62-84D8-8BA55E4C64A9 template <> inline constexpr guid guid_v{ 0xC54F8C5A, 0xA104, 0x5CFA, {0x89, 0xDC, 0x13, 0xED, 0xAA, 0x6E, 0x3D, 0x88}}; // C54F8C5A-A104-5CFA-89DC-13EDAA6E3D88 template <> inline constexpr guid guid_v{ 0x29C52125, 0x964B, 0x5315, {0x80, 0xF9, 0x38, 0x93, 0x71, 0x32, 0x90, 0xF5}}; // 29C52125-964B-5315-80F9-3893713290F5 template <> inline constexpr guid guid_v< winrt::Microsoft::UI::Composition::Scenes::ISceneMetallicRoughnessMaterial>{ 0x0A4AFCF4, 0x7BAE, 0x5702, {0x9B, 0x85, 0x8B, 0xC8, 0x49, 0xF3, 0x99, 0x87}}; // 0A4AFCF4-7BAE-5702-9B85-8BC849F39987 template <> inline constexpr guid guid_v{ 0xDFFD2043, 0xAB3C, 0x57A0, {0x8E, 0x13, 0x6F, 0x09, 0x72, 0x5E, 0x97, 0x0F}}; // DFFD2043-AB3C-57A0-8E13-6F09725E970F template <> inline constexpr guid guid_v{ 0x3F05555F, 0x0F67, 0x576E, {0x9D, 0x8A, 0x93, 0xC1, 0xF2, 0x50, 0xC2, 0x9F}}; // 3F05555F-0F67-576E-9D8A-93C1F250C29F template <> inline constexpr guid guid_v{ 0xA1BCE140, 0x79C2, 0x59E6, {0x9B, 0x68, 0x63, 0xB1, 0xBA, 0xB0, 0xE2, 0xA6}}; // A1BCE140-79C2-59E6-9B68-63B1BAB0E2A6 template <> inline constexpr guid guid_v{ 0xF219B68E, 0x5666, 0x5C6C, {0xAA, 0x4E, 0x08, 0xDB, 0x07, 0xFD, 0x6B, 0xCF}}; // F219B68E-5666-5C6C-AA4E-08DB07FD6BCF template <> inline constexpr guid guid_v{ 0x801C4394, 0x4198, 0x5DA1, {0xAC, 0x39, 0x6E, 0x8A, 0x44, 0xB5, 0xCE, 0x57}}; // 801C4394-4198-5DA1-AC39-6E8A44B5CE57 template <> inline constexpr guid guid_v{ 0x4333E514, 0x4FC7, 0x521E, {0x8B, 0xCA, 0x11, 0xC5, 0x1F, 0xBC, 0xAF, 0x1E}}; // 4333E514-4FC7-521E-8BCA-11C51FBCAF1E template <> inline constexpr guid guid_v{ 0xEE797F7D, 0x77DB, 0x5C4C, {0xB6, 0xF5, 0xC1, 0x93, 0x0F, 0xAD, 0x85, 0xC5}}; // EE797F7D-77DB-5C4C-B6F5-C1930FAD85C5 template <> inline constexpr guid guid_v{ 0x295D0725, 0x56FE, 0x5954, {0x80, 0x57, 0x3F, 0x4C, 0xA7, 0x51, 0x5B, 0x36}}; // 295D0725-56FE-5954-8057-3F4CA7515B36 template <> inline constexpr guid guid_v{ 0x9E34D32A, 0xE30C, 0x51F5, {0x84, 0xAC, 0x64, 0x67, 0x95, 0x06, 0x05, 0xCA}}; // 9E34D32A-E30C-51F5-84AC-6467950605CA template <> inline constexpr guid guid_v{ 0x6BAB8030, 0x89C1, 0x5DBC, {0xA4, 0x8E, 0x18, 0x05, 0xDD, 0xF9, 0xCD, 0xD1}}; // 6BAB8030-89C1-5DBC-A48E-1805DDF9CDD1 template <> inline constexpr guid guid_v< winrt::Microsoft::UI::Composition::Scenes::ISceneRendererComponentFactory>{ 0x3CCAC1D6, 0x6A0F, 0x582E, {0xBB, 0x1A, 0x10, 0xEB, 0xC1, 0xE4, 0x05, 0xCA}}; // 3CCAC1D6-6A0F-582E-BB1A-10EBC1E405CA template <> inline constexpr guid guid_v< winrt::Microsoft::UI::Composition::Scenes::ISceneSurfaceMaterialInput>{ 0xB9854B4F, 0x286C, 0x50CD, {0xA7, 0x34, 0x49, 0x1A, 0x25, 0x1D, 0x5F, 0xD3}}; // B9854B4F-286C-50CD-A734-491A251D5FD3 template <> inline constexpr guid guid_v{ 0x8E1BA937, 0xAD60, 0x51BC, {0x82, 0x56, 0xCA, 0x62, 0xC4, 0xB2, 0xAE, 0x92}}; // 8E1BA937-AD60-51BC-8256-CA62C4B2AE92 template <> inline constexpr guid guid_v{ 0x0144D7AD, 0x6A7D, 0x59CB, {0xA0, 0xF9, 0x74, 0xA0, 0x4E, 0x85, 0x35, 0x2C}}; // 0144D7AD-6A7D-59CB-A0F9-74A04E85352C template <> inline constexpr guid guid_v{ 0x7B8DA6D1, 0x5BD8, 0x5095, {0x92, 0x64, 0xE5, 0x57, 0x26, 0x53, 0xEA, 0x07}}; // 7B8DA6D1-5BD8-5095-9264-E5572653EA07 template <> struct default_interface< winrt::Microsoft::UI::Composition::Scenes::SceneBoundingBox> { using type = winrt::Microsoft::UI::Composition::Scenes::ISceneBoundingBox; }; template <> struct default_interface< winrt::Microsoft::UI::Composition::Scenes::SceneComponent> { using type = winrt::Microsoft::UI::Composition::Scenes::ISceneComponent; }; template <> struct default_interface< winrt::Microsoft::UI::Composition::Scenes::SceneComponentCollection> { using type = winrt::Windows::Foundation::Collections::IVector< winrt::Microsoft::UI::Composition::Scenes::SceneComponent>; }; template <> struct default_interface< winrt::Microsoft::UI::Composition::Scenes::SceneMaterial> { using type = winrt::Microsoft::UI::Composition::Scenes::ISceneMaterial; }; template <> struct default_interface< winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput> { using type = winrt::Microsoft::UI::Composition::Scenes::ISceneMaterialInput; }; template <> struct default_interface { using type = winrt::Microsoft::UI::Composition::Scenes::ISceneMesh; }; template <> struct default_interface< winrt::Microsoft::UI::Composition::Scenes::SceneMeshMaterialAttributeMap> { using type = winrt::Microsoft::UI::Composition::Scenes::ISceneMeshMaterialAttributeMap; }; template <> struct default_interface< winrt::Microsoft::UI::Composition::Scenes::SceneMeshRendererComponent> { using type = winrt::Microsoft::UI::Composition::Scenes::ISceneMeshRendererComponent; }; template <> struct default_interface< winrt::Microsoft::UI::Composition::Scenes::SceneMetallicRoughnessMaterial> { using type = winrt::Microsoft::UI::Composition::Scenes:: ISceneMetallicRoughnessMaterial; }; template <> struct default_interface< winrt::Microsoft::UI::Composition::Scenes::SceneModelTransform> { using type = winrt::Microsoft::UI::Composition::Scenes::ISceneModelTransform; }; template <> struct default_interface { using type = winrt::Microsoft::UI::Composition::Scenes::ISceneNode; }; template <> struct default_interface< winrt::Microsoft::UI::Composition::Scenes::SceneNodeCollection> { using type = winrt::Windows::Foundation::Collections::IVector< winrt::Microsoft::UI::Composition::Scenes::SceneNode>; }; template <> struct default_interface< winrt::Microsoft::UI::Composition::Scenes::SceneObject> { using type = winrt::Microsoft::UI::Composition::Scenes::ISceneObject; }; template <> struct default_interface< winrt::Microsoft::UI::Composition::Scenes::ScenePbrMaterial> { using type = winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial; }; template <> struct default_interface< winrt::Microsoft::UI::Composition::Scenes::SceneRendererComponent> { using type = winrt::Microsoft::UI::Composition::Scenes::ISceneRendererComponent; }; template <> struct default_interface< winrt::Microsoft::UI::Composition::Scenes::SceneSurfaceMaterialInput> { using type = winrt::Microsoft::UI::Composition::Scenes::ISceneSurfaceMaterialInput; }; template <> struct default_interface< winrt::Microsoft::UI::Composition::Scenes::SceneVisual> { using type = winrt::Microsoft::UI::Composition::Scenes::ISceneVisual; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Center( winrt::Windows::Foundation::Numerics::float3*) noexcept = 0; virtual int32_t __stdcall get_Extents( winrt::Windows::Foundation::Numerics::float3*) noexcept = 0; virtual int32_t __stdcall get_Max( winrt::Windows::Foundation::Numerics::float3*) noexcept = 0; virtual int32_t __stdcall get_Min( winrt::Windows::Foundation::Numerics::float3*) noexcept = 0; virtual int32_t __stdcall get_Size( winrt::Windows::Foundation::Numerics::float3*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_ComponentType(int32_t*) noexcept = 0; }; }; template <> struct abi< winrt::Microsoft::UI::Composition::Scenes::ISceneComponentCollection> { struct WINRT_IMPL_NOVTABLE type : inspectable_abi {}; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi {}; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi {}; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi {}; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi {}; }; template <> struct abi< winrt::Microsoft::UI::Composition::Scenes::ISceneMaterialInputFactory> { struct WINRT_IMPL_NOVTABLE type : inspectable_abi {}; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Bounds(void**) noexcept = 0; virtual int32_t __stdcall get_PrimitiveTopology(int32_t*) noexcept = 0; virtual int32_t __stdcall put_PrimitiveTopology(int32_t) noexcept = 0; virtual int32_t __stdcall FillMeshAttribute(int32_t, int32_t, void*) noexcept = 0; }; }; template <> struct abi< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshMaterialAttributeMap> { struct WINRT_IMPL_NOVTABLE type : inspectable_abi {}; }; template <> struct abi< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshRendererComponent> { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Material(void**) noexcept = 0; virtual int32_t __stdcall put_Material(void*) noexcept = 0; virtual int32_t __stdcall get_Mesh(void**) noexcept = 0; virtual int32_t __stdcall put_Mesh(void*) noexcept = 0; virtual int32_t __stdcall get_UVMappings(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Create(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Create(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_BaseColorInput(void**) noexcept = 0; virtual int32_t __stdcall put_BaseColorInput(void*) noexcept = 0; virtual int32_t __stdcall get_BaseColorFactor( winrt::Windows::Foundation::Numerics::float4*) noexcept = 0; virtual int32_t __stdcall put_BaseColorFactor( winrt::Windows::Foundation::Numerics::float4) noexcept = 0; virtual int32_t __stdcall get_MetallicFactor(float*) noexcept = 0; virtual int32_t __stdcall put_MetallicFactor(float) noexcept = 0; virtual int32_t __stdcall get_MetallicRoughnessInput(void**) noexcept = 0; virtual int32_t __stdcall put_MetallicRoughnessInput(void*) noexcept = 0; virtual int32_t __stdcall get_RoughnessFactor(float*) noexcept = 0; virtual int32_t __stdcall put_RoughnessFactor(float) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Create(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Orientation( winrt::Windows::Foundation::Numerics::quaternion*) noexcept = 0; virtual int32_t __stdcall put_Orientation( winrt::Windows::Foundation::Numerics::quaternion) noexcept = 0; virtual int32_t __stdcall get_RotationAngle(float*) noexcept = 0; virtual int32_t __stdcall put_RotationAngle(float) noexcept = 0; virtual int32_t __stdcall get_RotationAngleInDegrees(float*) noexcept = 0; virtual int32_t __stdcall put_RotationAngleInDegrees(float) noexcept = 0; virtual int32_t __stdcall get_RotationAxis( winrt::Windows::Foundation::Numerics::float3*) noexcept = 0; virtual int32_t __stdcall put_RotationAxis( winrt::Windows::Foundation::Numerics::float3) noexcept = 0; virtual int32_t __stdcall get_Scale( winrt::Windows::Foundation::Numerics::float3*) noexcept = 0; virtual int32_t __stdcall put_Scale( winrt::Windows::Foundation::Numerics::float3) noexcept = 0; virtual int32_t __stdcall get_Translation( winrt::Windows::Foundation::Numerics::float3*) noexcept = 0; virtual int32_t __stdcall put_Translation( winrt::Windows::Foundation::Numerics::float3) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Children(void**) noexcept = 0; virtual int32_t __stdcall get_Components(void**) noexcept = 0; virtual int32_t __stdcall get_Parent(void**) noexcept = 0; virtual int32_t __stdcall get_Transform(void**) noexcept = 0; virtual int32_t __stdcall FindFirstComponentOfType(int32_t, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi {}; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Create(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi {}; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi {}; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_AlphaCutoff(float*) noexcept = 0; virtual int32_t __stdcall put_AlphaCutoff(float) noexcept = 0; virtual int32_t __stdcall get_AlphaMode(int32_t*) noexcept = 0; virtual int32_t __stdcall put_AlphaMode(int32_t) noexcept = 0; virtual int32_t __stdcall get_EmissiveInput(void**) noexcept = 0; virtual int32_t __stdcall put_EmissiveInput(void*) noexcept = 0; virtual int32_t __stdcall get_EmissiveFactor( winrt::Windows::Foundation::Numerics::float3*) noexcept = 0; virtual int32_t __stdcall put_EmissiveFactor( winrt::Windows::Foundation::Numerics::float3) noexcept = 0; virtual int32_t __stdcall get_IsDoubleSided(bool*) noexcept = 0; virtual int32_t __stdcall put_IsDoubleSided(bool) noexcept = 0; virtual int32_t __stdcall get_NormalInput(void**) noexcept = 0; virtual int32_t __stdcall put_NormalInput(void*) noexcept = 0; virtual int32_t __stdcall get_NormalScale(float*) noexcept = 0; virtual int32_t __stdcall put_NormalScale(float) noexcept = 0; virtual int32_t __stdcall get_OcclusionInput(void**) noexcept = 0; virtual int32_t __stdcall put_OcclusionInput(void*) noexcept = 0; virtual int32_t __stdcall get_OcclusionStrength(float*) noexcept = 0; virtual int32_t __stdcall put_OcclusionStrength(float) noexcept = 0; }; }; template <> struct abi< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterialFactory> { struct WINRT_IMPL_NOVTABLE type : inspectable_abi {}; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi {}; }; template <> struct abi< winrt::Microsoft::UI::Composition::Scenes::ISceneRendererComponentFactory> { struct WINRT_IMPL_NOVTABLE type : inspectable_abi {}; }; template <> struct abi< winrt::Microsoft::UI::Composition::Scenes::ISceneSurfaceMaterialInput> { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_BitmapInterpolationMode( int32_t*) noexcept = 0; virtual int32_t __stdcall put_BitmapInterpolationMode(int32_t) noexcept = 0; virtual int32_t __stdcall get_Surface(void**) noexcept = 0; virtual int32_t __stdcall put_Surface(void*) noexcept = 0; virtual int32_t __stdcall get_WrappingUMode(int32_t*) noexcept = 0; virtual int32_t __stdcall put_WrappingUMode(int32_t) noexcept = 0; virtual int32_t __stdcall get_WrappingVMode(int32_t*) noexcept = 0; virtual int32_t __stdcall put_WrappingVMode(int32_t) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Create(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Root(void**) noexcept = 0; virtual int32_t __stdcall put_Root(void*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Create(void*, void**) noexcept = 0; }; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneBoundingBox { [[nodiscard]] auto Center() const; [[nodiscard]] auto Extents() const; [[nodiscard]] auto Max() const; [[nodiscard]] auto Min() const; [[nodiscard]] auto Size() const; }; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneBoundingBox; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneComponent { [[nodiscard]] auto ComponentType() const; }; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneComponent; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneComponentCollection {}; template <> struct consume< winrt::Microsoft::UI::Composition::Scenes::ISceneComponentCollection> { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneComponentCollection; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneComponentFactory {}; template <> struct consume< winrt::Microsoft::UI::Composition::Scenes::ISceneComponentFactory> { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneComponentFactory; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneMaterial {}; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneMaterial; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneMaterialFactory {}; template <> struct consume< winrt::Microsoft::UI::Composition::Scenes::ISceneMaterialFactory> { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneMaterialFactory; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneMaterialInput {}; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneMaterialInput; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneMaterialInputFactory {}; template <> struct consume< winrt::Microsoft::UI::Composition::Scenes::ISceneMaterialInputFactory> { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneMaterialInputFactory; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneMesh { [[nodiscard]] auto Bounds() const; [[nodiscard]] auto PrimitiveTopology() const; auto PrimitiveTopology( winrt::Microsoft::Graphics::DirectX::DirectXPrimitiveTopology const& value) const; auto FillMeshAttribute( winrt::Microsoft::UI::Composition::Scenes::SceneAttributeSemantic const& semantic, winrt::Microsoft::Graphics::DirectX::DirectXPixelFormat const& format, winrt::Windows::Foundation::MemoryBuffer const& memory) const; }; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneMesh; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneMeshMaterialAttributeMap { }; template <> struct consume< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshMaterialAttributeMap> { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneMeshMaterialAttributeMap; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneMeshRendererComponent { [[nodiscard]] auto Material() const; auto Material(winrt::Microsoft::UI::Composition::Scenes::SceneMaterial const& value) const; [[nodiscard]] auto Mesh() const; auto Mesh( winrt::Microsoft::UI::Composition::Scenes::SceneMesh const& value) const; [[nodiscard]] auto UVMappings() const; }; template <> struct consume< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshRendererComponent> { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneMeshRendererComponent; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneMeshRendererComponentStatics { auto Create( winrt::Microsoft::UI::Composition::Compositor const& compositor) const; }; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneMeshRendererComponentStatics< D>; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneMeshStatics { auto Create( winrt::Microsoft::UI::Composition::Compositor const& compositor) const; }; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneMeshStatics; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial { [[nodiscard]] auto BaseColorInput() const; auto BaseColorInput( winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput const& value) const; [[nodiscard]] auto BaseColorFactor() const; auto BaseColorFactor( winrt::Windows::Foundation::Numerics::float4 const& value) const; [[nodiscard]] auto MetallicFactor() const; auto MetallicFactor(float value) const; [[nodiscard]] auto MetallicRoughnessInput() const; auto MetallicRoughnessInput( winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput const& value) const; [[nodiscard]] auto RoughnessFactor() const; auto RoughnessFactor(float value) const; }; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial< D>; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneMetallicRoughnessMaterialStatics { auto Create( winrt::Microsoft::UI::Composition::Compositor const& compositor) const; }; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneMetallicRoughnessMaterialStatics< D>; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneModelTransform { [[nodiscard]] auto Orientation() const; auto Orientation( winrt::Windows::Foundation::Numerics::quaternion const& value) const; [[nodiscard]] auto RotationAngle() const; auto RotationAngle(float value) const; [[nodiscard]] auto RotationAngleInDegrees() const; auto RotationAngleInDegrees(float value) const; [[nodiscard]] auto RotationAxis() const; auto RotationAxis( winrt::Windows::Foundation::Numerics::float3 const& value) const; [[nodiscard]] auto Scale() const; auto Scale(winrt::Windows::Foundation::Numerics::float3 const& value) const; [[nodiscard]] auto Translation() const; auto Translation( winrt::Windows::Foundation::Numerics::float3 const& value) const; }; template <> struct consume< winrt::Microsoft::UI::Composition::Scenes::ISceneModelTransform> { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneModelTransform; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneNode { [[nodiscard]] auto Children() const; [[nodiscard]] auto Components() const; [[nodiscard]] auto Parent() const; [[nodiscard]] auto Transform() const; auto FindFirstComponentOfType( winrt::Microsoft::UI::Composition::Scenes::SceneComponentType const& value) const; }; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneNode; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneNodeCollection {}; template <> struct consume< winrt::Microsoft::UI::Composition::Scenes::ISceneNodeCollection> { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneNodeCollection; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneNodeStatics { auto Create( winrt::Microsoft::UI::Composition::Compositor const& compositor) const; }; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneNodeStatics; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneObject {}; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneObject; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneObjectFactory {}; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneObjectFactory; }; template struct consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial { [[nodiscard]] auto AlphaCutoff() const; auto AlphaCutoff(float value) const; [[nodiscard]] auto AlphaMode() const; auto AlphaMode( winrt::Microsoft::UI::Composition::Scenes::SceneAlphaMode const& value) const; [[nodiscard]] auto EmissiveInput() const; auto EmissiveInput( winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput const& value) const; [[nodiscard]] auto EmissiveFactor() const; auto EmissiveFactor( winrt::Windows::Foundation::Numerics::float3 const& value) const; [[nodiscard]] auto IsDoubleSided() const; auto IsDoubleSided(bool value) const; [[nodiscard]] auto NormalInput() const; auto NormalInput( winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput const& value) const; [[nodiscard]] auto NormalScale() const; auto NormalScale(float value) const; [[nodiscard]] auto OcclusionInput() const; auto OcclusionInput( winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput const& value) const; [[nodiscard]] auto OcclusionStrength() const; auto OcclusionStrength(float value) const; }; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial; }; template struct consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterialFactory {}; template <> struct consume< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterialFactory> { template using type = consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterialFactory; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneRendererComponent {}; template <> struct consume< winrt::Microsoft::UI::Composition::Scenes::ISceneRendererComponent> { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneRendererComponent; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneRendererComponentFactory { }; template <> struct consume< winrt::Microsoft::UI::Composition::Scenes::ISceneRendererComponentFactory> { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneRendererComponentFactory; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneSurfaceMaterialInput { [[nodiscard]] auto BitmapInterpolationMode() const; auto BitmapInterpolationMode( winrt::Microsoft::UI::Composition:: CompositionBitmapInterpolationMode const& value) const; [[nodiscard]] auto Surface() const; auto Surface(winrt::Microsoft::UI::Composition::ICompositionSurface const& value) const; [[nodiscard]] auto WrappingUMode() const; auto WrappingUMode( winrt::Microsoft::UI::Composition::Scenes::SceneWrappingMode const& value) const; [[nodiscard]] auto WrappingVMode() const; auto WrappingVMode( winrt::Microsoft::UI::Composition::Scenes::SceneWrappingMode const& value) const; }; template <> struct consume< winrt::Microsoft::UI::Composition::Scenes::ISceneSurfaceMaterialInput> { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneSurfaceMaterialInput; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneSurfaceMaterialInputStatics { auto Create( winrt::Microsoft::UI::Composition::Compositor const& compositor) const; }; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneSurfaceMaterialInputStatics< D>; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneVisual { [[nodiscard]] auto Root() const; auto Root( winrt::Microsoft::UI::Composition::Scenes::SceneNode const& value) const; }; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneVisual; }; template struct consume_Microsoft_UI_Composition_Scenes_ISceneVisualStatics { auto Create( winrt::Microsoft::UI::Composition::Compositor const& compositor) const; }; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Scenes_ISceneVisualStatics; }; } // namespace winrt::impl #endif