1 module aurora.directx.dxgi.dxgitype;
2 
3 public import aurora.directx.dxgi.dxgiformat;
4 public import aurora.directx.dxgi.dxgicommon;
5 
6 public:
7 
8 enum int DXGI_CPU_ACCESS_NONE = 0;
9 enum int DXGI_CPU_ACCESS_DYNAMIC = 1;
10 enum int DXGI_CPU_ACCESS_READ_WRITE = 2;
11 enum int DXGI_CPU_ACCESS_SCRATCH = 3;
12 enum int DXGI_CPU_ACCESS_FIELD = 15;
13 
14 struct DXGI_RGB
15 {
16     float Red;
17     float Green;
18     float Blue;
19 }
20 
21 struct D3DCOLORVALUE {
22     float r;
23     float g;
24     float b;
25     float a;
26 }
27 
28 alias D3DCOLORVALUE DXGI_RGBA;
29 
30 struct DXGI_GAMMA_CONTROL
31 {
32     DXGI_RGB       Scale;
33     DXGI_RGB       Offset;
34     DXGI_RGB[1025] GammaCurve;
35 }
36 
37 struct DXGI_GAMMA_CONTROL_CAPABILITIES
38 {
39     bool        ScaleAndOffsetSupported;
40     float       MaxConvertedValue;
41     float       MinConvertedValue;
42     uint        NumGammaControlPoints;
43     float[1025] ControlPointPositions;
44 }
45 
46 enum DXGI_MODE_SCANLINE_ORDER
47 {
48     UNSPECIFIED        = 0,
49     PROGRESSIVE        = 1,
50     UPPER_FIELD_FIRST  = 2,
51     LOWER_FIELD_FIRST  = 3
52 }
53 
54 enum DXGI_MODE_SCALING
55 {
56     UNSPECIFIED   = 0,
57     CENTERED      = 1,
58     STRETCHED     = 2
59 }
60 
61 enum DXGI_MODE_ROTATION
62 {
63     UNSPECIFIED  = 0,
64     IDENTITY     = 1,
65     ROTATE90     = 2,
66     ROTATE180    = 3,
67     ROTATE270    = 4
68 }
69 
70 struct DXGI_MODE_DESC
71 {
72     uint Width;
73     uint Height;
74     DXGI_RATIONAL RefreshRate;
75     DXGI_FORMAT Format;
76     DXGI_MODE_SCANLINE_ORDER ScanlineOrdering;
77     DXGI_MODE_SCALING Scaling;
78 }
79 
80 struct DXGI_JPEG_DC_HUFFMAN_TABLE
81 {
82     ubyte[12] CodeCounts;
83     ubyte[12] CodeValues;
84 }
85 
86 struct DXGI_JPEG_AC_HUFFMAN_TABLE
87 {
88     ubyte[16]  CodeCounts;
89     ubyte[162] CodeValues;
90 }
91 
92 struct DXGI_JPEG_QUANTIZATION_TABLE
93 {
94     ubyte[64] Elements;
95 }