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 = FakeEnum(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",
53 "DXGI_CPU_ACCESS_NONE",
54 "DXGI_CPU_ACCESS_DYNAMIC",
55 "DXGI_CPU_ACCESS_READ_WRITE",
56 "DXGI_CPU_ACCESS_SCRATCH",
57 "DXGI_CPU_ACCESS_FIELD",
58 "DXGI_USAGE_SHADER_INPUT",
59 "DXGI_USAGE_RENDER_TARGET_OUTPUT",
60 "DXGI_USAGE_BACK_BUFFER",
62 "DXGI_USAGE_READ_ONLY",
63 "DXGI_USAGE_DISCARD_ON_PRESENT",
64 "DXGI_USAGE_UNORDERED_ACCESS",
68 DXGI_RGB = Struct("DXGI_RGB", [
74 DXGI_GAMMA_CONTROL = Struct("DXGI_GAMMA_CONTROL", [
77 (Array(DXGI_RGB, 1025), "GammaCurve"),
80 DXGI_GAMMA_CONTROL_CAPABILITIES = Struct("DXGI_GAMMA_CONTROL_CAPABILITIES", [
81 (BOOL, "ScaleAndOffsetSupported"),
82 (Float, "MaxConvertedValue"),
83 (Float, "MinConvertedValue"),
84 (UINT, "NumGammaControlPoints"),
85 (Array(Float, 1025), "ControlPointPositions"),
88 DXGI_RATIONAL = Struct("DXGI_RATIONAL", [
90 (UINT, "Denominator"),
93 DXGI_MODE_SCANLINE_ORDER = Enum("DXGI_MODE_SCANLINE_ORDER", [
94 "DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED",
95 "DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE",
96 "DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST",
97 "DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST",
100 DXGI_MODE_SCALING = Enum("DXGI_MODE_SCALING", [
101 "DXGI_MODE_SCALING_UNSPECIFIED",
102 "DXGI_MODE_SCALING_CENTERED",
103 "DXGI_MODE_SCALING_STRETCHED",
106 DXGI_MODE_ROTATION = Enum("DXGI_MODE_ROTATION", [
107 "DXGI_MODE_ROTATION_UNSPECIFIED",
108 "DXGI_MODE_ROTATION_IDENTITY",
109 "DXGI_MODE_ROTATION_ROTATE90",
110 "DXGI_MODE_ROTATION_ROTATE180",
111 "DXGI_MODE_ROTATION_ROTATE270",
114 DXGI_MODE_DESC = Struct("DXGI_MODE_DESC", [
117 (DXGI_RATIONAL, "RefreshRate"),
118 (DXGI_FORMAT, "Format"),
119 (DXGI_MODE_SCANLINE_ORDER, "ScanlineOrdering"),
120 (DXGI_MODE_SCALING, "Scaling"),
123 DXGI_SAMPLE_DESC = Struct("DXGI_SAMPLE_DESC", [