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 19import "dxgicommon.idl"; 20import "dxgiformat.idl"; 21 22cpp_quote("#if 0") 23typedef unsigned int UINT; 24typedef long BOOL; 25cpp_quote("#endif") 26 27typedef enum DXGI_MODE_ROTATION 28{ 29 DXGI_MODE_ROTATION_UNSPECIFIED = 0x0, 30 DXGI_MODE_ROTATION_IDENTITY = 0x1, 31 DXGI_MODE_ROTATION_ROTATE90 = 0x2, 32 DXGI_MODE_ROTATION_ROTATE180 = 0x3, 33 DXGI_MODE_ROTATION_ROTATE270 = 0x4, 34} DXGI_MODE_ROTATION; 35 36typedef enum DXGI_MODE_SCANLINE_ORDER 37{ 38 DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED = 0x0, 39 DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE = 0x1, 40 DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST = 0x2, 41 DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST = 0x3, 42} DXGI_MODE_SCANLINE_ORDER; 43 44typedef enum DXGI_MODE_SCALING 45{ 46 DXGI_MODE_SCALING_UNSPECIFIED = 0x0, 47 DXGI_MODE_SCALING_CENTERED = 0x1, 48 DXGI_MODE_SCALING_STRETCHED = 0x2, 49} DXGI_MODE_SCALING; 50 51cpp_quote("#ifndef D3DCOLORVALUE_DEFINED") 52cpp_quote("#define D3DCOLORVALUE_DEFINED") 53typedef struct _D3DCOLORVALUE 54{ 55 float r; 56 float g; 57 float b; 58 float a; 59} D3DCOLORVALUE; 60cpp_quote("#endif") 61typedef D3DCOLORVALUE DXGI_RGBA; 62 63typedef struct DXGI_MODE_DESC 64{ 65 UINT Width; 66 UINT Height; 67 DXGI_RATIONAL RefreshRate; 68 DXGI_FORMAT Format; 69 DXGI_MODE_SCANLINE_ORDER ScanlineOrdering; 70 DXGI_MODE_SCALING Scaling; 71} DXGI_MODE_DESC; 72 73typedef struct DXGI_GAMMA_CONTROL_CAPABILITIES 74{ 75 BOOL ScaleAndOffsetSupported; 76 float MaxConvertedValue; 77 float MinConvertedValue; 78 UINT NumGammaControlPoints; 79 float ControlPointPositions[1025]; 80} DXGI_GAMMA_CONTROL_CAPABILITIES; 81 82typedef struct DXGI_RGB 83{ 84 float Red; 85 float Green; 86 float Blue; 87} DXGI_RGB; 88 89typedef struct DXGI_GAMMA_CONTROL 90{ 91 DXGI_RGB Scale; 92 DXGI_RGB Offset; 93 DXGI_RGB GammaCurve[1025]; 94} DXGI_GAMMA_CONTROL; 95