vcomp: Implement 32-bit atomic integer functions.
[wine.git] / include / dxgitype.h
blob13df04641d8cda5a23f69489eaf3b0268ef52dff
1 /*
2 * Copyright 2007 Andras Kovacs
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __dxgitype_h__
20 #define __dxgitype_h__
22 #include "dxgiformat.h"
24 #ifndef D3DCOLORVALUE_DEFINED
25 typedef struct _D3DCOLORVALUE {
26 float r;
27 float g;
28 float b;
29 float a;
30 } D3DCOLORVALUE;
31 #define D3DCOLORVALUE_DEFINED
32 #endif
34 typedef D3DCOLORVALUE DXGI_RGBA;
36 typedef struct DXGI_SAMPLE_DESC {
37 UINT Count;
38 UINT Quality;
39 } DXGI_SAMPLE_DESC;
41 typedef enum DXGI_MODE_ROTATION {
42 DXGI_MODE_ROTATION_UNSPECIFIED = 0,
43 DXGI_MODE_ROTATION_IDENTITY = 1,
44 DXGI_MODE_ROTATION_ROTATE90 = 2,
45 DXGI_MODE_ROTATION_ROTATE180 = 3,
46 DXGI_MODE_ROTATION_ROTATE270 = 4,
47 } DXGI_MODE_ROTATION;
49 typedef enum DXGI_MODE_SCANLINE_ORDER {
50 DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED = 0,
51 DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE = 1,
52 DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST = 2,
53 DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST = 3,
54 } DXGI_MODE_SCANLINE_ORDER;
56 typedef enum DXGI_MODE_SCALING {
57 DXGI_MODE_SCALING_UNSPECIFIED = 0,
58 DXGI_MODE_SCALING_CENTERED = 1,
59 DXGI_MODE_SCALING_STRETCHED = 2,
60 } DXGI_MODE_SCALING;
62 typedef struct DXGI_RATIONAL {
63 UINT Numerator;
64 UINT Denominator;
65 } DXGI_RATIONAL;
67 typedef struct DXGI_MODE_DESC {
68 UINT Width;
69 UINT Height;
70 DXGI_RATIONAL RefreshRate;
71 DXGI_FORMAT Format;
72 DXGI_MODE_SCANLINE_ORDER ScanlineOrdering;
73 DXGI_MODE_SCALING Scaling;
74 } DXGI_MODE_DESC;
76 typedef struct DXGI_GAMMA_CONTROL_CAPABILITIES {
77 BOOL ScaleAndOffsetSupported;
78 float MaxConvertedValue;
79 float MinConvertedValue;
80 UINT NumGammaControlPoints;
81 float ControlPointPositions[1025];
82 } DXGI_GAMMA_CONTROL_CAPABILITIES;
84 typedef struct DXGI_RGB {
85 float Red;
86 float Green;
87 float Blue;
88 } DXGI_RGB;
90 typedef struct DXGI_GAMMA_CONTROL {
91 DXGI_RGB Scale;
92 DXGI_RGB Offset;
93 DXGI_RGB GammaCurve[1025];
94 } DXGI_GAMMA_CONTROL;
96 #endif