1 ##########################################################################
3 # Copyright 2008-2009 VMware, Inc.
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 ##########################################################################/
31 LPD3DVALUE = Pointer(D3DVALUE)
35 LPD3DVALIDATECALLBACK = Opaque("LPD3DVALIDATECALLBACK")
36 LPD3DENUMTEXTUREFORMATSCALLBACK = Opaque("LPD3DENUMTEXTUREFORMATSCALLBACK")
37 LPD3DENUMPIXELFORMATSCALLBACK = Opaque("LPD3DENUMPIXELFORMATSCALLBACK")
39 D3DCOLOR = Alias("D3DCOLOR", DWORD)
41 D3DVECTOR = Struct("D3DVECTOR", [
46 LPD3DVECTOR = Pointer(D3DVECTOR)
48 D3DCOLORVALUE = Struct("D3DCOLORVALUE", [
54 LPD3DCOLORVALUE = Pointer(D3DCOLORVALUE)
56 D3DRECT = Struct("D3DRECT", [
62 LPD3DRECT = Pointer(D3DRECT)
64 D3DMATERIALHANDLE = DWORD
65 LPD3DMATERIALHANDLE = Pointer(D3DMATERIALHANDLE)
67 D3DTEXTUREHANDLE = DWORD
68 LPD3DTEXTUREHANDLE = Pointer(D3DTEXTUREHANDLE)
70 D3DMATRIXHANDLE = DWORD
71 LPD3DMATRIXHANDLE = Pointer(D3DMATRIXHANDLE)
73 D3DHVERTEX = Struct("D3DHVERTEX", [
79 LPD3DHVERTEX = Pointer(D3DHVERTEX)
81 D3DTLVERTEX = Struct("D3DTLVERTEX", [
87 (D3DCOLOR, "specular"),
91 LPD3DTLVERTEX = Pointer(D3DTLVERTEX)
93 D3DLVERTEX = Struct("D3DLVERTEX", [
97 (DWORD, "dwReserved"),
99 (D3DCOLOR, "specular"),
103 LPD3DLVERTEX = Pointer(D3DLVERTEX)
105 D3DVERTEX = Struct("D3DVERTEX", [
115 LPD3DVERTEX = Pointer(D3DVERTEX)
117 D3DMATRIX = Struct("D3DMATRIX", [
118 (D3DVALUE, "_%u" % index) for index in [
125 LPD3DMATRIX = Alias("LPD3DMATRIX", Pointer(D3DMATRIX))
127 D3DVIEWPORT = Struct("D3DVIEWPORT", [
133 (D3DVALUE, "dvScaleX"),
134 (D3DVALUE, "dvScaleY"),
135 (D3DVALUE, "dvMaxX"),
136 (D3DVALUE, "dvMaxY"),
137 (D3DVALUE, "dvMinZ"),
138 (D3DVALUE, "dvMaxZ"),
140 LPD3DVIEWPORT = Pointer(D3DVIEWPORT)
142 D3DVIEWPORT2 = Struct("D3DVIEWPORT2", [
148 (D3DVALUE, "dvClipX"),
149 (D3DVALUE, "dvClipY"),
150 (D3DVALUE, "dvClipWidth"),
151 (D3DVALUE, "dvClipHeight"),
152 (D3DVALUE, "dvMinZ"),
153 (D3DVALUE, "dvMaxZ"),
155 LPD3DVIEWPORT2 = Pointer(D3DVIEWPORT2)
157 D3DVIEWPORT7 = Struct("D3DVIEWPORT7", [
162 (D3DVALUE, "dvMinZ"),
163 (D3DVALUE, "dvMaxZ"),
165 LPD3DVIEWPORT7 = Pointer(D3DVIEWPORT7)
167 D3DCLIP = Flags(DWORD, [
182 D3DSTATUS = Flags(DWORD, [
184 "D3DSTATUS_CLIPUNIONALL",
185 "D3DSTATUS_CLIPUNIONLEFT",
186 "D3DSTATUS_CLIPUNIONRIGHT",
187 "D3DSTATUS_CLIPUNIONTOP",
188 "D3DSTATUS_CLIPUNIONBOTTOM",
189 "D3DSTATUS_CLIPUNIONFRONT",
190 "D3DSTATUS_CLIPUNIONBACK",
191 "D3DSTATUS_CLIPUNIONGEN0",
192 "D3DSTATUS_CLIPUNIONGEN1",
193 "D3DSTATUS_CLIPUNIONGEN2",
194 "D3DSTATUS_CLIPUNIONGEN3",
195 "D3DSTATUS_CLIPUNIONGEN4",
196 "D3DSTATUS_CLIPUNIONGEN5",
197 "D3DSTATUS_CLIPINTERSECTIONALL",
198 "D3DSTATUS_CLIPINTERSECTIONLEFT",
199 "D3DSTATUS_CLIPINTERSECTIONRIGHT",
200 "D3DSTATUS_CLIPINTERSECTIONTOP",
201 "D3DSTATUS_CLIPINTERSECTIONBOTTOM",
202 "D3DSTATUS_CLIPINTERSECTIONFRONT",
203 "D3DSTATUS_CLIPINTERSECTIONBACK",
204 "D3DSTATUS_CLIPINTERSECTIONGEN0",
205 "D3DSTATUS_CLIPINTERSECTIONGEN1",
206 "D3DSTATUS_CLIPINTERSECTIONGEN2",
207 "D3DSTATUS_CLIPINTERSECTIONGEN3",
208 "D3DSTATUS_CLIPINTERSECTIONGEN4",
209 "D3DSTATUS_CLIPINTERSECTIONGEN5",
210 "D3DSTATUS_ZNOTVISIBLE",
213 D3DTRANSFORM = Flags(DWORD, [
214 "D3DTRANSFORM_CLIPPED",
215 "D3DTRANSFORM_UNCLIPPED",
218 D3DTRANSFORMDATA = Struct("D3DTRANSFORMDATA", [
223 (DWORD, "dwOutSize"),
224 (LPD3DHVERTEX, "lpHOut"),
226 (DWORD, "dwClipIntersection"),
227 (DWORD, "dwClipUnion"),
228 (D3DRECT, "drExtent"),
230 LPD3DTRANSFORMDATA = Pointer(D3DTRANSFORMDATA)
232 D3DLIGHTINGELEMENT = Struct("D3DLIGHTINGELEMENT", [
233 (D3DVECTOR, "dvPosition"),
234 (D3DVECTOR, "dvNormal"),
236 LPD3DLIGHTINGELEMENT = Pointer(D3DLIGHTINGELEMENT)
238 D3DMATERIAL = Struct("D3DMATERIAL", [
240 (D3DCOLORVALUE, "diffuse"),
241 (D3DCOLORVALUE, "ambient"),
242 (D3DCOLORVALUE, "specular"),
243 (D3DCOLORVALUE, "emissive"),
245 (D3DTEXTUREHANDLE, "hTexture"),
246 (DWORD, "dwRampSize"),
248 LPD3DMATERIAL = Pointer(D3DMATERIAL)
250 D3DMATERIAL7 = Struct("D3DMATERIAL7", [
251 (D3DCOLORVALUE, "diffuse"),
252 (D3DCOLORVALUE, "ambient"),
253 (D3DCOLORVALUE, "specular"),
254 (D3DCOLORVALUE, "emissive"),
257 LPD3DMATERIAL7 = Pointer(D3DMATERIAL7)
259 D3DLIGHTTYPE = Enum("D3DLIGHTTYPE", [
262 "D3DLIGHT_DIRECTIONAL",
263 "D3DLIGHT_PARALLELPOINT",
267 D3DLIGHT = Struct("D3DLIGHT", [
269 (D3DLIGHTTYPE, "dltType"),
270 (D3DCOLORVALUE, "dcvColor"),
271 (D3DVECTOR, "dvPosition"),
272 (D3DVECTOR, "dvDirection"),
273 (D3DVALUE, "dvRange"),
274 (D3DVALUE, "dvFalloff"),
275 (D3DVALUE, "dvAttenuation0"),
276 (D3DVALUE, "dvAttenuation1"),
277 (D3DVALUE, "dvAttenuation2"),
278 (D3DVALUE, "dvTheta"),
281 LPD3DLIGHT = Pointer(D3DLIGHT)
283 D3DLIGHT7 = Struct("D3DLIGHT7", [
284 (D3DLIGHTTYPE, "dltType"),
285 (D3DCOLORVALUE, "dcvDiffuse"),
286 (D3DCOLORVALUE, "dcvSpecular"),
287 (D3DCOLORVALUE, "dcvAmbient"),
288 (D3DVECTOR, "dvPosition"),
289 (D3DVECTOR, "dvDirection"),
290 (D3DVALUE, "dvRange"),
291 (D3DVALUE, "dvFalloff"),
292 (D3DVALUE, "dvAttenuation0"),
293 (D3DVALUE, "dvAttenuation1"),
294 (D3DVALUE, "dvAttenuation2"),
295 (D3DVALUE, "dvTheta"),
298 LPD3DLIGHT7 = Pointer(D3DLIGHT7)
300 D3DLIGHTFLAGS = Flags(DWORD, [
302 "D3DLIGHT_NO_SPECULAR",
306 D3DLIGHT2 = Struct("D3DLIGHT2", [
308 (D3DLIGHTTYPE, "dltType"),
309 (D3DCOLORVALUE, "dcvColor"),
310 (D3DVECTOR, "dvPosition"),
311 (D3DVECTOR, "dvDirection"),
312 (D3DVALUE, "dvRange"),
313 (D3DVALUE, "dvFalloff"),
314 (D3DVALUE, "dvAttenuation0"),
315 (D3DVALUE, "dvAttenuation1"),
316 (D3DVALUE, "dvAttenuation2"),
317 (D3DVALUE, "dvTheta"),
321 LPD3DLIGHT2 = Pointer(D3DLIGHT2)
323 D3DLIGHTDATA = Struct("D3DLIGHTDATA", [
325 (LPD3DLIGHTINGELEMENT, "lpIn"),
327 (LPD3DTLVERTEX, "lpOut"),
328 (DWORD, "dwOutSize"),
330 LPD3DLIGHTDATA = Pointer(D3DLIGHTDATA)
332 D3DCOLOR = Flags(DWORD, [
337 D3DCOLORMODEL = DWORD
339 D3DCLEAR = Flags(DWORD, [
345 D3DOPCODE = Enum("D3DOPCODE", [
350 "D3DOP_MATRIXMULTIPLY",
351 "D3DOP_STATETRANSFORM",
354 "D3DOP_PROCESSVERTICES",
357 "D3DOP_BRANCHFORWARD",
362 D3DINSTRUCTION = Struct("D3DINSTRUCTION", [
368 D3DTEXTURELOAD = Struct("D3DTEXTURELOAD", [
369 (D3DTEXTUREHANDLE, "hDestTexture"),
370 (D3DTEXTUREHANDLE, "hSrcTexture"),
373 D3DPICKRECORD = Struct("D3DPICKRECORD", [
379 LPD3DPICKRECORD = Pointer(D3DPICKRECORD)
381 D3DSHADEMODE = Enum("D3DSHADEMODE", [
387 D3DFILLMODE = Enum("D3DFILLMODE", [
393 D3DLINEPATTERN = Struct("D3DLINEPATTERN", [
394 (WORD, "wRepeatFactor"),
395 (WORD, "wLinePattern"),
398 D3DTEXTUREFILTER = Enum("D3DTEXTUREFILTER", [
401 "D3DFILTER_MIPNEAREST",
402 "D3DFILTER_MIPLINEAR",
403 "D3DFILTER_LINEARMIPNEAREST",
404 "D3DFILTER_LINEARMIPLINEAR",
407 D3DBLEND = Enum("D3DBLEND", [
411 "D3DBLEND_INVSRCCOLOR",
413 "D3DBLEND_INVSRCALPHA",
414 "D3DBLEND_DESTALPHA",
415 "D3DBLEND_INVDESTALPHA",
416 "D3DBLEND_DESTCOLOR",
417 "D3DBLEND_INVDESTCOLOR",
418 "D3DBLEND_SRCALPHASAT",
419 "D3DBLEND_BOTHSRCALPHA",
420 "D3DBLEND_BOTHINVSRCALPHA",
423 D3DTEXTUREBLEND = Enum("D3DTEXTUREBLEND", [
425 "D3DTBLEND_MODULATE",
426 "D3DTBLEND_DECALALPHA",
427 "D3DTBLEND_MODULATEALPHA",
428 "D3DTBLEND_DECALMASK",
429 "D3DTBLEND_MODULATEMASK",
434 D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [
436 "D3DTADDRESS_MIRROR",
438 "D3DTADDRESS_BORDER",
441 D3DCULL = Enum("D3DCULL", [
447 D3DCMPFUNC = Enum("D3DCMPFUNC", [
454 "D3DCMP_GREATEREQUAL",
458 D3DSTENCILOP = Enum("D3DSTENCILOP", [
461 "D3DSTENCILOP_REPLACE",
462 "D3DSTENCILOP_INCRSAT",
463 "D3DSTENCILOP_DECRSAT",
464 "D3DSTENCILOP_INVERT",
469 D3DFOGMODE = Enum("D3DFOGMODE", [
476 D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [
482 D3DANTIALIASMODE = Enum("D3DANTIALIASMODE", [
484 "D3DANTIALIAS_SORTDEPENDENT",
485 "D3DANTIALIAS_SORTINDEPENDENT",
488 D3DVERTEXTYPE = Enum("D3DVERTEXTYPE", [
494 D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [
498 "D3DPT_TRIANGLELIST",
499 "D3DPT_TRIANGLESTRIP",
503 D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [
504 "D3DTRANSFORMSTATE_WORLD",
505 "D3DTRANSFORMSTATE_VIEW",
506 "D3DTRANSFORMSTATE_PROJECTION",
507 "D3DTRANSFORMSTATE_WORLD1",
508 "D3DTRANSFORMSTATE_WORLD2",
509 "D3DTRANSFORMSTATE_WORLD3",
510 "D3DTRANSFORMSTATE_TEXTURE0",
511 "D3DTRANSFORMSTATE_TEXTURE1",
512 "D3DTRANSFORMSTATE_TEXTURE2",
513 "D3DTRANSFORMSTATE_TEXTURE3",
514 "D3DTRANSFORMSTATE_TEXTURE4",
515 "D3DTRANSFORMSTATE_TEXTURE5",
516 "D3DTRANSFORMSTATE_TEXTURE6",
517 "D3DTRANSFORMSTATE_TEXTURE7",
520 D3DLIGHTSTATETYPE = Enum("D3DLIGHTSTATETYPE", [
521 "D3DLIGHTSTATE_MATERIAL",
522 "D3DLIGHTSTATE_AMBIENT",
523 "D3DLIGHTSTATE_COLORMODEL",
524 "D3DLIGHTSTATE_FOGMODE",
525 "D3DLIGHTSTATE_FOGSTART",
526 "D3DLIGHTSTATE_FOGEND",
527 "D3DLIGHTSTATE_FOGDENSITY",
528 "D3DLIGHTSTATE_COLORVERTEX",
531 D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [
537 D3DWRAPCOORD = Flags(DWORD, [
544 D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [
545 "D3DRENDERSTATE_ANTIALIAS",
546 "D3DRENDERSTATE_TEXTUREPERSPECTIVE",
547 "D3DRENDERSTATE_ZENABLE",
548 "D3DRENDERSTATE_FILLMODE",
549 "D3DRENDERSTATE_SHADEMODE",
550 "D3DRENDERSTATE_LINEPATTERN",
551 "D3DRENDERSTATE_ZWRITEENABLE",
552 "D3DRENDERSTATE_ALPHATESTENABLE",
553 "D3DRENDERSTATE_LASTPIXEL",
554 "D3DRENDERSTATE_SRCBLEND",
555 "D3DRENDERSTATE_DESTBLEND",
556 "D3DRENDERSTATE_CULLMODE",
557 "D3DRENDERSTATE_ZFUNC",
558 "D3DRENDERSTATE_ALPHAREF",
559 "D3DRENDERSTATE_ALPHAFUNC",
560 "D3DRENDERSTATE_DITHERENABLE",
561 "D3DRENDERSTATE_ALPHABLENDENABLE",
562 "D3DRENDERSTATE_FOGENABLE",
563 "D3DRENDERSTATE_SPECULARENABLE",
564 "D3DRENDERSTATE_ZVISIBLE",
565 "D3DRENDERSTATE_STIPPLEDALPHA",
566 "D3DRENDERSTATE_FOGCOLOR",
567 "D3DRENDERSTATE_FOGTABLEMODE",
568 "D3DRENDERSTATE_FOGSTART",
569 "D3DRENDERSTATE_FOGEND",
570 "D3DRENDERSTATE_FOGDENSITY",
571 "D3DRENDERSTATE_EDGEANTIALIAS",
572 "D3DRENDERSTATE_COLORKEYENABLE",
573 "D3DRENDERSTATE_ZBIAS",
574 "D3DRENDERSTATE_RANGEFOGENABLE",
575 "D3DRENDERSTATE_STENCILENABLE",
576 "D3DRENDERSTATE_STENCILFAIL",
577 "D3DRENDERSTATE_STENCILZFAIL",
578 "D3DRENDERSTATE_STENCILPASS",
579 "D3DRENDERSTATE_STENCILFUNC",
580 "D3DRENDERSTATE_STENCILREF",
581 "D3DRENDERSTATE_STENCILMASK",
582 "D3DRENDERSTATE_STENCILWRITEMASK",
583 "D3DRENDERSTATE_TEXTUREFACTOR",
584 "D3DRENDERSTATE_WRAP0",
585 "D3DRENDERSTATE_WRAP1",
586 "D3DRENDERSTATE_WRAP2",
587 "D3DRENDERSTATE_WRAP3",
588 "D3DRENDERSTATE_WRAP4",
589 "D3DRENDERSTATE_WRAP5",
590 "D3DRENDERSTATE_WRAP6",
591 "D3DRENDERSTATE_WRAP7",
592 "D3DRENDERSTATE_CLIPPING",
593 "D3DRENDERSTATE_LIGHTING",
594 "D3DRENDERSTATE_EXTENTS",
595 "D3DRENDERSTATE_AMBIENT",
596 "D3DRENDERSTATE_FOGVERTEXMODE",
597 "D3DRENDERSTATE_COLORVERTEX",
598 "D3DRENDERSTATE_LOCALVIEWER",
599 "D3DRENDERSTATE_NORMALIZENORMALS",
600 "D3DRENDERSTATE_COLORKEYBLENDENABLE",
601 "D3DRENDERSTATE_DIFFUSEMATERIALSOURCE",
602 "D3DRENDERSTATE_SPECULARMATERIALSOURCE",
603 "D3DRENDERSTATE_AMBIENTMATERIALSOURCE",
604 "D3DRENDERSTATE_EMISSIVEMATERIALSOURCE",
605 "D3DRENDERSTATE_VERTEXBLEND",
606 "D3DRENDERSTATE_CLIPPLANEENABLE",
607 "D3DRENDERSTATE_TEXTUREHANDLE",
608 "D3DRENDERSTATE_TEXTUREADDRESS",
609 "D3DRENDERSTATE_WRAPU",
610 "D3DRENDERSTATE_WRAPV",
611 "D3DRENDERSTATE_MONOENABLE",
612 "D3DRENDERSTATE_ROP2",
613 "D3DRENDERSTATE_PLANEMASK",
614 "D3DRENDERSTATE_TEXTUREMAG",
615 "D3DRENDERSTATE_TEXTUREMIN",
616 "D3DRENDERSTATE_TEXTUREMAPBLEND",
617 "D3DRENDERSTATE_SUBPIXEL",
618 "D3DRENDERSTATE_SUBPIXELX",
619 "D3DRENDERSTATE_STIPPLEENABLE",
620 "D3DRENDERSTATE_BORDERCOLOR",
621 "D3DRENDERSTATE_TEXTUREADDRESSU",
622 "D3DRENDERSTATE_TEXTUREADDRESSV",
623 "D3DRENDERSTATE_MIPMAPLODBIAS",
624 "D3DRENDERSTATE_ANISOTROPY",
625 "D3DRENDERSTATE_FLUSHBATCH",
626 "D3DRENDERSTATE_TRANSLUCENTSORTINDEPENDENT",
627 "D3DRENDERSTATE_STIPPLEPATTERN00",
628 "D3DRENDERSTATE_STIPPLEPATTERN01",
629 "D3DRENDERSTATE_STIPPLEPATTERN02",
630 "D3DRENDERSTATE_STIPPLEPATTERN03",
631 "D3DRENDERSTATE_STIPPLEPATTERN04",
632 "D3DRENDERSTATE_STIPPLEPATTERN05",
633 "D3DRENDERSTATE_STIPPLEPATTERN06",
634 "D3DRENDERSTATE_STIPPLEPATTERN07",
635 "D3DRENDERSTATE_STIPPLEPATTERN08",
636 "D3DRENDERSTATE_STIPPLEPATTERN09",
637 "D3DRENDERSTATE_STIPPLEPATTERN10",
638 "D3DRENDERSTATE_STIPPLEPATTERN11",
639 "D3DRENDERSTATE_STIPPLEPATTERN12",
640 "D3DRENDERSTATE_STIPPLEPATTERN13",
641 "D3DRENDERSTATE_STIPPLEPATTERN14",
642 "D3DRENDERSTATE_STIPPLEPATTERN15",
643 "D3DRENDERSTATE_STIPPLEPATTERN16",
644 "D3DRENDERSTATE_STIPPLEPATTERN17",
645 "D3DRENDERSTATE_STIPPLEPATTERN18",
646 "D3DRENDERSTATE_STIPPLEPATTERN19",
647 "D3DRENDERSTATE_STIPPLEPATTERN20",
648 "D3DRENDERSTATE_STIPPLEPATTERN21",
649 "D3DRENDERSTATE_STIPPLEPATTERN22",
650 "D3DRENDERSTATE_STIPPLEPATTERN23",
651 "D3DRENDERSTATE_STIPPLEPATTERN24",
652 "D3DRENDERSTATE_STIPPLEPATTERN25",
653 "D3DRENDERSTATE_STIPPLEPATTERN26",
654 "D3DRENDERSTATE_STIPPLEPATTERN27",
655 "D3DRENDERSTATE_STIPPLEPATTERN28",
656 "D3DRENDERSTATE_STIPPLEPATTERN29",
657 "D3DRENDERSTATE_STIPPLEPATTERN30",
658 "D3DRENDERSTATE_STIPPLEPATTERN31",
661 D3DSTATE = Struct("D3DSTATE", [
662 (D3DTRANSFORMSTATETYPE, "dtstTransformStateType"),
663 (D3DLIGHTSTATETYPE, "dlstLightStateType"),
664 (D3DRENDERSTATETYPE, "drstRenderStateType"),
665 (Array(DWORD, 1), "dwArg"),
666 (Array(D3DVALUE, 1), "dvArg"),
669 D3DMATRIXLOAD = Struct("D3DMATRIXLOAD", [
670 (D3DMATRIXHANDLE, "hDestMatrix"),
671 (D3DMATRIXHANDLE, "hSrcMatrix"),
674 D3DMATRIXMULTIPLY = Struct("D3DMATRIXMULTIPLY", [
675 (D3DMATRIXHANDLE, "hDestMatrix"),
676 (D3DMATRIXHANDLE, "hSrcMatrix1"),
677 (D3DMATRIXHANDLE, "hSrcMatrix2"),
680 D3DPROCESSVERTICES = Struct("D3DPROCESSVERTICES", [
685 (DWORD, "dwReserved"),
688 D3DPROCESSVERTICES = Flags(DWORD, [
689 "D3DPROCESSVERTICES_TRANSFORMLIGHT",
690 "D3DPROCESSVERTICES_TRANSFORM",
691 "D3DPROCESSVERTICES_COPY",
692 "D3DPROCESSVERTICES_OPMASK",
693 "D3DPROCESSVERTICES_UPDATEEXTENTS",
694 "D3DPROCESSVERTICES_NOCOLOR",
697 D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [
704 "D3DTSS_BUMPENVMAT00",
705 "D3DTSS_BUMPENVMAT01",
706 "D3DTSS_BUMPENVMAT10",
707 "D3DTSS_BUMPENVMAT11",
708 "D3DTSS_TEXCOORDINDEX",
712 "D3DTSS_BORDERCOLOR",
716 "D3DTSS_MIPMAPLODBIAS",
717 "D3DTSS_MAXMIPLEVEL",
718 "D3DTSS_MAXANISOTROPY",
719 "D3DTSS_BUMPENVLSCALE",
720 "D3DTSS_BUMPENVLOFFSET",
721 "D3DTSS_TEXTURETRANSFORMFLAGS",
724 D3DTSS_TCI = Flags(DWORD, [
725 "D3DTSS_TCI_PASSTHRU",
726 "D3DTSS_TCI_CAMERASPACENORMAL",
727 "D3DTSS_TCI_CAMERASPACEPOSITION",
728 "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR",
731 D3DTEXTUREOP = Enum("D3DTEXTUREOP", [
740 "D3DTOP_ADDSIGNED2X",
743 "D3DTOP_BLENDDIFFUSEALPHA",
744 "D3DTOP_BLENDTEXTUREALPHA",
745 "D3DTOP_BLENDFACTORALPHA",
746 "D3DTOP_BLENDTEXTUREALPHAPM",
747 "D3DTOP_BLENDCURRENTALPHA",
748 "D3DTOP_PREMODULATE",
749 "D3DTOP_MODULATEALPHA_ADDCOLOR",
750 "D3DTOP_MODULATECOLOR_ADDALPHA",
751 "D3DTOP_MODULATEINVALPHA_ADDCOLOR",
752 "D3DTOP_MODULATEINVCOLOR_ADDALPHA",
754 "D3DTOP_BUMPENVMAPLUMINANCE",
755 "D3DTOP_DOTPRODUCT3",
758 # XXX: Actually a mixture of enums and flags
759 D3DTA = FakeEnum(DWORD, [
766 #"D3DTA_ALPHAREPLICATE",
769 D3DTEXTUREMAGFILTER = Enum("D3DTEXTUREMAGFILTER", [
773 "D3DTFG_GAUSSIANCUBIC",
774 "D3DTFG_ANISOTROPIC",
777 D3DTEXTUREMINFILTER = Enum("D3DTEXTUREMINFILTER", [
780 "D3DTFN_ANISOTROPIC",
783 D3DTEXTUREMIPFILTER = Enum("D3DTEXTUREMIPFILTER", [
789 D3DTRIFLAG = Flags(DWORD, [
791 "D3DTRIFLAG_STARTFLAT(len)",
794 "D3DTRIFLAG_EDGEENABLETRIANGLE",
795 "D3DTRIFLAG_EDGEENABLE1",
796 "D3DTRIFLAG_EDGEENABLE2",
797 "D3DTRIFLAG_EDGEENABLE3",
800 D3DTRIANGLE = Struct("D3DTRIANGLE", [
807 D3DLINE = Struct("D3DLINE", [
812 D3DSPAN = Struct("D3DSPAN", [
817 D3DPOINT = Struct("D3DPOINT", [
822 D3DBRANCH = Struct("D3DBRANCH", [
829 D3DSTATUS = Struct("D3DSTATUS", [
832 (D3DRECT, "drExtent"),
835 D3DSETSTATUS = Flags(DWORD, [
836 "D3DSETSTATUS_STATUS",
837 "D3DSETSTATUS_EXTENTS",
841 D3DCLIPSTATUS = Struct("D3DCLIPSTATUS", [
851 LPD3DCLIPSTATUS = Pointer(D3DCLIPSTATUS)
853 D3DCLIPSTATUS = Flags(DWORD, [
854 "D3DCLIPSTATUS_STATUS",
855 "D3DCLIPSTATUS_EXTENTS2",
856 "D3DCLIPSTATUS_EXTENTS3",
859 D3DSTATS = Struct("D3DSTATS", [
861 (DWORD, "dwTrianglesDrawn"),
862 (DWORD, "dwLinesDrawn"),
863 (DWORD, "dwPointsDrawn"),
864 (DWORD, "dwSpansDrawn"),
865 (DWORD, "dwVerticesProcessed"),
867 LPD3DSTATS = Pointer(D3DSTATS)
869 D3DEXECUTE = Flags(DWORD, [
870 "D3DEXECUTE_CLIPPED",
871 "D3DEXECUTE_UNCLIPPED",
874 D3DEXECUTEDATA = Struct("D3DEXECUTEDATA", [
876 (DWORD, "dwVertexOffset"),
877 (DWORD, "dwVertexCount"),
878 (DWORD, "dwInstructionOffset"),
879 (DWORD, "dwInstructionLength"),
880 (DWORD, "dwHVertexOffset"),
881 (D3DSTATUS, "dsStatus"),
883 LPD3DEXECUTEDATA = Pointer(D3DEXECUTEDATA)
885 D3DPAL = Flags(DWORD, [
891 D3DVERTEXBUFFERDESC = Struct("D3DVERTEXBUFFERDESC", [
895 (DWORD, "dwNumVertices"),
897 LPD3DVERTEXBUFFERDESC = Pointer(D3DVERTEXBUFFERDESC)
899 D3DVBCAPS = Flags(DWORD, [
900 "D3DVBCAPS_SYSTEMMEMORY",
901 "D3DVBCAPS_WRITEONLY",
902 "D3DVBCAPS_OPTIMIZED",
903 "D3DVBCAPS_DONOTCLIP",
906 D3DVOP = Flags(DWORD, [
913 D3DPV = Flags(DWORD, [
914 "D3DPV_DONOTCOPYDATA",
917 D3DFVF = Flags(DWORD, [
940 #"D3DFVF_TEXCOORDSIZE1(0)",
941 #"D3DFVF_TEXCOORDSIZE2(0)",
942 #"D3DFVF_TEXCOORDSIZE3(0)",
943 #"D3DFVF_TEXCOORDSIZE4(0)",
944 #"D3DFVF_TEXCOORDSIZE1(1)",
945 #"D3DFVF_TEXCOORDSIZE2(1)",
946 #"D3DFVF_TEXCOORDSIZE3(1)",
947 #"D3DFVF_TEXCOORDSIZE4(1)",
948 #"D3DFVF_TEXCOORDSIZE1(2)",
949 #"D3DFVF_TEXCOORDSIZE2(2)",
950 #"D3DFVF_TEXCOORDSIZE3(2)",
951 #"D3DFVF_TEXCOORDSIZE4(2)",
952 #"D3DFVF_TEXCOORDSIZE1(3)",
953 #"D3DFVF_TEXCOORDSIZE2(3)",
954 #"D3DFVF_TEXCOORDSIZE3(3)",
955 #"D3DFVF_TEXCOORDSIZE4(3)",
958 D3DDP_PTRSTRIDE = Struct("D3DDP_PTRSTRIDE", [
963 D3DDRAWPRIMITIVESTRIDEDDATA = Struct("D3DDRAWPRIMITIVESTRIDEDDATA", [
964 (D3DDP_PTRSTRIDE, "position"),
965 (D3DDP_PTRSTRIDE, "normal"),
966 (D3DDP_PTRSTRIDE, "diffuse"),
967 (D3DDP_PTRSTRIDE, "specular"),
968 (Array(D3DDP_PTRSTRIDE, "D3DDP_MAXTEXCOORD"), "textureCoords"),
970 LPD3DDRAWPRIMITIVESTRIDEDDATA = Pointer(D3DDRAWPRIMITIVESTRIDEDDATA)
972 D3DVIS = Flags(DWORD, [
973 "D3DVIS_INSIDE_FRUSTUM",
974 "D3DVIS_INTERSECT_FRUSTUM",
975 "D3DVIS_OUTSIDE_FRUSTUM",
976 "D3DVIS_INSIDE_LEFT",
977 "D3DVIS_INTERSECT_LEFT",
978 "D3DVIS_OUTSIDE_LEFT",
979 "D3DVIS_INSIDE_RIGHT",
980 "D3DVIS_INTERSECT_RIGHT",
981 "D3DVIS_OUTSIDE_RIGHT",
983 "D3DVIS_INTERSECT_TOP",
984 "D3DVIS_OUTSIDE_TOP",
985 "D3DVIS_INSIDE_BOTTOM",
986 "D3DVIS_INTERSECT_BOTTOM",
987 "D3DVIS_OUTSIDE_BOTTOM",
988 "D3DVIS_INSIDE_NEAR",
989 "D3DVIS_INTERSECT_NEAR",
990 "D3DVIS_OUTSIDE_NEAR",
992 "D3DVIS_INTERSECT_FAR",
993 "D3DVIS_OUTSIDE_FAR",
994 "D3DVIS_MASK_FRUSTUM",
998 "D3DVIS_MASK_BOTTOM",
1003 D3DDEVINFOID = Flags(DWORD, [
1004 "D3DDEVINFOID_TEXTUREMANAGER",
1005 "D3DDEVINFOID_D3DTEXTUREMANAGER",
1006 "D3DDEVINFOID_TEXTURING",
1009 D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [
1011 "D3DSBT_PIXELSTATE",
1012 "D3DSBT_VERTEXSTATE",
1015 D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
1016 "D3DVBLEND_DISABLE",
1017 "D3DVBLEND_1WEIGHT",
1018 "D3DVBLEND_2WEIGHTS",
1019 "D3DVBLEND_3WEIGHTS",
1022 D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
1028 "D3DTTFF_PROJECTED",