1/*
2 * Copyright 2007 Andras Kovacs
3 *
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.
8 *
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.
13 *
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
17 */
18
19/* DXGI 1.1 IDL, and missing DXGI 1.0 parts added by Luca Barbieri on Sep 2010 */
20
21import "oaidl.idl";
22import "ocidl.idl";
23
24import "dxgiformat.idl";
25
26typedef struct DXGI_SAMPLE_DESC {
27	UINT Count;
28	UINT Quality;
29} DXGI_SAMPLE_DESC;
30
31typedef enum DXGI_MODE_ROTATION {
32	DXGI_MODE_ROTATION_UNSPECIFIED = 0,
33	DXGI_MODE_ROTATION_IDENTITY	 = 1,
34	DXGI_MODE_ROTATION_ROTATE90	 = 2,
35	DXGI_MODE_ROTATION_ROTATE180	= 3,
36	DXGI_MODE_ROTATION_ROTATE270	= 4,
37} DXGI_MODE_ROTATION;
38
39typedef enum DXGI_MODE_SCANLINE_ORDER {
40	DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED	= 0,
41	DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE	= 1,
42	DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST = 2,
43	DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST = 3,
44} DXGI_MODE_SCANLINE_ORDER;
45
46typedef enum DXGI_MODE_SCALING {
47	DXGI_MODE_SCALING_UNSPECIFIED = 0,
48	DXGI_MODE_SCALING_CENTERED	 = 1,
49	DXGI_MODE_SCALING_STRETCHED	 = 2,
50} DXGI_MODE_SCALING;
51
52typedef struct DXGI_RATIONAL {
53	UINT Numerator;
54	UINT Denominator;
55} DXGI_RATIONAL;
56
57typedef struct DXGI_MODE_DESC {
58	UINT Width;
59	UINT Height;
60	DXGI_RATIONAL RefreshRate;
61	DXGI_FORMAT Format;
62	DXGI_MODE_SCANLINE_ORDER ScanlineOrdering;
63	DXGI_MODE_SCALING Scaling;
64} DXGI_MODE_DESC;
65
66typedef struct DXGI_GAMMA_CONTROL_CAPABILITIES {
67	BOOL ScaleAndOffsetSupported;
68	float MaxConvertedValue;
69	float MinConvertedValue;
70	UINT NumGammaControlPoints;
71	float ControlPointPositions[1025];
72} DXGI_GAMMA_CONTROL_CAPABILITIES;
73
74typedef struct DXGI_RGB {
75	float Red;
76	float Green;
77	float Blue;
78} DXGI_RGB;
79
80typedef struct DXGI_GAMMA_CONTROL {
81	DXGI_RGB Scale;
82	DXGI_RGB Offset;
83	DXGI_RGB GammaCurve[1025];
84} DXGI_GAMMA_CONTROL;
85