Home | History | Annotate | Download | only in d3dapi
      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 
     21 import "oaidl.idl";
     22 import "ocidl.idl";
     23 
     24 import "dxgiformat.idl";
     25 
     26 typedef struct DXGI_SAMPLE_DESC {
     27 	UINT Count;
     28 	UINT Quality;
     29 } DXGI_SAMPLE_DESC;
     30 
     31 typedef 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 
     39 typedef 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 
     46 typedef 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 
     52 typedef struct DXGI_RATIONAL {
     53 	UINT Numerator;
     54 	UINT Denominator;
     55 } DXGI_RATIONAL;
     56 
     57 typedef 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 
     66 typedef 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 
     74 typedef struct DXGI_RGB {
     75 	float Red;
     76 	float Green;
     77 	float Blue;
     78 } DXGI_RGB;
     79 
     80 typedef struct DXGI_GAMMA_CONTROL {
     81 	DXGI_RGB Scale;
     82 	DXGI_RGB Offset;
     83 	DXGI_RGB GammaCurve[1025];
     84 } DXGI_GAMMA_CONTROL;
     85