//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0018
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.Graphics.Effects.idl";
// Additional imports to ensure that all required headers are included
cpp_quote("#if defined(__cplusplus)")
cpp_quote("}")
cpp_quote("#endif // defined(__cplusplus)")
cpp_quote("#include <Windows.Foundation.h>")
cpp_quote("#if !defined(__windows2Egraphics2Eeffects_h__)")
cpp_quote("#include <Windows.Graphics.Effects.h>")
cpp_quote("#endif // !defined(__windows2Egraphics2Eeffects_h__)")
cpp_quote("#if defined(__cplusplus)")
cpp_quote("extern \"C\" {")
cpp_quote("#endif // defined(__cplusplus)")

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Effects
        {
            interface IGraphicsEffect;

            interface IGraphicsEffectSource;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Composition
        {
            namespace Effects
            {
                interface ISceneLightingEffect;

                runtimeclass SceneLightingEffect;
            }
        }
    }
}

// Generic instantiations

// Type definition
namespace Windows
{
    namespace UI
    {
        namespace Composition
        {
            namespace Effects
            {
                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Effects.SceneLightingEffect)]
                [uuid(91BB5E52-95D1-4F8B-9A5A-6408B24B8C6A)]
                interface ISceneLightingEffect : IInspectable
                {
                    [propget] HRESULT AmbientAmount([out] [retval] FLOAT* value);
                    [propput] HRESULT AmbientAmount([in] FLOAT value);
                    [propget] HRESULT DiffuseAmount([out] [retval] FLOAT* value);
                    [propput] HRESULT DiffuseAmount([in] FLOAT value);
                    [propget] HRESULT NormalMapSource([out] [retval] Windows.Graphics.Effects.IGraphicsEffectSource** value);
                    [propput] HRESULT NormalMapSource([in] Windows.Graphics.Effects.IGraphicsEffectSource* value);
                    [propget] HRESULT SpecularAmount([out] [retval] FLOAT* value);
                    [propput] HRESULT SpecularAmount([in] FLOAT value);
                    [propget] HRESULT SpecularShine([out] [retval] FLOAT* value);
                    [propput] HRESULT SpecularShine([in] FLOAT value);
                }

                [activatable(Windows.Foundation.UniversalApiContract, 3.0)]
                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass SceneLightingEffect
                {
                    [default] interface Windows.UI.Composition.Effects.ISceneLightingEffect;
                    interface Windows.Graphics.Effects.IGraphicsEffect;
                    interface Windows.Graphics.Effects.IGraphicsEffectSource;
                }
            }
        }
    }
}
