-#############################################################################
+##########################################################################
#
-# Copyright 2008 Jose Fonseca
+# Copyright 2008-2009 VMware, Inc.
+# All Rights Reserved.
#
-# This program is free software: you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published
-# by the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
#
-# You should have received a copy of the GNU Lesser General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
#
-#############################################################################
+##########################################################################/
"""d3d9types.h"""
-from windows import *
+from winapi import *
D3DCOLOR = Alias("D3DCOLOR", DWORD)
])
D3DMATRIX = Struct("D3DMATRIX", [
- (Float, "m[4][4]"),
+ (Array(Array(Float, "4"), "4"), "m"),
])
D3DVIEWPORT9 = Struct("D3DVIEWPORT9", [
"D3DLIGHT_POINT",
"D3DLIGHT_SPOT",
"D3DLIGHT_DIRECTIONAL",
- "D3DLIGHT_FORCE_DWORD",
])
D3DLIGHT9 = Struct("D3DLIGHT9", [
(Float, "Phi"),
])
-D3DCS = Flags(DWORD, [
+D3DCLEAR = Flags(DWORD, [
"D3DCLEAR_TARGET",
"D3DCLEAR_ZBUFFER",
"D3DCLEAR_STENCIL",
"D3DSHADE_FLAT",
"D3DSHADE_GOURAUD",
"D3DSHADE_PHONG",
- "D3DSHADE_FORCE_DWORD",
])
D3DFILLMODE = Enum("D3DFILLMODE", [
"D3DFILL_POINT",
"D3DFILL_WIREFRAME",
"D3DFILL_SOLID",
- "D3DFILL_FORCE_DWORD",
])
D3DBLEND = Enum("D3DBLEND", [
"D3DBLEND_INVBLENDFACTOR",
"D3DBLEND_SRCCOLOR2",
"D3DBLEND_INVSRCCOLOR2",
- "D3DBLEND_FORCE_DWORD",
])
D3DBLENDOP = Enum("D3DBLENDOP", [
"D3DBLENDOP_REVSUBTRACT",
"D3DBLENDOP_MIN",
"D3DBLENDOP_MAX",
- "D3DBLENDOP_FORCE_DWORD",
])
D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [
"D3DTADDRESS_CLAMP",
"D3DTADDRESS_BORDER",
"D3DTADDRESS_MIRRORONCE",
- "D3DTADDRESS_FORCE_DWORD",
])
D3DCULL = Enum("D3DCULL", [
"D3DCULL_NONE",
"D3DCULL_CW",
"D3DCULL_CCW",
- "D3DCULL_FORCE_DWORD",
])
D3DCMPFUNC = Enum("D3DCMPFUNC", [
"D3DCMP_NOTEQUAL",
"D3DCMP_GREATEREQUAL",
"D3DCMP_ALWAYS",
- "D3DCMP_FORCE_DWORD",
])
D3DSTENCILOP = Enum("D3DSTENCILOP", [
"D3DSTENCILOP_INVERT",
"D3DSTENCILOP_INCR",
"D3DSTENCILOP_DECR",
- "D3DSTENCILOP_FORCE_DWORD",
])
D3DFOGMODE = Enum("D3DFOGMODE", [
"D3DFOG_EXP",
"D3DFOG_EXP2",
"D3DFOG_LINEAR",
- "D3DFOG_FORCE_DWORD",
])
D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [
"D3DZB_FALSE",
"D3DZB_TRUE",
"D3DZB_USEW",
- "D3DZB_FORCE_DWORD",
])
D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [
"D3DPT_TRIANGLELIST",
"D3DPT_TRIANGLESTRIP",
"D3DPT_TRIANGLEFAN",
- "D3DPT_FORCE_DWORD",
])
D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [
"D3DTS_TEXTURE5",
"D3DTS_TEXTURE6",
"D3DTS_TEXTURE7",
- "D3DTS_FORCE_DWORD",
])
D3DTS = Flags(DWORD, [
"D3DRS_SRCBLENDALPHA",
"D3DRS_DESTBLENDALPHA",
"D3DRS_BLENDOPALPHA",
- "D3DRS_FORCE_DWORD",
])
D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [
"D3DMCS_MATERIAL",
"D3DMCS_COLOR1",
"D3DMCS_COLOR2",
- "D3DMCS_FORCE_DWORD",
])
D3DWRAP = Flags(DWORD, [
"D3DTSS_ALPHAARG0",
"D3DTSS_RESULTARG",
"D3DTSS_CONSTANT",
- "D3DTSS_FORCE_DWORD",
])
D3DSAMPLERSTATETYPE = Enum("D3DSAMPLERSTATETYPE", [
"D3DSAMP_SRGBTEXTURE",
"D3DSAMP_ELEMENTINDEX",
"D3DSAMP_DMAPOFFSET",
- "D3DSAMP_FORCE_DWORD",
])
D3DTSS = Flags(DWORD, [
"D3DTOP_DOTPRODUCT3",
"D3DTOP_MULTIPLYADD",
"D3DTOP_LERP",
- "D3DTOP_FORCE_DWORD",
])
D3DTA = Flags(DWORD, [
"D3DTEXF_PYRAMIDALQUAD",
"D3DTEXF_GAUSSIANQUAD",
"D3DTEXF_CONVOLUTIONMONO",
- "D3DTEXF_FORCE_DWORD",
])
D3DPV = Flags(DWORD, [
"D3DFVF_PSIZE",
"D3DFVF_DIFFUSE",
"D3DFVF_SPECULAR",
- "D3DFVF_TEXCOUNT_MASK",
- "D3DFVF_TEXCOUNT_SHIFT",
- "D3DFVF_TEX0",
- "D3DFVF_TEX1",
- "D3DFVF_TEX2",
- "D3DFVF_TEX3",
- "D3DFVF_TEX4",
- "D3DFVF_TEX5",
- "D3DFVF_TEX6",
- "D3DFVF_TEX7",
- "D3DFVF_TEX8",
+ #"D3DFVF_TEXCOUNT_MASK",
+ #"D3DFVF_TEXCOUNT_SHIFT",
+ #"D3DFVF_TEX0",
+ #"D3DFVF_TEX1",
+ #"D3DFVF_TEX2",
+ #"D3DFVF_TEX3",
+ #"D3DFVF_TEX4",
+ #"D3DFVF_TEX5",
+ #"D3DFVF_TEX6",
+ #"D3DFVF_TEX7",
+ #"D3DFVF_TEX8",
"D3DFVF_LASTBETA_UBYTE4",
"D3DFVF_LASTBETA_D3DCOLOR",
"D3DFVF_RESERVED2",
- "D3DFVF_TEXCOORDSIZE3(0)",
- "D3DFVF_TEXCOORDSIZE2(0)",
- "D3DFVF_TEXCOORDSIZE4(0)",
- "D3DFVF_TEXCOORDSIZE1(0)",
- "D3DFVF_TEXCOORDSIZE3(1)",
- "D3DFVF_TEXCOORDSIZE2(1)",
- "D3DFVF_TEXCOORDSIZE4(1)",
- "D3DFVF_TEXCOORDSIZE1(1)",
- "D3DFVF_TEXCOORDSIZE3(2)",
- "D3DFVF_TEXCOORDSIZE2(2)",
- "D3DFVF_TEXCOORDSIZE4(2)",
- "D3DFVF_TEXCOORDSIZE1(2)",
- "D3DFVF_TEXCOORDSIZE3(3)",
- "D3DFVF_TEXCOORDSIZE2(3)",
- "D3DFVF_TEXCOORDSIZE4(3)",
- "D3DFVF_TEXCOORDSIZE1(3)",
+ #"D3DFVF_TEXCOORDSIZE3(0)",
+ #"D3DFVF_TEXCOORDSIZE2(0)",
+ #"D3DFVF_TEXCOORDSIZE4(0)",
+ #"D3DFVF_TEXCOORDSIZE1(0)",
+ #"D3DFVF_TEXCOORDSIZE3(1)",
+ #"D3DFVF_TEXCOORDSIZE2(1)",
+ #"D3DFVF_TEXCOORDSIZE4(1)",
+ #"D3DFVF_TEXCOORDSIZE1(1)",
+ #"D3DFVF_TEXCOORDSIZE3(2)",
+ #"D3DFVF_TEXCOORDSIZE2(2)",
+ #"D3DFVF_TEXCOORDSIZE4(2)",
+ #"D3DFVF_TEXCOORDSIZE1(2)",
+ #"D3DFVF_TEXCOORDSIZE3(3)",
+ #"D3DFVF_TEXCOORDSIZE2(3)",
+ #"D3DFVF_TEXCOORDSIZE4(3)",
+ #"D3DFVF_TEXCOORDSIZE1(3)",
])
D3DDECLUSAGE = Enum("D3DDECLUSAGE", [
"D3DSIO_PHASE",
"D3DSIO_COMMENT",
"D3DSIO_END",
- "D3DSIO_FORCE_DWORD",
])
D3DSHADER_COMPARISON = Enum("D3DSHADER_COMPARISON", [
"D3DSTT_2D",
"D3DSTT_CUBE",
"D3DSTT_VOLUME",
- "D3DSTT_FORCE_DWORD",
])
D3DSP = Flags(DWORD, [
"D3DSPR_MISCTYPE",
"D3DSPR_LABEL",
"D3DSPR_PREDICATE",
- "D3DSPR_FORCE_DWORD",
])
D3DSHADER_MISCTYPE_OFFSETS = Enum("D3DSHADER_MISCTYPE_OFFSETS", [
"D3DSRO_POSITION",
"D3DSRO_FOG",
"D3DSRO_POINT_SIZE",
- "D3DSRO_FORCE_DWORD",
])
D3DVS_ADDRESSMODE_TYPE = Enum("D3DVS_ADDRESSMODE_TYPE", [
"D3DVS_ADDRMODE_ABSOLUTE",
"D3DVS_ADDRMODE_RELATIVE",
- "D3DVS_ADDRMODE_FORCE_DWORD",
])
D3DSHADER_ADDRESSMODE_TYPE = Enum("D3DSHADER_ADDRESSMODE_TYPE", [
"D3DSHADER_ADDRMODE_ABSOLUTE",
"D3DSHADER_ADDRMODE_RELATIVE",
- "D3DSHADER_ADDRMODE_FORCE_DWORD",
])
D3DVS = Flags(DWORD, [
"D3DSPSM_ABS",
"D3DSPSM_ABSNEG",
"D3DSPSM_NOT",
- "D3DSPSM_FORCE_DWORD",
])
D3DBASISTYPE = Enum("D3DBASISTYPE", [
"D3DBASIS_BEZIER",
"D3DBASIS_BSPLINE",
"D3DBASIS_CATMULL_ROM",
- "D3DBASIS_FORCE_DWORD",
])
D3DDEGREETYPE = Enum("D3DDEGREETYPE", [
"D3DDEGREE_QUADRATIC",
"D3DDEGREE_CUBIC",
"D3DDEGREE_QUINTIC",
- "D3DDEGREE_FORCE_DWORD",
])
D3DPATCHEDGESTYLE = Enum("D3DPATCHEDGESTYLE", [
"D3DPATCHEDGE_DISCRETE",
"D3DPATCHEDGE_CONTINUOUS",
- "D3DPATCHEDGE_FORCE_DWORD",
])
D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [
"D3DSBT_ALL",
"D3DSBT_PIXELSTATE",
"D3DSBT_VERTEXSTATE",
- "D3DSBT_FORCE_DWORD",
])
D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
"D3DVBF_3WEIGHTS",
"D3DVBF_TWEENING",
"D3DVBF_0WEIGHTS",
- "D3DVBF_FORCE_DWORD",
])
D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
"D3DTTFF_COUNT3",
"D3DTTFF_COUNT4",
"D3DTTFF_PROJECTED",
- "D3DTTFF_FORCE_DWORD",
])
D3DDEVTYPE = Enum("D3DDEVTYPE", [
"D3DDEVTYPE_REF",
"D3DDEVTYPE_SW",
"D3DDEVTYPE_NULLREF",
- "D3DDEVTYPE_FORCE_DWORD",
])
D3DMULTISAMPLE_TYPE = Enum("D3DMULTISAMPLE_TYPE", [
"D3DMULTISAMPLE_14_SAMPLES",
"D3DMULTISAMPLE_15_SAMPLES",
"D3DMULTISAMPLE_16_SAMPLES",
- "D3DMULTISAMPLE_FORCE_DWORD",
])
D3DFORMAT = Enum("D3DFORMAT", [
"D3DFMT_CxV8U8",
"D3DFMT_A1",
"D3DFMT_BINARYBUFFER",
- "D3DFMT_FORCE_DWORD",
+
+ # Unofficial formats
+ "D3DFMT_ATI1",
+ "D3DFMT_ATI2",
+ "D3DFMT_AYUV",
+ "D3DFMT_DF16",
+ "D3DFMT_DF24",
+ "D3DFMT_INTZ",
+ "D3DFMT_NV12",
+ "D3DFMT_NULL",
])
D3DDISPLAYMODE = Struct("D3DDISPLAYMODE", [
"D3DSWAPEFFECT_DISCARD",
"D3DSWAPEFFECT_FLIP",
"D3DSWAPEFFECT_COPY",
- "D3DSWAPEFFECT_FORCE_DWORD",
])
D3DPOOL = Enum("D3DPOOL", [
"D3DPOOL_MANAGED",
"D3DPOOL_SYSTEMMEM",
"D3DPOOL_SCRATCH",
- "D3DPOOL_FORCE_DWORD",
])
D3DPRESENT = Flags(DWORD, [
"D3DBACKBUFFER_TYPE_MONO",
"D3DBACKBUFFER_TYPE_LEFT",
"D3DBACKBUFFER_TYPE_RIGHT",
- "D3DBACKBUFFER_TYPE_FORCE_DWORD",
])
D3DRESOURCETYPE = Enum("D3DRESOURCETYPE", [
"D3DRTYPE_CUBETEXTURE",
"D3DRTYPE_VERTEXBUFFER",
"D3DRTYPE_INDEXBUFFER",
- "D3DRTYPE_FORCE_DWORD",
])
D3DUSAGE = Flags(DWORD, [
"D3DCUBEMAP_FACE_NEGATIVE_Y",
"D3DCUBEMAP_FACE_POSITIVE_Z",
"D3DCUBEMAP_FACE_NEGATIVE_Z",
- "D3DCUBEMAP_FACE_FORCE_DWORD",
])
D3DLOCK = Flags(DWORD, [
D3DLOCKED_RECT = Struct("D3DLOCKED_RECT", [
(INT, "Pitch"),
- (Pointer(Void), "pBits"),
+ (OpaquePointer(Void), "pBits"),
])
D3DBOX = Struct("D3DBOX", [
D3DLOCKED_BOX = Struct("D3DLOCKED_BOX", [
(INT, "RowPitch"),
(INT, "SlicePitch"),
- (Pointer(Void), "pBits"),
+ (OpaquePointer(Void), "pBits"),
])
D3DRANGE = Struct("D3DRANGE", [
])
D3DADAPTER_IDENTIFIER9 = Struct("D3DADAPTER_IDENTIFIER9", [
- (String, "Driver"),
- (String, "Description"),
- (String, "DeviceName"),
+ (CString, "Driver"),
+ (CString, "Description"),
+ (CString, "DeviceName"),
(LARGE_INTEGER, "DriverVersion"),
(DWORD, "VendorId"),
(DWORD, "DeviceId"),
D3DDEBUGMONITORTOKENS = Enum("D3DDEBUGMONITORTOKENS", [
"D3DDMT_ENABLE",
"D3DDMT_DISABLE",
- "D3DDMT_FORCE_DWORD",
])
D3DQUERYTYPE = Enum("D3DQUERYTYPE", [
"D3DCOMPOSERECTS_OR",
"D3DCOMPOSERECTS_AND",
"D3DCOMPOSERECTS_NEG",
- "D3DCOMPOSERECTS_FORCE_DWORD",
])
D3DCOMPOSERECTDESC = Struct("D3DCOMPOSERECTDESC", [