001/**
002 * Copyright (c) 2008-2014 Ardor Labs, Inc.
003 *
004 * This file is part of Ardor3D.
005 *
006 * Ardor3D is free software: you can redistribute it and/or modify it 
007 * under the terms of its license which may be found in the accompanying
008 * LICENSE file or at <http://www.ardor3d.com/LICENSE>.
009 */
010
011package com.ardor3d.image.util.dds;
012
013enum DxgiFormat {
014
015    DXGI_FORMAT_UNKNOWN(0), //
016    DXGI_FORMAT_R32G32B32A32_TYPELESS(1), //
017    DXGI_FORMAT_R32G32B32A32_FLOAT(2), //
018    DXGI_FORMAT_R32G32B32A32_UINT(3), //
019    DXGI_FORMAT_R32G32B32A32_SINT(4), //
020    DXGI_FORMAT_R32G32B32_TYPELESS(5), //
021    DXGI_FORMAT_R32G32B32_FLOAT(6), //
022    DXGI_FORMAT_R32G32B32_UINT(7), //
023    DXGI_FORMAT_R32G32B32_SINT(8), //
024    DXGI_FORMAT_R16G16B16A16_TYPELESS(9), //
025    DXGI_FORMAT_R16G16B16A16_FLOAT(10), //
026    DXGI_FORMAT_R16G16B16A16_UNORM(11), //
027    DXGI_FORMAT_R16G16B16A16_UINT(12), //
028    DXGI_FORMAT_R16G16B16A16_SNORM(13), //
029    DXGI_FORMAT_R16G16B16A16_SINT(14), //
030    DXGI_FORMAT_R32G32_TYPELESS(15), //
031    DXGI_FORMAT_R32G32_FLOAT(16), //
032    DXGI_FORMAT_R32G32_UINT(17), //
033    DXGI_FORMAT_R32G32_SINT(18), //
034    DXGI_FORMAT_R32G8X24_TYPELESS(19), //
035    DXGI_FORMAT_D32_FLOAT_S8X24_UINT(20), //
036    DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS(21), //
037    DXGI_FORMAT_X32_TYPELESS_G8X24_UINT(22), //
038    DXGI_FORMAT_R10G10B10A2_TYPELESS(23), //
039    DXGI_FORMAT_R10G10B10A2_UNORM(24), //
040    DXGI_FORMAT_R10G10B10A2_UINT(25), //
041    DXGI_FORMAT_R11G11B10_FLOAT(26), //
042    DXGI_FORMAT_R8G8B8A8_TYPELESS(27), //
043    DXGI_FORMAT_R8G8B8A8_UNORM(28), //
044    DXGI_FORMAT_R8G8B8A8_UNORM_SRGB(29), //
045    DXGI_FORMAT_R8G8B8A8_UINT(30), //
046    DXGI_FORMAT_R8G8B8A8_SNORM(31), //
047    DXGI_FORMAT_R8G8B8A8_SINT(32), //
048    DXGI_FORMAT_R16G16_TYPELESS(33), //
049    DXGI_FORMAT_R16G16_FLOAT(34), //
050    DXGI_FORMAT_R16G16_UNORM(35), //
051    DXGI_FORMAT_R16G16_UINT(36), //
052    DXGI_FORMAT_R16G16_SNORM(37), //
053    DXGI_FORMAT_R16G16_SINT(38), //
054    DXGI_FORMAT_R32_TYPELESS(39), //
055    DXGI_FORMAT_D32_FLOAT(40), //
056    DXGI_FORMAT_R32_FLOAT(41), //
057    DXGI_FORMAT_R32_UINT(42), //
058    DXGI_FORMAT_R32_SINT(43), //
059    DXGI_FORMAT_R24G8_TYPELESS(44), //
060    DXGI_FORMAT_D24_UNORM_S8_UINT(45), //
061    DXGI_FORMAT_R24_UNORM_X8_TYPELESS(46), //
062    DXGI_FORMAT_X24_TYPELESS_G8_UINT(47), //
063    DXGI_FORMAT_R8G8_TYPELESS(48), //
064    DXGI_FORMAT_R8G8_UNORM(49), //
065    DXGI_FORMAT_R8G8_UINT(50), //
066    DXGI_FORMAT_R8G8_SNORM(51), //
067    DXGI_FORMAT_R8G8_SINT(52), //
068    DXGI_FORMAT_R16_TYPELESS(53), //
069    DXGI_FORMAT_R16_FLOAT(54), //
070    DXGI_FORMAT_D16_UNORM(55), //
071    DXGI_FORMAT_R16_UNORM(56), //
072    DXGI_FORMAT_R16_UINT(57), //
073    DXGI_FORMAT_R16_SNORM(58), //
074    DXGI_FORMAT_R16_SINT(59), //
075    DXGI_FORMAT_R8_TYPELESS(60), //
076    DXGI_FORMAT_R8_UNORM(61), //
077    DXGI_FORMAT_R8_UINT(62), //
078    DXGI_FORMAT_R8_SNORM(63), //
079    DXGI_FORMAT_R8_SINT(64), //
080    DXGI_FORMAT_A8_UNORM(65), //
081    DXGI_FORMAT_R1_UNORM(66), //
082    DXGI_FORMAT_R9G9B9E5_SHAREDEXP(67), //
083    DXGI_FORMAT_R8G8_B8G8_UNORM(68), //
084    DXGI_FORMAT_G8R8_G8B8_UNORM(69), //
085    DXGI_FORMAT_BC1_TYPELESS(70), //
086    DXGI_FORMAT_BC1_UNORM(71), //
087    DXGI_FORMAT_BC1_UNORM_SRGB(72), //
088    DXGI_FORMAT_BC2_TYPELESS(73), //
089    DXGI_FORMAT_BC2_UNORM(74), //
090    DXGI_FORMAT_BC2_UNORM_SRGB(75), //
091    DXGI_FORMAT_BC3_TYPELESS(76), //
092    DXGI_FORMAT_BC3_UNORM(77), //
093    DXGI_FORMAT_BC3_UNORM_SRGB(78), //
094    DXGI_FORMAT_BC4_TYPELESS(79), //
095    DXGI_FORMAT_BC4_UNORM(80), //
096    DXGI_FORMAT_BC4_SNORM(81), //
097    DXGI_FORMAT_BC5_TYPELESS(82), //
098    DXGI_FORMAT_BC5_UNORM(83), //
099    DXGI_FORMAT_BC5_SNORM(84), //
100    DXGI_FORMAT_B5G6R5_UNORM(85), //
101    DXGI_FORMAT_B5G5R5A1_UNORM(86), //
102    DXGI_FORMAT_B8G8R8A8_UNORM(87), //
103    DXGI_FORMAT_B8G8R8X8_UNORM(88), //
104    DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM(89), //
105    DXGI_FORMAT_B8G8R8A8_TYPELESS(90), //
106    DXGI_FORMAT_B8G8R8A8_UNORM_SRGB(91), //
107    DXGI_FORMAT_B8G8R8X8_TYPELESS(92), //
108    DXGI_FORMAT_B8G8R8X8_UNORM_SRGB(93), //
109    DXGI_FORMAT_BC6H_TYPELESS(94), //
110    DXGI_FORMAT_BC6H_UF16(95), //
111    DXGI_FORMAT_BC6H_SF16(96), //
112    DXGI_FORMAT_BC7_TYPELESS(97), //
113    DXGI_FORMAT_BC7_UNORM(98), //
114    DXGI_FORMAT_BC7_UNORM_SRGB(99), //
115    DXGI_FORMAT_FORCE_UINT(0xffffffff); //
116
117    int _value;
118
119    DxgiFormat(final int value) {
120        _value = value;
121    }
122
123    static DxgiFormat forInt(final int value) {
124        for (final DxgiFormat dim : values()) {
125            if (dim._value == value) {
126                return dim;
127            }
128        }
129        throw new Error("unknown DXGIFormat: " + value);
130    }
131}