dxgitype.idl revision 92617aeac109481258f0c3863d09c1b8903d438b
1a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)/* 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright 2007 Andras Kovacs 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This library is free software; you can redistribute it and/or 5c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch * modify it under the terms of the GNU Lesser General Public 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * License as published by the Free Software Foundation; either 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * version 2.1 of the License, or (at your option) any later version. 8e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch * 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This library is distributed in the hope that it will be useful, 10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * but WITHOUT ANY WARRANTY; without even the implied warranty of 114e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 124e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) * Lesser General Public License for more details. 13eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch * 14e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch * You should have received a copy of the GNU Lesser General Public 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * License along with this library; if not, write to the Free Software 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 19a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)/* DXGI 1.1 IDL, and missing DXGI 1.0 parts added by Luca Barbieri on Sep 2010 */ 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import "oaidl.idl"; 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import "ocidl.idl"; 2323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 2423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)import "dxgiformat.idl"; 256e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 266e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)typedef struct DXGI_SAMPLE_DESC { 27effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch UINT Count; 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) UINT Quality; 296e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)} DXGI_SAMPLE_DESC; 306e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 316e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)typedef enum DXGI_MODE_ROTATION { 326e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) DXGI_MODE_ROTATION_UNSPECIFIED = 0, 336e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) DXGI_MODE_ROTATION_IDENTITY = 1, 346e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) DXGI_MODE_ROTATION_ROTATE90 = 2, 35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DXGI_MODE_ROTATION_ROTATE180 = 3, 36a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) DXGI_MODE_ROTATION_ROTATE270 = 4, 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} DXGI_MODE_ROTATION; 38a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)typedef enum DXGI_MODE_SCANLINE_ORDER { 40a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED = 0, 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE = 1, 42a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST = 2, 43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST = 3, 44a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} DXGI_MODE_SCANLINE_ORDER; 45c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum DXGI_MODE_SCALING { 47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DXGI_MODE_SCALING_UNSPECIFIED = 0, 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DXGI_MODE_SCALING_CENTERED = 1, 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DXGI_MODE_SCALING_STRETCHED = 2, 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} DXGI_MODE_SCALING; 5190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 52c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochtypedef struct DXGI_RATIONAL { 5390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) UINT Numerator; 54c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch UINT Denominator; 5590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} DXGI_RATIONAL; 56c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 5790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)typedef struct DXGI_MODE_DESC { 58c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch UINT Width; 5990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) UINT Height; 60c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch DXGI_RATIONAL RefreshRate; 6190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) DXGI_FORMAT Format; 62c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch DXGI_MODE_SCANLINE_ORDER ScanlineOrdering; 6390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) DXGI_MODE_SCALING Scaling; 6490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} DXGI_MODE_DESC; 6590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 6690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)typedef struct DXGI_GAMMA_CONTROL_CAPABILITIES { 6790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) BOOL ScaleAndOffsetSupported; 6890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) float MaxConvertedValue; 69c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch float MinConvertedValue; 70c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch UINT NumGammaControlPoints; 71c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch float ControlPointPositions[1025]; 72c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch} DXGI_GAMMA_CONTROL_CAPABILITIES; 73c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 74c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochtypedef struct DXGI_RGB { 75c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch float Red; 76c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch float Green; 77c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch float Blue; 78c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch} DXGI_RGB; 79c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 80c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochtypedef struct DXGI_GAMMA_CONTROL { 81c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch DXGI_RGB Scale; 82c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch DXGI_RGB Offset; 83a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) DXGI_RGB GammaCurve[1025]; 84a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} DXGI_GAMMA_CONTROL; 85a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)