// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_UI_Composition_Scenes_H #define WINRT_Windows_UI_Composition_Scenes_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.UI.Composition.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.Foundation.Numerics.2.h" #include "winrt/impl/Windows.Graphics.DirectX.2.h" #include "winrt/impl/Windows.UI.Composition.2.h" #include "winrt/impl/Windows.UI.Composition.Scenes.2.h" namespace winrt::impl { template auto consume_Windows_UI_Composition_Scenes_ISceneBoundingBox::Center() const { winrt::Windows::Foundation::Numerics::float3 value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneBoundingBox)->get_Center(put_abi(value))); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneBoundingBox::Extents() const { winrt::Windows::Foundation::Numerics::float3 value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneBoundingBox)->get_Extents(put_abi(value))); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneBoundingBox::Max() const { winrt::Windows::Foundation::Numerics::float3 value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneBoundingBox)->get_Max(put_abi(value))); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneBoundingBox::Min() const { winrt::Windows::Foundation::Numerics::float3 value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneBoundingBox)->get_Min(put_abi(value))); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneBoundingBox::Size() const { winrt::Windows::Foundation::Numerics::float3 value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneBoundingBox)->get_Size(put_abi(value))); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneComponent::ComponentType() const { winrt::Windows::UI::Composition::Scenes::SceneComponentType value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneComponent)->get_ComponentType(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneMesh::Bounds() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMesh)->get_Bounds(&value)); return winrt::Windows::UI::Composition::Scenes::SceneBoundingBox{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_ISceneMesh::PrimitiveTopology() const { winrt::Windows::Graphics::DirectX::DirectXPrimitiveTopology value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMesh)->get_PrimitiveTopology(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneMesh::PrimitiveTopology(winrt::Windows::Graphics::DirectX::DirectXPrimitiveTopology const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMesh)->put_PrimitiveTopology(static_cast(value))); } template auto consume_Windows_UI_Composition_Scenes_ISceneMesh::FillMeshAttribute(winrt::Windows::UI::Composition::Scenes::SceneAttributeSemantic const& semantic, winrt::Windows::Graphics::DirectX::DirectXPixelFormat const& format, winrt::Windows::Foundation::MemoryBuffer const& memory) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMesh)->FillMeshAttribute(static_cast(semantic), static_cast(format), *(void**)(&memory))); } template auto consume_Windows_UI_Composition_Scenes_ISceneMeshRendererComponent::Material() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMeshRendererComponent)->get_Material(&value)); return winrt::Windows::UI::Composition::Scenes::SceneMaterial{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_ISceneMeshRendererComponent::Material(winrt::Windows::UI::Composition::Scenes::SceneMaterial const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMeshRendererComponent)->put_Material(*(void**)(&value))); } template auto consume_Windows_UI_Composition_Scenes_ISceneMeshRendererComponent::Mesh() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMeshRendererComponent)->get_Mesh(&value)); return winrt::Windows::UI::Composition::Scenes::SceneMesh{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_ISceneMeshRendererComponent::Mesh(winrt::Windows::UI::Composition::Scenes::SceneMesh const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMeshRendererComponent)->put_Mesh(*(void**)(&value))); } template auto consume_Windows_UI_Composition_Scenes_ISceneMeshRendererComponent::UVMappings() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMeshRendererComponent)->get_UVMappings(&value)); return winrt::Windows::UI::Composition::Scenes::SceneMeshMaterialAttributeMap{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_ISceneMeshRendererComponentStatics::Create(winrt::Windows::UI::Composition::Compositor const& compositor) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMeshRendererComponentStatics)->Create(*(void**)(&compositor), &result)); return winrt::Windows::UI::Composition::Scenes::SceneMeshRendererComponent{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_ISceneMeshStatics::Create(winrt::Windows::UI::Composition::Compositor const& compositor) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMeshStatics)->Create(*(void**)(&compositor), &result)); return winrt::Windows::UI::Composition::Scenes::SceneMesh{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial::BaseColorInput() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMetallicRoughnessMaterial)->get_BaseColorInput(&value)); return winrt::Windows::UI::Composition::Scenes::SceneMaterialInput{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial::BaseColorInput(winrt::Windows::UI::Composition::Scenes::SceneMaterialInput const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMetallicRoughnessMaterial)->put_BaseColorInput(*(void**)(&value))); } template auto consume_Windows_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial::BaseColorFactor() const { winrt::Windows::Foundation::Numerics::float4 value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMetallicRoughnessMaterial)->get_BaseColorFactor(put_abi(value))); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial::BaseColorFactor(winrt::Windows::Foundation::Numerics::float4 const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMetallicRoughnessMaterial)->put_BaseColorFactor(impl::bind_in(value))); } template auto consume_Windows_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial::MetallicFactor() const { float value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMetallicRoughnessMaterial)->get_MetallicFactor(&value)); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial::MetallicFactor(float value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMetallicRoughnessMaterial)->put_MetallicFactor(value)); } template auto consume_Windows_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial::MetallicRoughnessInput() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMetallicRoughnessMaterial)->get_MetallicRoughnessInput(&value)); return winrt::Windows::UI::Composition::Scenes::SceneMaterialInput{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial::MetallicRoughnessInput(winrt::Windows::UI::Composition::Scenes::SceneMaterialInput const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMetallicRoughnessMaterial)->put_MetallicRoughnessInput(*(void**)(&value))); } template auto consume_Windows_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial::RoughnessFactor() const { float value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMetallicRoughnessMaterial)->get_RoughnessFactor(&value)); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial::RoughnessFactor(float value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMetallicRoughnessMaterial)->put_RoughnessFactor(value)); } template auto consume_Windows_UI_Composition_Scenes_ISceneMetallicRoughnessMaterialStatics::Create(winrt::Windows::UI::Composition::Compositor const& compositor) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneMetallicRoughnessMaterialStatics)->Create(*(void**)(&compositor), &result)); return winrt::Windows::UI::Composition::Scenes::SceneMetallicRoughnessMaterial{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_ISceneModelTransform::Orientation() const { winrt::Windows::Foundation::Numerics::quaternion value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneModelTransform)->get_Orientation(put_abi(value))); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneModelTransform::Orientation(winrt::Windows::Foundation::Numerics::quaternion const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneModelTransform)->put_Orientation(impl::bind_in(value))); } template auto consume_Windows_UI_Composition_Scenes_ISceneModelTransform::RotationAngle() const { float value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneModelTransform)->get_RotationAngle(&value)); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneModelTransform::RotationAngle(float value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneModelTransform)->put_RotationAngle(value)); } template auto consume_Windows_UI_Composition_Scenes_ISceneModelTransform::RotationAngleInDegrees() const { float value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneModelTransform)->get_RotationAngleInDegrees(&value)); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneModelTransform::RotationAngleInDegrees(float value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneModelTransform)->put_RotationAngleInDegrees(value)); } template auto consume_Windows_UI_Composition_Scenes_ISceneModelTransform::RotationAxis() const { winrt::Windows::Foundation::Numerics::float3 value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneModelTransform)->get_RotationAxis(put_abi(value))); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneModelTransform::RotationAxis(winrt::Windows::Foundation::Numerics::float3 const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneModelTransform)->put_RotationAxis(impl::bind_in(value))); } template auto consume_Windows_UI_Composition_Scenes_ISceneModelTransform::Scale() const { winrt::Windows::Foundation::Numerics::float3 value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneModelTransform)->get_Scale(put_abi(value))); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneModelTransform::Scale(winrt::Windows::Foundation::Numerics::float3 const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneModelTransform)->put_Scale(impl::bind_in(value))); } template auto consume_Windows_UI_Composition_Scenes_ISceneModelTransform::Translation() const { winrt::Windows::Foundation::Numerics::float3 value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneModelTransform)->get_Translation(put_abi(value))); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneModelTransform::Translation(winrt::Windows::Foundation::Numerics::float3 const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneModelTransform)->put_Translation(impl::bind_in(value))); } template auto consume_Windows_UI_Composition_Scenes_ISceneNode::Children() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneNode)->get_Children(&value)); return winrt::Windows::UI::Composition::Scenes::SceneNodeCollection{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_ISceneNode::Components() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneNode)->get_Components(&value)); return winrt::Windows::UI::Composition::Scenes::SceneComponentCollection{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_ISceneNode::Parent() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneNode)->get_Parent(&value)); return winrt::Windows::UI::Composition::Scenes::SceneNode{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_ISceneNode::Transform() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneNode)->get_Transform(&value)); return winrt::Windows::UI::Composition::Scenes::SceneModelTransform{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_ISceneNode::FindFirstComponentOfType(winrt::Windows::UI::Composition::Scenes::SceneComponentType const& value) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneNode)->FindFirstComponentOfType(static_cast(value), &result)); return winrt::Windows::UI::Composition::Scenes::SceneComponent{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_ISceneNodeStatics::Create(winrt::Windows::UI::Composition::Compositor const& compositor) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneNodeStatics)->Create(*(void**)(&compositor), &result)); return winrt::Windows::UI::Composition::Scenes::SceneNode{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::AlphaCutoff() const { float value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->get_AlphaCutoff(&value)); return value; } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::AlphaCutoff(float value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->put_AlphaCutoff(value)); } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::AlphaMode() const { winrt::Windows::UI::Composition::Scenes::SceneAlphaMode value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->get_AlphaMode(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::AlphaMode(winrt::Windows::UI::Composition::Scenes::SceneAlphaMode const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->put_AlphaMode(static_cast(value))); } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::EmissiveInput() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->get_EmissiveInput(&value)); return winrt::Windows::UI::Composition::Scenes::SceneMaterialInput{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::EmissiveInput(winrt::Windows::UI::Composition::Scenes::SceneMaterialInput const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->put_EmissiveInput(*(void**)(&value))); } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::EmissiveFactor() const { winrt::Windows::Foundation::Numerics::float3 value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->get_EmissiveFactor(put_abi(value))); return value; } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::EmissiveFactor(winrt::Windows::Foundation::Numerics::float3 const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->put_EmissiveFactor(impl::bind_in(value))); } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::IsDoubleSided() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->get_IsDoubleSided(&value)); return value; } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::IsDoubleSided(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->put_IsDoubleSided(value)); } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::NormalInput() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->get_NormalInput(&value)); return winrt::Windows::UI::Composition::Scenes::SceneMaterialInput{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::NormalInput(winrt::Windows::UI::Composition::Scenes::SceneMaterialInput const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->put_NormalInput(*(void**)(&value))); } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::NormalScale() const { float value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->get_NormalScale(&value)); return value; } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::NormalScale(float value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->put_NormalScale(value)); } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::OcclusionInput() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->get_OcclusionInput(&value)); return winrt::Windows::UI::Composition::Scenes::SceneMaterialInput{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::OcclusionInput(winrt::Windows::UI::Composition::Scenes::SceneMaterialInput const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->put_OcclusionInput(*(void**)(&value))); } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::OcclusionStrength() const { float value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->get_OcclusionStrength(&value)); return value; } template auto consume_Windows_UI_Composition_Scenes_IScenePbrMaterial::OcclusionStrength(float value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::IScenePbrMaterial)->put_OcclusionStrength(value)); } template auto consume_Windows_UI_Composition_Scenes_ISceneSurfaceMaterialInput::BitmapInterpolationMode() const { winrt::Windows::UI::Composition::CompositionBitmapInterpolationMode value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneSurfaceMaterialInput)->get_BitmapInterpolationMode(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneSurfaceMaterialInput::BitmapInterpolationMode(winrt::Windows::UI::Composition::CompositionBitmapInterpolationMode const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneSurfaceMaterialInput)->put_BitmapInterpolationMode(static_cast(value))); } template auto consume_Windows_UI_Composition_Scenes_ISceneSurfaceMaterialInput::Surface() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneSurfaceMaterialInput)->get_Surface(&value)); return winrt::Windows::UI::Composition::ICompositionSurface{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_ISceneSurfaceMaterialInput::Surface(winrt::Windows::UI::Composition::ICompositionSurface const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneSurfaceMaterialInput)->put_Surface(*(void**)(&value))); } template auto consume_Windows_UI_Composition_Scenes_ISceneSurfaceMaterialInput::WrappingUMode() const { winrt::Windows::UI::Composition::Scenes::SceneWrappingMode value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneSurfaceMaterialInput)->get_WrappingUMode(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneSurfaceMaterialInput::WrappingUMode(winrt::Windows::UI::Composition::Scenes::SceneWrappingMode const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneSurfaceMaterialInput)->put_WrappingUMode(static_cast(value))); } template auto consume_Windows_UI_Composition_Scenes_ISceneSurfaceMaterialInput::WrappingVMode() const { winrt::Windows::UI::Composition::Scenes::SceneWrappingMode value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneSurfaceMaterialInput)->get_WrappingVMode(reinterpret_cast(&value))); return value; } template auto consume_Windows_UI_Composition_Scenes_ISceneSurfaceMaterialInput::WrappingVMode(winrt::Windows::UI::Composition::Scenes::SceneWrappingMode const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneSurfaceMaterialInput)->put_WrappingVMode(static_cast(value))); } template auto consume_Windows_UI_Composition_Scenes_ISceneSurfaceMaterialInputStatics::Create(winrt::Windows::UI::Composition::Compositor const& compositor) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneSurfaceMaterialInputStatics)->Create(*(void**)(&compositor), &result)); return winrt::Windows::UI::Composition::Scenes::SceneSurfaceMaterialInput{ result, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_ISceneVisual::Root() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneVisual)->get_Root(&value)); return winrt::Windows::UI::Composition::Scenes::SceneNode{ value, take_ownership_from_abi }; } template auto consume_Windows_UI_Composition_Scenes_ISceneVisual::Root(winrt::Windows::UI::Composition::Scenes::SceneNode const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneVisual)->put_Root(*(void**)(&value))); } template auto consume_Windows_UI_Composition_Scenes_ISceneVisualStatics::Create(winrt::Windows::UI::Composition::Compositor const& compositor) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::UI::Composition::Scenes::ISceneVisualStatics)->Create(*(void**)(&compositor), &result)); return winrt::Windows::UI::Composition::Scenes::SceneVisual{ result, take_ownership_from_abi }; } #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Center(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Center()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Extents(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Extents()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Max(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Max()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Min(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Min()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Size(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Size()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ComponentType(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ComponentType()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Bounds(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Bounds()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PrimitiveTopology(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PrimitiveTopology()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PrimitiveTopology(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PrimitiveTopology(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall FillMeshAttribute(int32_t semantic, int32_t format, void* memory) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().FillMeshAttribute(*reinterpret_cast(&semantic), *reinterpret_cast(&format), *reinterpret_cast(&memory)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Material(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Material()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Material(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Material(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Mesh(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Mesh()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Mesh(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Mesh(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_UVMappings(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().UVMappings()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Create(*reinterpret_cast(&compositor))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Create(*reinterpret_cast(&compositor))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_BaseColorInput(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().BaseColorInput()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_BaseColorInput(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().BaseColorInput(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_BaseColorFactor(winrt::Windows::Foundation::Numerics::float4* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().BaseColorFactor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_BaseColorFactor(winrt::Windows::Foundation::Numerics::float4 value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().BaseColorFactor(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MetallicFactor(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MetallicFactor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_MetallicFactor(float value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MetallicFactor(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MetallicRoughnessInput(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MetallicRoughnessInput()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_MetallicRoughnessInput(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MetallicRoughnessInput(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RoughnessFactor(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RoughnessFactor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RoughnessFactor(float value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RoughnessFactor(value); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Create(*reinterpret_cast(&compositor))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Orientation(winrt::Windows::Foundation::Numerics::quaternion* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Orientation()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Orientation(winrt::Windows::Foundation::Numerics::quaternion value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Orientation(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RotationAngle(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RotationAngle()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RotationAngle(float value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RotationAngle(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RotationAngleInDegrees(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RotationAngleInDegrees()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RotationAngleInDegrees(float value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RotationAngleInDegrees(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RotationAxis(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RotationAxis()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RotationAxis(winrt::Windows::Foundation::Numerics::float3 value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RotationAxis(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Scale(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Scale()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Scale(winrt::Windows::Foundation::Numerics::float3 value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Scale(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Translation(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Translation()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Translation(winrt::Windows::Foundation::Numerics::float3 value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Translation(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Children(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Children()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Components(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Components()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Parent(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Parent()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Transform(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Transform()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall FindFirstComponentOfType(int32_t value, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().FindFirstComponentOfType(*reinterpret_cast(&value))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Create(*reinterpret_cast(&compositor))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_AlphaCutoff(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AlphaCutoff()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_AlphaCutoff(float value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AlphaCutoff(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AlphaMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AlphaMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_AlphaMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AlphaMode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_EmissiveInput(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().EmissiveInput()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_EmissiveInput(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().EmissiveInput(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_EmissiveFactor(winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().EmissiveFactor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_EmissiveFactor(winrt::Windows::Foundation::Numerics::float3 value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().EmissiveFactor(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsDoubleSided(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsDoubleSided()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IsDoubleSided(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IsDoubleSided(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NormalInput(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NormalInput()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_NormalInput(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NormalInput(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NormalScale(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NormalScale()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_NormalScale(float value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NormalScale(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_OcclusionInput(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().OcclusionInput()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_OcclusionInput(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OcclusionInput(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_OcclusionStrength(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().OcclusionStrength()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_OcclusionStrength(float value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OcclusionStrength(value); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_BitmapInterpolationMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().BitmapInterpolationMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_BitmapInterpolationMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().BitmapInterpolationMode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Surface(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Surface()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Surface(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Surface(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_WrappingUMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().WrappingUMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_WrappingUMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().WrappingUMode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_WrappingVMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().WrappingVMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_WrappingVMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().WrappingVMode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Create(*reinterpret_cast(&compositor))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Root(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Root()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Root(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Root(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Create(*reinterpret_cast(&compositor))); return 0; } catch (...) { return to_hresult(); } }; #endif } WINRT_EXPORT namespace winrt::Windows::UI::Composition::Scenes { inline auto SceneMesh::Create(winrt::Windows::UI::Composition::Compositor const& compositor) { return impl::call_factory([&](ISceneMeshStatics const& f) { return f.Create(compositor); }); } inline auto SceneMeshRendererComponent::Create(winrt::Windows::UI::Composition::Compositor const& compositor) { return impl::call_factory([&](ISceneMeshRendererComponentStatics const& f) { return f.Create(compositor); }); } inline auto SceneMetallicRoughnessMaterial::Create(winrt::Windows::UI::Composition::Compositor const& compositor) { return impl::call_factory([&](ISceneMetallicRoughnessMaterialStatics const& f) { return f.Create(compositor); }); } inline auto SceneNode::Create(winrt::Windows::UI::Composition::Compositor const& compositor) { return impl::call_factory([&](ISceneNodeStatics const& f) { return f.Create(compositor); }); } inline auto SceneSurfaceMaterialInput::Create(winrt::Windows::UI::Composition::Compositor const& compositor) { return impl::call_factory([&](ISceneSurfaceMaterialInputStatics const& f) { return f.Create(compositor); }); } inline auto SceneVisual::Create(winrt::Windows::UI::Composition::Compositor const& compositor) { return impl::call_factory([&](ISceneVisualStatics const& f) { return f.Create(compositor); }); } } namespace std { #ifndef WINRT_LEAN_AND_MEAN template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; 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