1 ##########################################################################
3 # Copyright 2011 Jose Fonseca
6 # Permission is hereby granted, free of charge, to any person obtaining a copy
7 # of this software and associated documentation files (the "Software"), to deal
8 # in the Software without restriction, including without limitation the rights
9 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 # copies of the Software, and to permit persons to whom the Software is
11 # furnished to do so, subject to the following conditions:
13 # The above copyright notice and this permission notice shall be included in
14 # all copies or substantial portions of the Software.
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 ##########################################################################/
27 from dxgiformat import *
30 HRESULT = MAKE_HRESULT([
31 "DXGI_STATUS_OCCLUDED",
32 "DXGI_STATUS_CLIPPED",
33 "DXGI_STATUS_NO_REDIRECTION",
34 "DXGI_STATUS_NO_DESKTOP_ACCESS",
35 "DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE",
36 "DXGI_STATUS_MODE_CHANGED",
37 "DXGI_STATUS_MODE_CHANGE_IN_PROGRESS",
38 "DXGI_ERROR_INVALID_CALL",
39 "DXGI_ERROR_NOT_FOUND",
40 "DXGI_ERROR_MORE_DATA",
41 "DXGI_ERROR_UNSUPPORTED",
42 "DXGI_ERROR_DEVICE_REMOVED",
43 "DXGI_ERROR_DEVICE_HUNG",
44 "DXGI_ERROR_DEVICE_RESET",
45 "DXGI_ERROR_WAS_STILL_DRAWING",
46 "DXGI_ERROR_FRAME_STATISTICS_DISJOINT",
47 "DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE",
48 "DXGI_ERROR_DRIVER_INTERNAL_ERROR",
49 "DXGI_ERROR_NONEXCLUSIVE",
50 "DXGI_ERROR_NOT_CURRENTLY_AVAILABLE",
51 "DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED",
52 "DXGI_ERROR_REMOTE_OUTOFMEMORY",
56 DXGI_RGB = Struct("DXGI_RGB", [
62 DXGI_GAMMA_CONTROL = Struct("DXGI_GAMMA_CONTROL", [
65 (Array(DXGI_RGB, 1025), "GammaCurve"),
68 DXGI_GAMMA_CONTROL_CAPABILITIES = Struct("DXGI_GAMMA_CONTROL_CAPABILITIES", [
69 (BOOL, "ScaleAndOffsetSupported"),
70 (Float, "MaxConvertedValue"),
71 (Float, "MinConvertedValue"),
72 (UINT, "NumGammaControlPoints"),
73 (Array(Float, 1025), "ControlPointPositions"),
76 DXGI_RATIONAL = Struct("DXGI_RATIONAL", [
78 (UINT, "Denominator"),
81 DXGI_MODE_SCANLINE_ORDER = Enum("DXGI_MODE_SCANLINE_ORDER", [
82 "DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED",
83 "DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE",
84 "DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST",
85 "DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST",
88 DXGI_MODE_SCALING = Enum("DXGI_MODE_SCALING", [
89 "DXGI_MODE_SCALING_UNSPECIFIED",
90 "DXGI_MODE_SCALING_CENTERED",
91 "DXGI_MODE_SCALING_STRETCHED",
94 DXGI_MODE_ROTATION = Enum("DXGI_MODE_ROTATION", [
95 "DXGI_MODE_ROTATION_UNSPECIFIED",
96 "DXGI_MODE_ROTATION_IDENTITY",
97 "DXGI_MODE_ROTATION_ROTATE90",
98 "DXGI_MODE_ROTATION_ROTATE180",
99 "DXGI_MODE_ROTATION_ROTATE270",
102 DXGI_MODE_DESC = Struct("DXGI_MODE_DESC", [
105 (DXGI_RATIONAL, "RefreshRate"),
106 (DXGI_FORMAT, "Format"),
107 (DXGI_MODE_SCANLINE_ORDER, "ScanlineOrdering"),
108 (DXGI_MODE_SCALING, "Scaling"),
111 DXGI_SAMPLE_DESC = Struct("DXGI_SAMPLE_DESC", [