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 typedef struct DXGI_SAMPLE_DESC { 25 UINT Count; 26 UINT Quality; 27 } DXGI_SAMPLE_DESC; 28 29 typedef enum DXGI_MODE_ROTATION { 30 DXGI_MODE_ROTATION_UNSPECIFIED = 0, 31 DXGI_MODE_ROTATION_IDENTITY = 1, 32 DXGI_MODE_ROTATION_ROTATE90 = 2, 33 DXGI_MODE_ROTATION_ROTATE180 = 3, 34 DXGI_MODE_ROTATION_ROTATE270 = 4, 35 } DXGI_MODE_ROTATION; 36 37 typedef enum DXGI_MODE_SCANLINE_ORDER { 38 DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED = 0, 39 DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE = 1, 40 DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST = 2, 41 DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST = 3, 42 } DXGI_MODE_SCANLINE_ORDER; 43 44 typedef enum DXGI_MODE_SCALING { 45 DXGI_MODE_SCALING_UNSPECIFIED = 0, 46 DXGI_MODE_SCALING_CENTERED = 1, 47 DXGI_MODE_SCALING_STRETCHED = 2, 48 } DXGI_MODE_SCALING; 49 50 typedef struct DXGI_RATIONAL { 51 UINT Numerator; 52 UINT Denominator; 53 } DXGI_RATIONAL; 54 55 typedef struct DXGI_MODE_DESC { 56 UINT Width; 57 UINT Height; 58 DXGI_RATIONAL RefreshRate; 59 DXGI_FORMAT Format; 60 DXGI_MODE_SCANLINE_ORDER ScanlineOrdering; 61 DXGI_MODE_SCALING Scaling; 62 } DXGI_MODE_DESC; 63 64 typedef struct DXGI_GAMMA_CONTROL_CAPABILITIES { 65 WINBOOL ScaleAndOffsetSupported; 66 float MaxConvertedValue; 67 float MinConvertedValue; 68 UINT NumGammaControlPoints; 69 float ControlPointPositions[1025]; 70 } DXGI_GAMMA_CONTROL_CAPABILITIES; 71 72 typedef struct DXGI_RGB { 73 float Red; 74 float Green; 75 float Blue; 76 } DXGI_RGB; 77 78 typedef struct DXGI_GAMMA_CONTROL { 79 DXGI_RGB Scale; 80 DXGI_RGB Offset; 81 DXGI_RGB GammaCurve[1025]; 82 } DXGI_GAMMA_CONTROL; 83 84 #endif 85