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

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "Windows.Foundation.idl";
import "Windows.UI.Xaml.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(__windows2Eui2Examl_h__)")
cpp_quote("#include <Windows.UI.Xaml.h>")
cpp_quote("#endif // !defined(__windows2Eui2Examl_h__)")
cpp_quote("#if defined(__cplusplus)")
cpp_quote("extern \"C\" {")
cpp_quote("#endif // defined(__cplusplus)")

// Forward Declare
namespace Windows
{
    namespace UI
    {
        namespace Xaml
        {
            runtimeclass UIElement;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Xaml
        {
            namespace Hosting
            {
                interface IXamlUIPresenter;

                interface IXamlUIPresenterStatics;

                interface IXamlUIPresenterHost;

                runtimeclass XamlUIPresenter;
            }
        }
    }
}

// Generic instantiations

// Type definition
namespace Windows
{
    namespace UI
    {
        namespace Xaml
        {
            namespace Hosting
            {
                [uuid(A714944A-1619-4FC6-B31B-89512EF022A2)]
                [version(0x06020000)]
                [exclusiveto(Windows.UI.Xaml.Hosting.XamlUIPresenter)]
                interface IXamlUIPresenter : IInspectable
                {
                    [propget] HRESULT RootElement([out] [retval] Windows.UI.Xaml.UIElement** value);
                    [propput] HRESULT RootElement([in] Windows.UI.Xaml.UIElement* value);
                    [propget] HRESULT ThemeKey([out] [retval] HSTRING* value);
                    [propput] HRESULT ThemeKey([in] HSTRING value);
                    [propget] HRESULT ThemeResourcesXaml([out] [retval] HSTRING* value);
                    [propput] HRESULT ThemeResourcesXaml([in] HSTRING value);
                    HRESULT SetSize([in] INT32 width, [in] INT32 height);
                    HRESULT Render();
                    HRESULT Present();
                }

                [uuid(71EAEAC8-45E1-4192-85AA-3A422EDD23CF)]
                [exclusiveto(Windows.UI.Xaml.Hosting.XamlUIPresenter)]
                [version(0x06020000)]
                interface IXamlUIPresenterStatics : IInspectable
                {
                    [propget] HRESULT CompleteTimelinesAutomatically([out] [retval] boolean* value);
                    [propput] HRESULT CompleteTimelinesAutomatically([in] boolean value);
                    HRESULT SetHost([in] Windows.UI.Xaml.Hosting.IXamlUIPresenterHost* host);
                    HRESULT NotifyWindowSizeChanged();
                }

                [uuid(AAFB84CD-9F6D-4F80-AC2C-0E6CB9F31659)]
                [version(0x06020000)]
                interface IXamlUIPresenterHost : IInspectable
                {
                    HRESULT ResolveFileResource([in] HSTRING path, [out] [retval] HSTRING* returnValue);
                }

                [version(0x06020000)]
                [threading(both)]
                [marshaling_behavior(agile)]
                [static(Windows.UI.Xaml.Hosting.IXamlUIPresenterStatics, 0x06020000)]
                runtimeclass XamlUIPresenter
                {
                    [default] interface Windows.UI.Xaml.Hosting.IXamlUIPresenter;
                }
            }
        }
    }
}
