//
// 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.UI.Text.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Text
        {
            typedef enum FontStretch FontStretch;

            typedef enum FontStyle FontStyle;

            typedef struct FontWeight FontWeight;
        }
    }
}
namespace Windows
{
    namespace Globalization
    {
        namespace Fonts
        {
            interface ILanguageFont;

            interface ILanguageFontGroup;

            interface ILanguageFontGroupFactory;

            runtimeclass LanguageFont;

            runtimeclass LanguageFontGroup;
        }
    }
}

// Generic instantiations

// Type definition
namespace Windows
{
    namespace Globalization
    {
        namespace Fonts
        {
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Globalization.Fonts.LanguageFont)]
            [uuid(B12E5C3A-B76D-459B-BEEB-901151CD77D1)]
            interface ILanguageFont : IInspectable
            {
                [propget] HRESULT FontFamily([out] [retval] HSTRING* value);
                [propget] HRESULT FontWeight([out] [retval] Windows.UI.Text.FontWeight* weight);
                [propget] HRESULT FontStretch([out] [retval] Windows.UI.Text.FontStretch* stretch);
                [propget] HRESULT FontStyle([out] [retval] Windows.UI.Text.FontStyle* style);
                [propget] HRESULT ScaleFactor([out] [retval] DOUBLE* scale);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Globalization.Fonts.LanguageFontGroup)]
            [uuid(F33A7FC3-3A5C-4AEA-B9FF-B39FB242F7F6)]
            interface ILanguageFontGroup : IInspectable
            {
                [propget] HRESULT UITextFont([out] [retval] Windows.Globalization.Fonts.LanguageFont** value);
                [propget] HRESULT UIHeadingFont([out] [retval] Windows.Globalization.Fonts.LanguageFont** value);
                [propget] HRESULT UITitleFont([out] [retval] Windows.Globalization.Fonts.LanguageFont** value);
                [propget] HRESULT UICaptionFont([out] [retval] Windows.Globalization.Fonts.LanguageFont** value);
                [propget] HRESULT UINotificationHeadingFont([out] [retval] Windows.Globalization.Fonts.LanguageFont** value);
                [propget] HRESULT TraditionalDocumentFont([out] [retval] Windows.Globalization.Fonts.LanguageFont** value);
                [propget] HRESULT ModernDocumentFont([out] [retval] Windows.Globalization.Fonts.LanguageFont** value);
                [propget] HRESULT DocumentHeadingFont([out] [retval] Windows.Globalization.Fonts.LanguageFont** value);
                [propget] HRESULT FixedWidthTextFont([out] [retval] Windows.Globalization.Fonts.LanguageFont** value);
                [propget] HRESULT DocumentAlternate1Font([out] [retval] Windows.Globalization.Fonts.LanguageFont** value);
                [propget] HRESULT DocumentAlternate2Font([out] [retval] Windows.Globalization.Fonts.LanguageFont** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Globalization.Fonts.LanguageFontGroup)]
            [uuid(FCAEAC67-4E77-49C7-B856-DDE934FC735B)]
            interface ILanguageFontGroupFactory : IInspectable
            {
                HRESULT CreateLanguageFontGroup([in] HSTRING languageTag, [out] [retval] Windows.Globalization.Fonts.LanguageFontGroup** recommendedFonts);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass LanguageFont
            {
                [default] interface Windows.Globalization.Fonts.ILanguageFont;
            }

            [activatable(Windows.Globalization.Fonts.ILanguageFontGroupFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(mta)]
            runtimeclass LanguageFontGroup
            {
                [default] interface Windows.Globalization.Fonts.ILanguageFontGroup;
            }
        }
    }
}
