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 #ifndef __dxgitype_h__ 20 #define __dxgitype_h__ 21 22 #include "dxgiformat.h" 23 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 33 34 typedef D3DCOLORVALUE DXGI_RGBA; 35 36 typedef struct DXGI_SAMPLE_DESC { 37 UINT Count; 38 UINT Quality; 39 } DXGI_SAMPLE_DESC; 40 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; 48 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; 55 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; 61 62 typedef struct DXGI_RATIONAL { 63 UINT Numerator; 64 UINT Denominator; 65 } DXGI_RATIONAL; 66 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; 75 76 typedef struct DXGI_GAMMA_CONTROL_CAPABILITIES { 77 WINBOOL ScaleAndOffsetSupported; 78 float MaxConvertedValue; 79 float MinConvertedValue; 80 UINT NumGammaControlPoints; 81 float ControlPointPositions[1025]; 82 } DXGI_GAMMA_CONTROL_CAPABILITIES; 83 84 typedef struct DXGI_RGB { 85 float Red; 86 float Green; 87 float Blue; 88 } DXGI_RGB; 89 90 typedef struct DXGI_GAMMA_CONTROL { 91 DXGI_RGB Scale; 92 DXGI_RGB Offset; 93 DXGI_RGB GammaCurve[1025]; 94 } DXGI_GAMMA_CONTROL; 95 96 #endif 97