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

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.UI.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace UI
    {
        typedef struct Color Color;
    }
}
namespace Windows
{
    namespace Media
    {
        namespace ClosedCaptioning
        {
            typedef enum ClosedCaptionColor ClosedCaptionColor;

            typedef enum ClosedCaptionEdgeEffect ClosedCaptionEdgeEffect;

            typedef enum ClosedCaptionOpacity ClosedCaptionOpacity;

            typedef enum ClosedCaptionSize ClosedCaptionSize;

            typedef enum ClosedCaptionStyle ClosedCaptionStyle;

            interface IClosedCaptionPropertiesStatics;

            interface IClosedCaptionPropertiesStatics2;

            runtimeclass ClosedCaptionProperties;
        }
    }
}

// Generic instantiations

// Type definition
namespace Windows
{
    namespace Media
    {
        namespace ClosedCaptioning
        {
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ClosedCaptionColor
            {
                Default = 0,
                White   = 1,
                Black   = 2,
                Red     = 3,
                Green   = 4,
                Blue    = 5,
                Yellow  = 6,
                Magenta = 7,
                Cyan    = 8
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ClosedCaptionEdgeEffect
            {
                Default    = 0,
                None       = 1,
                Raised     = 2,
                Depressed  = 3,
                Uniform    = 4,
                DropShadow = 5
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ClosedCaptionOpacity
            {
                Default            = 0,
                OneHundredPercent  = 1,
                SeventyFivePercent = 2,
                TwentyFivePercent  = 3,
                ZeroPercent        = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ClosedCaptionSize
            {
                Default                = 0,
                FiftyPercent           = 1,
                OneHundredPercent      = 2,
                OneHundredFiftyPercent = 3,
                TwoHundredPercent      = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ClosedCaptionStyle
            {
                Default                   = 0,
                MonospacedWithSerifs      = 1,
                ProportionalWithSerifs    = 2,
                MonospacedWithoutSerifs   = 3,
                ProportionalWithoutSerifs = 4,
                Casual                    = 5,
                Cursive                   = 6,
                SmallCapitals             = 7
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.ClosedCaptioning.ClosedCaptionProperties)]
            [uuid(10AA1F84-CC30-4141-B503-5272289E0C20)]
            interface IClosedCaptionPropertiesStatics : IInspectable
            {
                [propget] HRESULT FontColor([out] [retval] Windows.Media.ClosedCaptioning.ClosedCaptionColor* value);
                [propget] HRESULT ComputedFontColor([out] [retval] Windows.UI.Color* value);
                [propget] HRESULT FontOpacity([out] [retval] Windows.Media.ClosedCaptioning.ClosedCaptionOpacity* value);
                [propget] HRESULT FontSize([out] [retval] Windows.Media.ClosedCaptioning.ClosedCaptionSize* value);
                [propget] HRESULT FontStyle([out] [retval] Windows.Media.ClosedCaptioning.ClosedCaptionStyle* value);
                [propget] HRESULT FontEffect([out] [retval] Windows.Media.ClosedCaptioning.ClosedCaptionEdgeEffect* value);
                [propget] HRESULT BackgroundColor([out] [retval] Windows.Media.ClosedCaptioning.ClosedCaptionColor* value);
                [propget] HRESULT ComputedBackgroundColor([out] [retval] Windows.UI.Color* value);
                [propget] HRESULT BackgroundOpacity([out] [retval] Windows.Media.ClosedCaptioning.ClosedCaptionOpacity* value);
                [propget] HRESULT RegionColor([out] [retval] Windows.Media.ClosedCaptioning.ClosedCaptionColor* value);
                [propget] HRESULT ComputedRegionColor([out] [retval] Windows.UI.Color* value);
                [propget] HRESULT RegionOpacity([out] [retval] Windows.Media.ClosedCaptioning.ClosedCaptionOpacity* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.Media.ClosedCaptioning.ClosedCaptionProperties)]
            [uuid(9DE26870-37DE-4197-8845-9A48DC5AC317)]
            interface IClosedCaptionPropertiesStatics2 : IInspectable
            {
                [eventadd] HRESULT PropertiesChanged([in] Windows.Foundation.EventHandler<IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT PropertiesChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.ClosedCaptioning.IClosedCaptionPropertiesStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Media.ClosedCaptioning.IClosedCaptionPropertiesStatics2, Windows.Foundation.UniversalApiContract, 15.0)]
            [threading(both)]
            runtimeclass ClosedCaptionProperties
            {
            }
        }
    }
}
