//
// 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";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace DirectX
        {
            typedef enum DirectXAlphaMode DirectXAlphaMode;

            typedef enum DirectXColorSpace DirectXColorSpace;

            typedef enum DirectXPixelFormat DirectXPixelFormat;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Graphics
    {
        namespace DirectX
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.Graphics.DirectX.DirectXPixelFormat>;

                interface Windows.Foundation.Collections.IIterator<Windows.Graphics.DirectX.DirectXPixelFormat>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Graphics.DirectX.DirectXPixelFormat>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Graphics
    {
        namespace DirectX
        {
            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            enum DirectXAlphaMode
            {
                Unspecified   = 0,
                Premultiplied = 1,
                Straight      = 2,
                Ignore        = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            enum DirectXColorSpace
            {
                RgbFullG22NoneP709         = 0,
                RgbFullG10NoneP709         = 1,
                RgbStudioG22NoneP709       = 2,
                RgbStudioG22NoneP2020      = 3,
                Reserved                   = 4,
                YccFullG22NoneP709X601     = 5,
                YccStudioG22LeftP601       = 6,
                YccFullG22LeftP601         = 7,
                YccStudioG22LeftP709       = 8,
                YccFullG22LeftP709         = 9,
                YccStudioG22LeftP2020      = 10,
                YccFullG22LeftP2020        = 11,
                RgbFullG2084NoneP2020      = 12,
                YccStudioG2084LeftP2020    = 13,
                RgbStudioG2084NoneP2020    = 14,
                YccStudioG22TopLeftP2020   = 15,
                YccStudioG2084TopLeftP2020 = 16,
                RgbFullG22NoneP2020        = 17,
                YccStudioGHlgTopLeftP2020  = 18,
                YccFullGHlgTopLeftP2020    = 19,
                RgbStudioG24NoneP709       = 20,
                RgbStudioG24NoneP2020      = 21,
                YccStudioG24LeftP709       = 22,
                YccStudioG24LeftP2020      = 23,
                YccStudioG24TopLeftP2020   = 24
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum DirectXPixelFormat
            {
                Unknown                         = 0,
                R32G32B32A32Typeless            = 1,
                R32G32B32A32Float               = 2,
                R32G32B32A32UInt                = 3,
                R32G32B32A32Int                 = 4,
                R32G32B32Typeless               = 5,
                R32G32B32Float                  = 6,
                R32G32B32UInt                   = 7,
                R32G32B32Int                    = 8,
                R16G16B16A16Typeless            = 9,
                R16G16B16A16Float               = 10,
                R16G16B16A16UIntNormalized      = 11,
                R16G16B16A16UInt                = 12,
                R16G16B16A16IntNormalized       = 13,
                R16G16B16A16Int                 = 14,
                R32G32Typeless                  = 15,
                R32G32Float                     = 16,
                R32G32UInt                      = 17,
                R32G32Int                       = 18,
                R32G8X24Typeless                = 19,
                D32FloatS8X24UInt               = 20,
                R32FloatX8X24Typeless           = 21,
                X32TypelessG8X24UInt            = 22,
                R10G10B10A2Typeless             = 23,
                R10G10B10A2UIntNormalized       = 24,
                R10G10B10A2UInt                 = 25,
                R11G11B10Float                  = 26,
                R8G8B8A8Typeless                = 27,
                R8G8B8A8UIntNormalized          = 28,
                R8G8B8A8UIntNormalizedSrgb      = 29,
                R8G8B8A8UInt                    = 30,
                R8G8B8A8IntNormalized           = 31,
                R8G8B8A8Int                     = 32,
                R16G16Typeless                  = 33,
                R16G16Float                     = 34,
                R16G16UIntNormalized            = 35,
                R16G16UInt                      = 36,
                R16G16IntNormalized             = 37,
                R16G16Int                       = 38,
                R32Typeless                     = 39,
                D32Float                        = 40,
                R32Float                        = 41,
                R32UInt                         = 42,
                R32Int                          = 43,
                R24G8Typeless                   = 44,
                D24UIntNormalizedS8UInt         = 45,
                R24UIntNormalizedX8Typeless     = 46,
                X24TypelessG8UInt               = 47,
                R8G8Typeless                    = 48,
                R8G8UIntNormalized              = 49,
                R8G8UInt                        = 50,
                R8G8IntNormalized               = 51,
                R8G8Int                         = 52,
                R16Typeless                     = 53,
                R16Float                        = 54,
                D16UIntNormalized               = 55,
                R16UIntNormalized               = 56,
                R16UInt                         = 57,
                R16IntNormalized                = 58,
                R16Int                          = 59,
                R8Typeless                      = 60,
                R8UIntNormalized                = 61,
                R8UInt                          = 62,
                R8IntNormalized                 = 63,
                R8Int                           = 64,
                A8UIntNormalized                = 65,
                R1UIntNormalized                = 66,
                R9G9B9E5SharedExponent          = 67,
                R8G8B8G8UIntNormalized          = 68,
                G8R8G8B8UIntNormalized          = 69,
                BC1Typeless                     = 70,
                BC1UIntNormalized               = 71,
                BC1UIntNormalizedSrgb           = 72,
                BC2Typeless                     = 73,
                BC2UIntNormalized               = 74,
                BC2UIntNormalizedSrgb           = 75,
                BC3Typeless                     = 76,
                BC3UIntNormalized               = 77,
                BC3UIntNormalizedSrgb           = 78,
                BC4Typeless                     = 79,
                BC4UIntNormalized               = 80,
                BC4IntNormalized                = 81,
                BC5Typeless                     = 82,
                BC5UIntNormalized               = 83,
                BC5IntNormalized                = 84,
                B5G6R5UIntNormalized            = 85,
                B5G5R5A1UIntNormalized          = 86,
                B8G8R8A8UIntNormalized          = 87,
                B8G8R8X8UIntNormalized          = 88,
                R10G10B10XRBiasA2UIntNormalized = 89,
                B8G8R8A8Typeless                = 90,
                B8G8R8A8UIntNormalizedSrgb      = 91,
                B8G8R8X8Typeless                = 92,
                B8G8R8X8UIntNormalizedSrgb      = 93,
                BC6HTypeless                    = 94,
                BC6H16UnsignedFloat             = 95,
                BC6H16Float                     = 96,
                BC7Typeless                     = 97,
                BC7UIntNormalized               = 98,
                BC7UIntNormalizedSrgb           = 99,
                Ayuv                            = 100,
                Y410                            = 101,
                Y416                            = 102,
                NV12                            = 103,
                P010                            = 104,
                P016                            = 105,
                Opaque420                       = 106,
                Yuy2                            = 107,
                Y210                            = 108,
                Y216                            = 109,
                NV11                            = 110,
                AI44                            = 111,
                IA44                            = 112,
                P8                              = 113,
                A8P8                            = 114,
                B4G4R4A4UIntNormalized          = 115,
                P208                            = 130,
                V208                            = 131,
                V408                            = 132
            };
        }
    }
}
