José Fonseca | 7ad4026 | 2009-09-30 17:17:12 +0100 | [diff] [blame] | 1 | ########################################################################## |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 2 | # |
José Fonseca | 7ad4026 | 2009-09-30 17:17:12 +0100 | [diff] [blame] | 3 | # Copyright 2008-2009 VMware, Inc. |
| 4 | # All Rights Reserved. |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 5 | # |
José Fonseca | 7ad4026 | 2009-09-30 17:17:12 +0100 | [diff] [blame] | 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: |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 12 | # |
José Fonseca | 7ad4026 | 2009-09-30 17:17:12 +0100 | [diff] [blame] | 13 | # The above copyright notice and this permission notice shall be included in |
| 14 | # all copies or substantial portions of the Software. |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 15 | # |
José Fonseca | 7ad4026 | 2009-09-30 17:17:12 +0100 | [diff] [blame] | 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 |
| 22 | # THE SOFTWARE. |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 23 | # |
José Fonseca | 7ad4026 | 2009-09-30 17:17:12 +0100 | [diff] [blame] | 24 | ##########################################################################/ |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 25 | |
| 26 | """d3d.h""" |
| 27 | |
Piotr Podsiadły | 0b8b019 | 2019-01-03 20:39:55 +0100 | [diff] [blame] | 28 | from .winapi import * |
| 29 | from .ddraw import * |
| 30 | from .d3dtypes import * |
| 31 | from .d3dcaps import * |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 32 | |
José Fonseca | bb4421f | 2011-05-26 08:21:37 +0100 | [diff] [blame] | 33 | d3dnextFlags = Flags(DWORD, [ |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 34 | "D3DNEXT_NEXT", |
| 35 | "D3DNEXT_HEAD", |
| 36 | "D3DNEXT_TAIL", |
| 37 | ]) |
| 38 | |
José Fonseca | bb4421f | 2011-05-26 08:21:37 +0100 | [diff] [blame] | 39 | direct3dFlags = Flags(DWORD, [ |
| 40 | "DIRECT3D_VERSION", |
| 41 | ]) |
| 42 | |
| 43 | d3ddpFlags = Flags(DWORD, [ |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 44 | "D3DDP_WAIT", |
| 45 | "D3DDP_OUTOFORDER", |
| 46 | "D3DDP_DONOTCLIP", |
| 47 | "D3DDP_DONOTUPDATEEXTENTS", |
| 48 | "D3DDP_DONOTLIGHT", |
| 49 | ]) |
| 50 | |
José Fonseca | 73841ad | 2012-04-16 20:47:56 +0100 | [diff] [blame] | 51 | HRESULT = MAKE_HRESULT(ok = "D3D_OK", errors = [ |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 52 | "D3DERR_BADMAJORVERSION", |
| 53 | "D3DERR_BADMINORVERSION", |
| 54 | "D3DERR_INVALID_DEVICE", |
| 55 | "D3DERR_INITFAILED", |
| 56 | "D3DERR_DEVICEAGGREGATED", |
| 57 | "D3DERR_EXECUTE_CREATE_FAILED", |
| 58 | "D3DERR_EXECUTE_DESTROY_FAILED", |
| 59 | "D3DERR_EXECUTE_LOCK_FAILED", |
| 60 | "D3DERR_EXECUTE_UNLOCK_FAILED", |
| 61 | "D3DERR_EXECUTE_LOCKED", |
| 62 | "D3DERR_EXECUTE_NOT_LOCKED", |
| 63 | "D3DERR_EXECUTE_FAILED", |
| 64 | "D3DERR_EXECUTE_CLIPPED_FAILED", |
| 65 | "D3DERR_TEXTURE_NO_SUPPORT", |
| 66 | "D3DERR_TEXTURE_CREATE_FAILED", |
| 67 | "D3DERR_TEXTURE_DESTROY_FAILED", |
| 68 | "D3DERR_TEXTURE_LOCK_FAILED", |
| 69 | "D3DERR_TEXTURE_UNLOCK_FAILED", |
| 70 | "D3DERR_TEXTURE_LOAD_FAILED", |
| 71 | "D3DERR_TEXTURE_SWAP_FAILED", |
| 72 | "D3DERR_TEXTURE_LOCKED", |
| 73 | "D3DERR_TEXTURE_NOT_LOCKED", |
| 74 | "D3DERR_TEXTURE_GETSURF_FAILED", |
| 75 | "D3DERR_MATRIX_CREATE_FAILED", |
| 76 | "D3DERR_MATRIX_DESTROY_FAILED", |
| 77 | "D3DERR_MATRIX_SETDATA_FAILED", |
| 78 | "D3DERR_MATRIX_GETDATA_FAILED", |
| 79 | "D3DERR_SETVIEWPORTDATA_FAILED", |
| 80 | "D3DERR_INVALIDCURRENTVIEWPORT", |
| 81 | "D3DERR_INVALIDPRIMITIVETYPE", |
| 82 | "D3DERR_INVALIDVERTEXTYPE", |
| 83 | "D3DERR_TEXTURE_BADSIZE", |
| 84 | "D3DERR_INVALIDRAMPTEXTURE", |
| 85 | "D3DERR_MATERIAL_CREATE_FAILED", |
| 86 | "D3DERR_MATERIAL_DESTROY_FAILED", |
| 87 | "D3DERR_MATERIAL_SETDATA_FAILED", |
| 88 | "D3DERR_MATERIAL_GETDATA_FAILED", |
| 89 | "D3DERR_INVALIDPALETTE", |
| 90 | "D3DERR_ZBUFF_NEEDS_SYSTEMMEMORY", |
| 91 | "D3DERR_ZBUFF_NEEDS_VIDEOMEMORY", |
| 92 | "D3DERR_SURFACENOTINVIDMEM", |
| 93 | "D3DERR_LIGHT_SET_FAILED", |
| 94 | "D3DERR_LIGHTHASVIEWPORT", |
| 95 | "D3DERR_LIGHTNOTINTHISVIEWPORT", |
| 96 | "D3DERR_SCENE_IN_SCENE", |
| 97 | "D3DERR_SCENE_NOT_IN_SCENE", |
| 98 | "D3DERR_SCENE_BEGIN_FAILED", |
| 99 | "D3DERR_SCENE_END_FAILED", |
| 100 | "D3DERR_INBEGIN", |
| 101 | "D3DERR_NOTINBEGIN", |
| 102 | "D3DERR_NOVIEWPORTS", |
| 103 | "D3DERR_VIEWPORTDATANOTSET", |
| 104 | "D3DERR_VIEWPORTHASNODEVICE", |
| 105 | "D3DERR_NOCURRENTVIEWPORT", |
| 106 | "D3DERR_INVALIDVERTEXFORMAT", |
| 107 | "D3DERR_COLORKEYATTACHED", |
| 108 | "D3DERR_VERTEXBUFFEROPTIMIZED", |
| 109 | "D3DERR_VBUF_CREATE_FAILED", |
| 110 | "D3DERR_VERTEXBUFFERLOCKED", |
| 111 | "D3DERR_VERTEXBUFFERUNLOCKFAILED", |
| 112 | "D3DERR_ZBUFFER_NOTPRESENT", |
| 113 | "D3DERR_STENCILBUFFER_NOTPRESENT", |
| 114 | "D3DERR_WRONGTEXTUREFORMAT", |
| 115 | "D3DERR_UNSUPPORTEDCOLOROPERATION", |
| 116 | "D3DERR_UNSUPPORTEDCOLORARG", |
| 117 | "D3DERR_UNSUPPORTEDALPHAOPERATION", |
| 118 | "D3DERR_UNSUPPORTEDALPHAARG", |
| 119 | "D3DERR_TOOMANYOPERATIONS", |
| 120 | "D3DERR_CONFLICTINGTEXTUREFILTER", |
| 121 | "D3DERR_UNSUPPORTEDFACTORVALUE", |
| 122 | "D3DERR_CONFLICTINGRENDERSTATE", |
| 123 | "D3DERR_UNSUPPORTEDTEXTUREFILTER", |
| 124 | "D3DERR_TOOMANYPRIMITIVES", |
| 125 | "D3DERR_INVALIDMATRIX", |
| 126 | "D3DERR_TOOMANYVERTICES", |
| 127 | "D3DERR_CONFLICTINGTEXTUREPALETTE", |
| 128 | "D3DERR_INVALIDSTATEBLOCK", |
| 129 | "D3DERR_INBEGINSTATEBLOCK", |
| 130 | "D3DERR_NOTINBEGINSTATEBLOCK", |
| 131 | ]) |
| 132 | |
| 133 | IDirect3D = Interface("IDirect3D", IUnknown) |
| 134 | IDirect3D2 = Interface("IDirect3D2", IUnknown) |
| 135 | IDirect3D3 = Interface("IDirect3D3", IUnknown) |
| 136 | IDirect3D7 = Interface("IDirect3D7", IUnknown) |
| 137 | IDirect3DDevice = Interface("IDirect3DDevice", IUnknown) |
| 138 | IDirect3DDevice2 = Interface("IDirect3DDevice2", IUnknown) |
| 139 | IDirect3DDevice3 = Interface("IDirect3DDevice3", IUnknown) |
| 140 | IDirect3DDevice7 = Interface("IDirect3DDevice7", IUnknown) |
| 141 | IDirect3DExecuteBuffer = Interface("IDirect3DExecuteBuffer", IUnknown) |
| 142 | IDirect3DLight = Interface("IDirect3DLight", IUnknown) |
| 143 | IDirect3DMaterial = Interface("IDirect3DMaterial", IUnknown) |
| 144 | IDirect3DMaterial2 = Interface("IDirect3DMaterial2", IUnknown) |
| 145 | IDirect3DMaterial3 = Interface("IDirect3DMaterial3", IUnknown) |
| 146 | IDirect3DTexture = Interface("IDirect3DTexture", IUnknown) |
| 147 | IDirect3DTexture2 = Interface("IDirect3DTexture2", IUnknown) |
| 148 | IDirect3DViewport = Interface("IDirect3DViewport", IUnknown) |
| 149 | IDirect3DViewport2 = Interface("IDirect3DViewport2", IDirect3DViewport) |
| 150 | IDirect3DViewport3 = Interface("IDirect3DViewport3", IDirect3DViewport2) |
| 151 | IDirect3DVertexBuffer = Interface("IDirect3DVertexBuffer", IUnknown) |
| 152 | IDirect3DVertexBuffer7 = Interface("IDirect3DVertexBuffer7", IUnknown) |
| 153 | |
José Fonseca | 9782b29 | 2012-04-14 22:02:42 +0100 | [diff] [blame] | 154 | LPUNKNOWN = ObjPointer(IUnknown) |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 155 | |
José Fonseca | 9782b29 | 2012-04-14 22:02:42 +0100 | [diff] [blame] | 156 | LPDIRECT3D = ObjPointer(IDirect3D) |
| 157 | LPDIRECT3DDEVICE = ObjPointer(IDirect3DDevice) |
| 158 | LPDIRECT3DEXECUTEBUFFER = ObjPointer(IDirect3DExecuteBuffer) |
| 159 | LPDIRECT3DLIGHT = ObjPointer(IDirect3DLight) |
| 160 | LPDIRECT3DMATERIAL = ObjPointer(IDirect3DMaterial) |
| 161 | LPDIRECT3DTEXTURE = ObjPointer(IDirect3DTexture) |
| 162 | LPDIRECT3DVIEWPORT = ObjPointer(IDirect3DViewport) |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 163 | |
José Fonseca | 9782b29 | 2012-04-14 22:02:42 +0100 | [diff] [blame] | 164 | LPDIRECT3D2 = ObjPointer(IDirect3D2) |
| 165 | LPDIRECT3DDEVICE2 = ObjPointer(IDirect3DDevice2) |
| 166 | LPDIRECT3DMATERIAL2 = ObjPointer(IDirect3DMaterial2) |
| 167 | LPDIRECT3DTEXTURE2 = ObjPointer(IDirect3DTexture2) |
| 168 | LPDIRECT3DVIEWPORT2 = ObjPointer(IDirect3DViewport2) |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 169 | |
José Fonseca | 9782b29 | 2012-04-14 22:02:42 +0100 | [diff] [blame] | 170 | LPDIRECT3D3 = ObjPointer(IDirect3D3) |
| 171 | LPDIRECT3DDEVICE3 = ObjPointer(IDirect3DDevice3) |
| 172 | LPDIRECT3DMATERIAL3 = ObjPointer(IDirect3DMaterial3) |
| 173 | LPDIRECT3DVIEWPORT3 = ObjPointer(IDirect3DViewport3) |
| 174 | LPDIRECT3DVERTEXBUFFER = ObjPointer(IDirect3DVertexBuffer) |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 175 | |
José Fonseca | 9782b29 | 2012-04-14 22:02:42 +0100 | [diff] [blame] | 176 | LPDIRECT3D7 = ObjPointer(IDirect3D7) |
| 177 | LPDIRECT3DDEVICE7 = ObjPointer(IDirect3DDevice7) |
| 178 | LPDIRECT3DVERTEXBUFFER7 = ObjPointer(IDirect3DVertexBuffer7) |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 179 | |
| 180 | IDirect3D.methods += [ |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 181 | StdMethod(HRESULT, "Initialize", [(REFCLSID, "riid")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 182 | StdMethod(HRESULT, "EnumDevices", [(LPD3DENUMDEVICESCALLBACK, "lpEnumDevicesCallback"), (LPVOID, "lpUserArg")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 183 | StdMethod(HRESULT, "CreateLight", [Out(Pointer(LPDIRECT3DLIGHT), "lplpDirect3DLight"), (LPUNKNOWN, "pUnkOuter")]), |
| 184 | StdMethod(HRESULT, "CreateMaterial", [Out(Pointer(LPDIRECT3DMATERIAL), "lplpDirect3DMaterial"), (LPUNKNOWN, "pUnkOuter")]), |
| 185 | StdMethod(HRESULT, "CreateViewport", [Out(Pointer(LPDIRECT3DVIEWPORT), "lplpD3DViewport"), (LPUNKNOWN, "pUnkOuter")]), |
| 186 | StdMethod(HRESULT, "FindDevice", [(LPD3DFINDDEVICESEARCH, "lpD3DDFS"), (LPD3DFINDDEVICERESULT, "lplpD3DDevice")]), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 187 | ] |
| 188 | |
| 189 | IDirect3D2.methods += [ |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 190 | StdMethod(HRESULT, "EnumDevices", [(LPD3DENUMDEVICESCALLBACK, "lpEnumDevicesCallback"), (LPVOID, "lpUserArg")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 191 | StdMethod(HRESULT, "CreateLight", [Out(Pointer(LPDIRECT3DLIGHT), "lplpDirect3DLight"), (LPUNKNOWN, "pUnkOuter")]), |
| 192 | StdMethod(HRESULT, "CreateMaterial", [Out(Pointer(LPDIRECT3DMATERIAL2), "lplpDirect3DMaterial2"), (LPUNKNOWN, "pUnkOuter")]), |
| 193 | StdMethod(HRESULT, "CreateViewport", [Out(Pointer(LPDIRECT3DVIEWPORT2), "lplpD3DViewport2"), (LPUNKNOWN, "pUnkOuter")]), |
| 194 | StdMethod(HRESULT, "FindDevice", [(LPD3DFINDDEVICESEARCH, "lpD3DDFS"), (LPD3DFINDDEVICERESULT, "lpD3DFDR")]), |
| 195 | StdMethod(HRESULT, "CreateDevice", [(REFCLSID, "rclsid"), (LPDIRECTDRAWSURFACE, "lpDDS"), Out(Pointer(LPDIRECT3DDEVICE2), "lplpD3DDevice2")]), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 196 | ] |
| 197 | |
| 198 | IDirect3D3.methods += [ |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 199 | StdMethod(HRESULT, "EnumDevices", [(LPD3DENUMDEVICESCALLBACK, "lpEnumDevicesCallback"), (LPVOID, "lpUserArg")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 200 | StdMethod(HRESULT, "CreateLight", [Out(Pointer(LPDIRECT3DLIGHT), "lplpDirect3DLight"), (LPUNKNOWN, "pUnkOuter")]), |
| 201 | StdMethod(HRESULT, "CreateMaterial", [Out(Pointer(LPDIRECT3DMATERIAL3), "lplpDirect3DMaterial3"), (LPUNKNOWN, "pUnkOuter")]), |
| 202 | StdMethod(HRESULT, "CreateViewport", [Out(Pointer(LPDIRECT3DVIEWPORT3), "lplpD3DViewport3"), (LPUNKNOWN, "pUnkOuter")]), |
| 203 | StdMethod(HRESULT, "FindDevice", [(LPD3DFINDDEVICESEARCH, "lpD3DDFS"), Out(LPD3DFINDDEVICERESULT, "lpD3DFDR")]), |
| 204 | StdMethod(HRESULT, "CreateDevice", [(REFCLSID, "rclsid"), (LPDIRECTDRAWSURFACE4, "lpDDS"), Out(Pointer(LPDIRECT3DDEVICE3), "lplpD3DDevice3"), (LPUNKNOWN, "lpUnk")]), |
| 205 | StdMethod(HRESULT, "CreateVertexBuffer", [(LPD3DVERTEXBUFFERDESC, "lpD3DVertBufDesc"), Out(Pointer(LPDIRECT3DVERTEXBUFFER), "lplpD3DVertBuf"), (DWORD, "dwFlags"), (LPUNKNOWN, "lpUnk")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 206 | StdMethod(HRESULT, "EnumZBufferFormats", [(REFCLSID, "riidDevice"), (LPD3DENUMPIXELFORMATSCALLBACK, "lpEnumCallback"), (LPVOID, "lpContext")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 207 | StdMethod(HRESULT, "EvictManagedTextures", []), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 208 | ] |
| 209 | |
| 210 | IDirect3D7.methods += [ |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 211 | StdMethod(HRESULT, "EnumDevices", [(LPD3DENUMDEVICESCALLBACK7, "lpEnumDevicesCallback"), (LPVOID, "lpUserArg")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 212 | StdMethod(HRESULT, "CreateDevice", [(REFCLSID, "rclsid"), (LPDIRECTDRAWSURFACE7, "lpDDS"), Out(Pointer(LPDIRECT3DDEVICE7), "lplpD3DDevice")]), |
| 213 | StdMethod(HRESULT, "CreateVertexBuffer", [(LPD3DVERTEXBUFFERDESC, "lpD3DVertBufDesc"), Out(Pointer(LPDIRECT3DVERTEXBUFFER7), "lplpD3DVertBuf"), (DWORD, "dwFlags")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 214 | StdMethod(HRESULT, "EnumZBufferFormats", [(REFCLSID, "riidDevice"), (LPD3DENUMPIXELFORMATSCALLBACK, "lpEnumCallback"), (LPVOID, "lpContext")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 215 | StdMethod(HRESULT, "EvictManagedTextures", []), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 216 | ] |
| 217 | |
| 218 | IDirect3DDevice.methods += [ |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 219 | StdMethod(HRESULT, "Initialize", [(LPDIRECT3D, "lpDirect3D"), (LPGUID, "lpGUID"), (LPD3DDEVICEDESC, "lpD3DDVDesc")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 220 | StdMethod(HRESULT, "GetCaps", [Out(LPD3DDEVICEDESC, "lpD3DHWDevDesc"), Out(LPD3DDEVICEDESC, "lpD3DHELDevDesc")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 221 | StdMethod(HRESULT, "SwapTextureHandles", [(LPDIRECT3DTEXTURE, "lpD3Dtex1"), (LPDIRECT3DTEXTURE, "lpD3DTex2")]), |
| 222 | StdMethod(HRESULT, "CreateExecuteBuffer", [(LPD3DEXECUTEBUFFERDESC, "lpDesc"), Out(Pointer(LPDIRECT3DEXECUTEBUFFER), "lplpDirect3DExecuteBuffer"), (LPUNKNOWN, "pUnkOuter")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 223 | StdMethod(HRESULT, "GetStats", [(LPD3DSTATS, "lpD3DStats")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 224 | StdMethod(HRESULT, "Execute", [(LPDIRECT3DEXECUTEBUFFER, "lpDirect3DExecuteBuffer"), (LPDIRECT3DVIEWPORT, "lpDirect3DViewport"), (DWORD, "dwFlags")]), |
| 225 | StdMethod(HRESULT, "AddViewport", [(LPDIRECT3DVIEWPORT, "lpDirect3DViewport")]), |
| 226 | StdMethod(HRESULT, "DeleteViewport", [(LPDIRECT3DVIEWPORT, "lpDirect3DViewport")]), |
| 227 | StdMethod(HRESULT, "NextViewport", [(LPDIRECT3DVIEWPORT, "lpDirect3DViewport"), Out(Pointer(LPDIRECT3DVIEWPORT), "lplpDirect3DViewport"), (DWORD, "dwFlags")]), |
| 228 | StdMethod(HRESULT, "Pick", [(LPDIRECT3DEXECUTEBUFFER, "lpDirect3DExecuteBuffer"), (LPDIRECT3DVIEWPORT, "lpDirect3DViewport"), (DWORD, "dwFlags"), (LPD3DRECT, "lpRect")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 229 | StdMethod(HRESULT, "GetPickRecords", [(LPDWORD, "lpCount"), (LPD3DPICKRECORD, "lpD3DPickRec")], sideeffects=False), |
| 230 | StdMethod(HRESULT, "EnumTextureFormats", [(LPD3DENUMTEXTUREFORMATSCALLBACK, "lpD3DEnumTextureProc"), (LPVOID, "lpArg")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 231 | StdMethod(HRESULT, "CreateMatrix", [Out(LPD3DMATRIXHANDLE, "lpD3DMatHandle")]), |
| 232 | StdMethod(HRESULT, "SetMatrix", [(D3DMATRIXHANDLE, "D3DMatHandle"), (Const(LPD3DMATRIX), "lpD3DMatrix")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 233 | StdMethod(HRESULT, "GetMatrix", [(D3DMATRIXHANDLE, "D3DMatHandle"), Out(LPD3DMATRIX, "lpD3DMatrix")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 234 | StdMethod(HRESULT, "DeleteMatrix", [(D3DMATRIXHANDLE, "D3DMatHandle")]), |
| 235 | StdMethod(HRESULT, "BeginScene", []), |
| 236 | StdMethod(HRESULT, "EndScene", []), |
| 237 | StdMethod(HRESULT, "GetDirect3D", [Out(Pointer(LPDIRECT3D), "lplpDirect3D")]), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 238 | ] |
| 239 | |
| 240 | IDirect3DDevice2.methods += [ |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 241 | StdMethod(HRESULT, "GetCaps", [Out(LPD3DDEVICEDESC, "lpD3DHWDevDesc"), Out(LPD3DDEVICEDESC, "lpD3DHELDevDesc")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 242 | StdMethod(HRESULT, "SwapTextureHandles", [(LPDIRECT3DTEXTURE2, "lpD3DTex1"), (LPDIRECT3DTEXTURE2, "lpD3DTex2")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 243 | StdMethod(HRESULT, "GetStats", [Out(LPD3DSTATS, "lpD3DStats")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 244 | StdMethod(HRESULT, "AddViewport", [(LPDIRECT3DVIEWPORT2, "lpDirect3DViewport2")]), |
| 245 | StdMethod(HRESULT, "DeleteViewport", [(LPDIRECT3DVIEWPORT2, "lpDirect3DViewport2")]), |
| 246 | StdMethod(HRESULT, "NextViewport", [(LPDIRECT3DVIEWPORT2, "lpDirect3DViewport2"), Out(Pointer(LPDIRECT3DVIEWPORT2), "lplpDirect3DViewport2"), (DWORD, "dwFlags")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 247 | StdMethod(HRESULT, "EnumTextureFormats", [(LPD3DENUMTEXTUREFORMATSCALLBACK, "lpD3DEnumTextureProc"), (LPVOID, "lpArg")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 248 | StdMethod(HRESULT, "BeginScene", []), |
| 249 | StdMethod(HRESULT, "EndScene", []), |
| 250 | StdMethod(HRESULT, "GetDirect3D", [Out(Pointer(LPDIRECT3D2), "lplpDirect3D2")]), |
| 251 | StdMethod(HRESULT, "SetCurrentViewport", [(LPDIRECT3DVIEWPORT2, "lpDirect3DViewport2")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 252 | StdMethod(HRESULT, "GetCurrentViewport", [Out(Pointer(LPDIRECT3DVIEWPORT2), "lplpDirect3DViewport2")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 253 | StdMethod(HRESULT, "SetRenderTarget", [(LPDIRECTDRAWSURFACE, "lpNewRenderTarget"), (DWORD, "dwFlags")]), |
| 254 | StdMethod(HRESULT, "GetRenderTarget", [Out(Pointer(LPDIRECTDRAWSURFACE), "lplpRenderTarget")]), |
| 255 | StdMethod(HRESULT, "Begin", [(D3DPRIMITIVETYPE, "d3dpt"), (D3DVERTEXTYPE, "dwVertexTypeDesc"), (DWORD, "dwFlags")]), |
| 256 | StdMethod(HRESULT, "BeginIndexed", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (D3DVERTEXTYPE, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwNumVertices"), (DWORD, "dwFlags")]), |
| 257 | StdMethod(HRESULT, "Vertex", [(LPVOID, "lpVertexType")]), |
| 258 | StdMethod(HRESULT, "Index", [(WORD, "wVertexIndex")]), |
| 259 | StdMethod(HRESULT, "End", [(DWORD, "dwFlags")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 260 | StdMethod(HRESULT, "GetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), Out(LPDWORD, "lpdwRenderState")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 261 | StdMethod(HRESULT, "SetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), (DWORD, "dwRenderState")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 262 | StdMethod(HRESULT, "GetLightState", [(D3DLIGHTSTATETYPE, "dwLightStateType"), Out(LPDWORD, "lpdwLightState")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 263 | StdMethod(HRESULT, "SetLightState", [(D3DLIGHTSTATETYPE, "dwLightStateType"), (DWORD, "dwLightState")]), |
| 264 | StdMethod(HRESULT, "SetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 265 | StdMethod(HRESULT, "GetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), Out(LPD3DMATRIX, "lpD3DMatrix")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 266 | StdMethod(HRESULT, "MultiplyTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), |
| 267 | StdMethod(HRESULT, "DrawPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (D3DVERTEXTYPE, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwVertexCount"), (DWORD, "dwFlags")]), |
Jose Fonseca | 8aef631 | 2017-08-28 19:53:43 +0100 | [diff] [blame] | 268 | StdMethod(HRESULT, "DrawIndexedPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (D3DVERTEXTYPE, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwVertexCount"), (LPWORD, "lpwIndices"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 269 | StdMethod(HRESULT, "SetClipStatus", [(LPD3DCLIPSTATUS, "lpD3DClipStatus")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 270 | StdMethod(HRESULT, "GetClipStatus", [(LPD3DCLIPSTATUS, "lpD3DClipStatus")], sideeffects=False), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 271 | ] |
| 272 | |
| 273 | IDirect3DDevice3.methods += [ |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 274 | StdMethod(HRESULT, "GetCaps", [Out(LPD3DDEVICEDESC, "lpD3DHWDevDesc"), Out(LPD3DDEVICEDESC, "lpD3DHELDevDesc")], sideeffects=False), |
| 275 | StdMethod(HRESULT, "GetStats", [Out(LPD3DSTATS, "lpD3DStats")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 276 | StdMethod(HRESULT, "AddViewport", [(LPDIRECT3DVIEWPORT3, "lpDirect3DViewport3")]), |
| 277 | StdMethod(HRESULT, "DeleteViewport", [(LPDIRECT3DVIEWPORT3, "lpDirect3DViewport3")]), |
| 278 | StdMethod(HRESULT, "NextViewport", [(LPDIRECT3DVIEWPORT3, "lpDirect3DViewport3"), Out(Pointer(LPDIRECT3DVIEWPORT3), "lplpDirect3DViewport3"), (DWORD, "dwFlags")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 279 | StdMethod(HRESULT, "EnumTextureFormats", [(LPD3DENUMPIXELFORMATSCALLBACK, "lpD3DEnumPixelProc"), (LPVOID, "lpArg")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 280 | StdMethod(HRESULT, "BeginScene", []), |
| 281 | StdMethod(HRESULT, "EndScene", []), |
| 282 | StdMethod(HRESULT, "GetDirect3D", [Out(Pointer(LPDIRECT3D3), "lplpDirect3D3")]), |
| 283 | StdMethod(HRESULT, "SetCurrentViewport", [(LPDIRECT3DVIEWPORT3, "lpDirect3DViewport3")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 284 | StdMethod(HRESULT, "GetCurrentViewport", [Out(Pointer(LPDIRECT3DVIEWPORT3), "lplpDirect3DViewport3")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 285 | StdMethod(HRESULT, "SetRenderTarget", [(LPDIRECTDRAWSURFACE4, "lpNewRenderTarget"), (DWORD, "dwFlags")]), |
| 286 | StdMethod(HRESULT, "GetRenderTarget", [Out(Pointer(LPDIRECTDRAWSURFACE4), "lplpRenderTarget")]), |
| 287 | StdMethod(HRESULT, "Begin", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "dwVertexTypeDesc"), (DWORD, "dwFlags")]), |
| 288 | StdMethod(HRESULT, "BeginIndexed", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwNumVertices"), (DWORD, "dwFlags")]), |
| 289 | StdMethod(HRESULT, "Vertex", [(LPVOID, "lpVertexType")]), |
| 290 | StdMethod(HRESULT, "Index", [(WORD, "wVertexIndex")]), |
| 291 | StdMethod(HRESULT, "End", [(DWORD, "dwFlags")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 292 | StdMethod(HRESULT, "GetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), Out(LPDWORD, "lpdwRenderState")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 293 | StdMethod(HRESULT, "SetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), (DWORD, "dwRenderState")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 294 | StdMethod(HRESULT, "GetLightState", [(D3DLIGHTSTATETYPE, "dwLightStateType"), Out(LPDWORD, "lpdwLightState")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 295 | StdMethod(HRESULT, "SetLightState", [(D3DLIGHTSTATETYPE, "dwLightStateType"), (DWORD, "dwLightState")]), |
| 296 | StdMethod(HRESULT, "SetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 297 | StdMethod(HRESULT, "GetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), Out(LPD3DMATRIX, "lpD3DMatrix")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 298 | StdMethod(HRESULT, "MultiplyTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), |
| 299 | StdMethod(HRESULT, "DrawPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwVertexCount"), (DWORD, "dwFlags")]), |
Jose Fonseca | 8aef631 | 2017-08-28 19:53:43 +0100 | [diff] [blame] | 300 | StdMethod(HRESULT, "DrawIndexedPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwVertexCount"), (LPWORD, "lpwIndices"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 301 | StdMethod(HRESULT, "SetClipStatus", [(LPD3DCLIPSTATUS, "lpD3DClipStatus")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 302 | StdMethod(HRESULT, "GetClipStatus", [Out(LPD3DCLIPSTATUS, "lpD3DClipStatus")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 303 | StdMethod(HRESULT, "DrawPrimitiveStrided", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "dwVertexType"), (LPD3DDRAWPRIMITIVESTRIDEDDATA, "lpD3DDrawPrimStrideData"), (DWORD, "dwVertexCount"), (DWORD, "dwFlags")]), |
| 304 | StdMethod(HRESULT, "DrawIndexedPrimitiveStrided", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "dwVertexType"), (LPD3DDRAWPRIMITIVESTRIDEDDATA, "lpD3DDrawPrimStrideData"), (DWORD, "dwVertexCount"), (LPWORD, "lpIndex"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), |
| 305 | StdMethod(HRESULT, "DrawPrimitiveVB", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (LPDIRECT3DVERTEXBUFFER, "lpD3DVertexBuf"), (DWORD, "dwStartVertex"), (DWORD, "dwNumVertices"), (DWORD, "dwFlags")]), |
| 306 | StdMethod(HRESULT, "DrawIndexedPrimitiveVB", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (LPDIRECT3DVERTEXBUFFER, "lpD3DVertexBuf"), (LPWORD, "lpwIndices"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), |
| 307 | StdMethod(HRESULT, "ComputeSphereVisibility", [(LPD3DVECTOR, "lpCenters"), (LPD3DVALUE, "lpRadii"), (DWORD, "dwNumSpheres"), (DWORD, "dwFlags"), (LPDWORD, "lpdwReturnValues")]), |
| 308 | StdMethod(HRESULT, "GetTexture", [(DWORD, "dwStage"), Out(Pointer(LPDIRECT3DTEXTURE2), "lplpTexture2")]), |
| 309 | StdMethod(HRESULT, "SetTexture", [(DWORD, "dwStage"), (LPDIRECT3DTEXTURE2, "lpTexture2")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 310 | StdMethod(HRESULT, "GetTextureStageState", [(DWORD, "dwStage"), (D3DTEXTURESTAGESTATETYPE, "d3dTexStageStateType"), Out(LPDWORD, "lpdwState")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 311 | StdMethod(HRESULT, "SetTextureStageState", [(DWORD, "dwStage"), (D3DTEXTURESTAGESTATETYPE, "d3dTexStageStateType"), (DWORD, "dwState")]), |
| 312 | StdMethod(HRESULT, "ValidateDevice", [(LPDWORD, "lpdwPasses")]), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 313 | ] |
| 314 | |
| 315 | IDirect3DDevice7.methods += [ |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 316 | StdMethod(HRESULT, "GetCaps", [Out(LPD3DDEVICEDESC7, "lpD3DHELDevDesc")], sideeffects=False), |
| 317 | StdMethod(HRESULT, "EnumTextureFormats", [(LPD3DENUMPIXELFORMATSCALLBACK, "lpD3DEnumPixelProc"), (LPVOID, "lpArg")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 318 | StdMethod(HRESULT, "BeginScene", []), |
| 319 | StdMethod(HRESULT, "EndScene", []), |
| 320 | StdMethod(HRESULT, "GetDirect3D", [Out(Pointer(LPDIRECT3D7), "lplpDirect3D3")]), |
| 321 | StdMethod(HRESULT, "SetRenderTarget", [(LPDIRECTDRAWSURFACE7, "lpNewRenderTarget"), (DWORD, "dwFlags")]), |
| 322 | StdMethod(HRESULT, "GetRenderTarget", [Out(Pointer(LPDIRECTDRAWSURFACE7), "lplpRenderTarget")]), |
José Fonseca | 7cdbd38 | 2015-01-16 10:59:02 +0000 | [diff] [blame] | 323 | StdMethod(HRESULT, "Clear", [(DWORD, "dwCount"), (Array(D3DRECT, "dwCount"), "lpRects"), (D3DCLEAR, "dwFlags"), (D3DCOLOR, "dwColor"), (D3DVALUE, "dvZ"), (DWORD, "dwStencil")]), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 324 | StdMethod(HRESULT, "SetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 325 | StdMethod(HRESULT, "GetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), Out(LPD3DMATRIX, "lpD3DMatrix")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 326 | StdMethod(HRESULT, "SetViewport", [(LPD3DVIEWPORT7, "lpData")]), |
| 327 | StdMethod(HRESULT, "MultiplyTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 328 | StdMethod(HRESULT, "GetViewport", [Out(LPD3DVIEWPORT7, "lpData")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 329 | StdMethod(HRESULT, "SetMaterial", [(LPD3DMATERIAL7, "lpMat")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 330 | StdMethod(HRESULT, "GetMaterial", [Out(LPD3DMATERIAL7, "lpMat")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 331 | StdMethod(HRESULT, "SetLight", [(DWORD, "dwLightIndex"), (LPD3DLIGHT7, "lpLight")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 332 | StdMethod(HRESULT, "GetLight", [(DWORD, "dwLightIndex"), (LPD3DLIGHT7, "lpLight")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 333 | StdMethod(HRESULT, "SetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), (DWORD, "dwRenderState")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 334 | StdMethod(HRESULT, "GetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), Out(LPDWORD, "lpdwRenderState")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 335 | StdMethod(HRESULT, "BeginStateBlock", []), |
| 336 | StdMethod(HRESULT, "EndStateBlock", [Out(LPDWORD, "lpdwBlockHandle")]), |
| 337 | StdMethod(HRESULT, "PreLoad", [(LPDIRECTDRAWSURFACE7, "lpddsTexture")]), |
José Fonseca | 7300ed7 | 2015-01-15 12:55:04 +0000 | [diff] [blame] | 338 | StdMethod(HRESULT, "DrawPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (D3DFVF, "d3dvtVertexType"), (Blob(VOID, "dwVertexCount * _getVertexSize(d3dvtVertexType)"), "lpvVertices"), (DWORD, "dwVertexCount"), (DWORD, "dwFlags")]), |
Jose Fonseca | 8aef631 | 2017-08-28 19:53:43 +0100 | [diff] [blame] | 339 | StdMethod(HRESULT, "DrawIndexedPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (D3DFVF, "d3dvtVertexType"), (Blob(VOID, "dwVertexCount * _getVertexSize(d3dvtVertexType)"), "lpvVertices"), (DWORD, "dwVertexCount"), (Blob(WORD, "dwIndexCount"), "lpwIndices"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 340 | StdMethod(HRESULT, "SetClipStatus", [(LPD3DCLIPSTATUS, "lpD3DClipStatus")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 341 | StdMethod(HRESULT, "GetClipStatus", [Out(LPD3DCLIPSTATUS, "lpD3DClipStatus")], sideeffects=False), |
José Fonseca | 1c85497 | 2012-11-28 21:17:30 +0000 | [diff] [blame] | 342 | StdMethod(HRESULT, "DrawPrimitiveStrided", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (D3DFVF, "dwVertexType"), (LPD3DDRAWPRIMITIVESTRIDEDDATA, "lpD3DDrawPrimStrideData"), (DWORD, "dwVertexCount"), (DWORD, "dwFlags")]), |
| 343 | StdMethod(HRESULT, "DrawIndexedPrimitiveStrided", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (D3DFVF, "dwVertexType"), (LPD3DDRAWPRIMITIVESTRIDEDDATA, "lpD3DDrawPrimStrideData"), (DWORD, "dwVertexCount"), (LPWORD, "lpIndex"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 344 | StdMethod(HRESULT, "DrawPrimitiveVB", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (LPDIRECT3DVERTEXBUFFER7, "lpD3DVertexBuf"), (DWORD, "dwStartVertex"), (DWORD, "dwNumVertices"), (DWORD, "dwFlags")]), |
| 345 | StdMethod(HRESULT, "DrawIndexedPrimitiveVB", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (LPDIRECT3DVERTEXBUFFER7, "lpD3DVertexBuf"), (DWORD, "dwStartVertex"), (DWORD, "dwNumVertices"), (LPWORD, "lpwIndices"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), |
| 346 | StdMethod(HRESULT, "ComputeSphereVisibility", [(LPD3DVECTOR, "lpCenters"), (LPD3DVALUE, "lpRadii"), (DWORD, "dwNumSpheres"), (DWORD, "dwFlags"), (LPDWORD, "lpdwReturnValues")]), |
| 347 | StdMethod(HRESULT, "GetTexture", [(DWORD, "dwStage"), Out(Pointer(LPDIRECTDRAWSURFACE7), "lpTexture")]), |
| 348 | StdMethod(HRESULT, "SetTexture", [(DWORD, "dwStage"), (LPDIRECTDRAWSURFACE7, "lpTexture")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 349 | StdMethod(HRESULT, "GetTextureStageState", [(DWORD, "dwStage"), (D3DTEXTURESTAGESTATETYPE, "d3dTexStageStateType"), Out(LPDWORD, "lpdwState")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 350 | StdMethod(HRESULT, "SetTextureStageState", [(DWORD, "dwStage"), (D3DTEXTURESTAGESTATETYPE, "d3dTexStageStateType"), (DWORD, "dwState")]), |
| 351 | StdMethod(HRESULT, "ValidateDevice", [Out(LPDWORD, "lpdwPasses")]), |
| 352 | StdMethod(HRESULT, "ApplyStateBlock", [(DWORD, "dwBlockHandle")]), |
| 353 | StdMethod(HRESULT, "CaptureStateBlock", [(DWORD, "dwBlockHandle")]), |
| 354 | StdMethod(HRESULT, "DeleteStateBlock", [(DWORD, "dwBlockHandle")]), |
| 355 | StdMethod(HRESULT, "CreateStateBlock", [(D3DSTATEBLOCKTYPE, "d3dsbType"), Out(LPDWORD, "lpdwBlockHandle")]), |
| 356 | StdMethod(HRESULT, "Load", [(LPDIRECTDRAWSURFACE7, "lpDestTex"), (LPPOINT, "lpDestPoint"), (LPDIRECTDRAWSURFACE7, "lpSrcTex"), (LPRECT, "lprcSrcRect"), (DWORD, "dwFlags")]), |
| 357 | StdMethod(HRESULT, "LightEnable", [(DWORD, "dwLightIndex"), (BOOL, "bEnable")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 358 | StdMethod(HRESULT, "GetLightEnable", [(DWORD, "dwLightIndex"), Out(Pointer(BOOL), "pbEnable")], sideeffects=False), |
Jose Fonseca | cf51935 | 2015-05-20 17:17:32 +0100 | [diff] [blame] | 359 | StdMethod(HRESULT, "SetClipPlane", [(DWORD, "dwIndex"), (Array(D3DVALUE, 4), "pPlaneEquation")]), |
| 360 | StdMethod(HRESULT, "GetClipPlane", [(DWORD, "dwIndex"), Out(Array(D3DVALUE, 4), "pPlaneEquation")], sideeffects=False), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 361 | StdMethod(HRESULT, "GetInfo", [(DWORD, "dwDevInfoID"), Out(LPVOID, "pDevInfoStruct"), (DWORD, "dwSize")], sideeffects=False), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 362 | ] |
| 363 | |
| 364 | IDirect3DExecuteBuffer.methods += [ |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 365 | StdMethod(HRESULT, "Initialize", [(LPDIRECT3DDEVICE, "lpDirect3DDevice"), (LPD3DEXECUTEBUFFERDESC, "lpDesc")]), |
| 366 | StdMethod(HRESULT, "Lock", [(LPD3DEXECUTEBUFFERDESC, "lpDesc")]), |
| 367 | StdMethod(HRESULT, "Unlock", []), |
| 368 | StdMethod(HRESULT, "SetExecuteData", [(LPD3DEXECUTEDATA, "lpData")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 369 | StdMethod(HRESULT, "GetExecuteData", [Out(LPD3DEXECUTEDATA, "lpData")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 370 | StdMethod(HRESULT, "Validate", [(LPDWORD, "lpdwOffset"), (LPD3DVALIDATECALLBACK, "lpFunc"), (LPVOID, "lpUserArg"), (DWORD, "dwReserved")]), |
| 371 | StdMethod(HRESULT, "Optimize", [(DWORD, "dwDummy")]), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 372 | ] |
| 373 | |
| 374 | IDirect3DLight.methods += [ |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 375 | StdMethod(HRESULT, "Initialize", [(LPDIRECT3D, "lpDirect3D")]), |
| 376 | StdMethod(HRESULT, "SetLight", [(LPD3DLIGHT, "lpLight")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 377 | StdMethod(HRESULT, "GetLight", [Out(LPD3DLIGHT, "lpLight")], sideeffects=False), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 378 | ] |
| 379 | |
| 380 | IDirect3DMaterial.methods += [ |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 381 | StdMethod(HRESULT, "Initialize", [(LPDIRECT3D, "lpDirect3D")]), |
| 382 | StdMethod(HRESULT, "SetMaterial", [(LPD3DMATERIAL, "lpMat")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 383 | StdMethod(HRESULT, "GetMaterial", [Out(LPD3DMATERIAL, "lpMat")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 384 | StdMethod(HRESULT, "GetHandle", [(LPDIRECT3DDEVICE, "lpDirect3DDevice"), Out(LPD3DMATERIALHANDLE, "lpHandle")]), |
| 385 | StdMethod(HRESULT, "Reserve", []), |
| 386 | StdMethod(HRESULT, "Unreserve", []), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 387 | ] |
| 388 | |
| 389 | IDirect3DMaterial2.methods += [ |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 390 | StdMethod(HRESULT, "SetMaterial", [(LPD3DMATERIAL, "lpMat")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 391 | StdMethod(HRESULT, "GetMaterial", [Out(LPD3DMATERIAL, "lpMat")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 392 | StdMethod(HRESULT, "GetHandle", [(LPDIRECT3DDEVICE2, "lpDirect3DDevice2"), Out(LPD3DMATERIALHANDLE, "lpHandle")]), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 393 | ] |
| 394 | |
| 395 | IDirect3DMaterial3.methods += [ |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 396 | StdMethod(HRESULT, "SetMaterial", [(LPD3DMATERIAL, "lpMat")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 397 | StdMethod(HRESULT, "GetMaterial", [Out(LPD3DMATERIAL, "lpMat")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 398 | StdMethod(HRESULT, "GetHandle", [(LPDIRECT3DDEVICE3, "lpDirect3DDevice3"), Out(LPD3DMATERIALHANDLE, "lpHandle")]), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 399 | ] |
| 400 | |
| 401 | IDirect3DTexture.methods += [ |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 402 | StdMethod(HRESULT, "Initialize", [(LPDIRECT3DDEVICE, "lpDirect3DDevice"), (LPDIRECTDRAWSURFACE, "lpDDSurface")]), |
| 403 | StdMethod(HRESULT, "GetHandle", [(LPDIRECT3DDEVICE, "lpDirect3DDevice"), Out(LPD3DTEXTUREHANDLE, "lpHandle")]), |
| 404 | StdMethod(HRESULT, "PaletteChanged", [(DWORD, "dwStart"), (DWORD, "dwCount")]), |
| 405 | StdMethod(HRESULT, "Load", [(LPDIRECT3DTEXTURE, "lpD3DTexture")]), |
| 406 | StdMethod(HRESULT, "Unload", []), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 407 | ] |
| 408 | |
| 409 | IDirect3DTexture2.methods += [ |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 410 | StdMethod(HRESULT, "GetHandle", [(LPDIRECT3DDEVICE2, "lpDirect3DDevice2"), Out(LPD3DTEXTUREHANDLE, "lpHandle")]), |
| 411 | StdMethod(HRESULT, "PaletteChanged", [(DWORD, "dwStart"), (DWORD, "dwCount")]), |
| 412 | StdMethod(HRESULT, "Load", [(LPDIRECT3DTEXTURE2, "lpD3DTexture2")]), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 413 | ] |
| 414 | |
| 415 | IDirect3DViewport.methods += [ |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 416 | StdMethod(HRESULT, "Initialize", [(LPDIRECT3D, "lpDirect3D")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 417 | StdMethod(HRESULT, "GetViewport", [Out(LPD3DVIEWPORT, "lpData")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 418 | StdMethod(HRESULT, "SetViewport", [(LPD3DVIEWPORT, "lpData")]), |
| 419 | StdMethod(HRESULT, "TransformVertices", [(DWORD, "dwVertexCount"), (LPD3DTRANSFORMDATA, "lpData"), (DWORD, "dwFlags"), (LPDWORD, "lpOffScreen")]), |
| 420 | StdMethod(HRESULT, "LightElements", [(DWORD, "dwElementCount"), (LPD3DLIGHTDATA, "lpData")]), |
| 421 | StdMethod(HRESULT, "SetBackground", [(D3DMATERIALHANDLE, "hMat")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 422 | StdMethod(HRESULT, "GetBackground", [Out(LPD3DMATERIALHANDLE, "lphMat"), Out(LPBOOL, "lpValid")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 423 | StdMethod(HRESULT, "SetBackgroundDepth", [(LPDIRECTDRAWSURFACE, "lpDDSurface")]), |
| 424 | StdMethod(HRESULT, "GetBackgroundDepth", [Out(Pointer(LPDIRECTDRAWSURFACE), "lplpDDSurface"), Out(LPBOOL, "lpValid")]), |
Jose Fonseca | 4ccc877 | 2015-05-20 17:18:31 +0100 | [diff] [blame] | 425 | StdMethod(HRESULT, "Clear", [(DWORD, "dwCount"), (Array(D3DRECT, "dwCount"), "lpRects"), (D3DCLEAR, "dwFlags")]), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 426 | StdMethod(HRESULT, "AddLight", [(LPDIRECT3DLIGHT, "lpDirect3DLight")]), |
| 427 | StdMethod(HRESULT, "DeleteLight", [(LPDIRECT3DLIGHT, "lpDirect3DLight")]), |
| 428 | StdMethod(HRESULT, "NextLight", [(LPDIRECT3DLIGHT, "lpDirect3DLight"), Out(Pointer(LPDIRECT3DLIGHT), "lplpDirect3DLight"), (DWORD, "dwFlags")]), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 429 | ] |
| 430 | |
| 431 | IDirect3DViewport2.methods += [ |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 432 | StdMethod(HRESULT, "GetViewport2", [Out(LPD3DVIEWPORT2, "lpData")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 433 | StdMethod(HRESULT, "SetViewport2", [(LPD3DVIEWPORT2, "lpData")]), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 434 | ] |
| 435 | |
| 436 | IDirect3DViewport3.methods += [ |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 437 | StdMethod(HRESULT, "SetBackgroundDepth2", [(LPDIRECTDRAWSURFACE4, "lpDDS")]), |
| 438 | StdMethod(HRESULT, "GetBackgroundDepth2", [Out(Pointer(LPDIRECTDRAWSURFACE4), "lplpDDS"), (LPBOOL, "lpValid")]), |
Jose Fonseca | 4ccc877 | 2015-05-20 17:18:31 +0100 | [diff] [blame] | 439 | StdMethod(HRESULT, "Clear2", [(DWORD, "dwCount"), (Array(D3DRECT, "dwCount"), "lpRects"), (D3DCLEAR, "dwFlags"), (D3DCOLOR, "dwColor"), (D3DVALUE, "dvZ"), (DWORD, "dwStencil")]), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 440 | ] |
| 441 | |
| 442 | IDirect3DVertexBuffer.methods += [ |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 443 | StdMethod(HRESULT, "Lock", [(DirectDrawSurfaceLockFlags, "dwFlags"), Out(Pointer(LPVOID), "lplpData"), (LPDWORD, "lpdwSize")]), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 444 | StdMethod(HRESULT, "Unlock", []), |
| 445 | StdMethod(HRESULT, "ProcessVertices", [(DWORD, "dwVertexOp"), (DWORD, "dwDestIndex"), (DWORD, "dwCount"), (LPDIRECT3DVERTEXBUFFER, "lpSrcBuffer"), (DWORD, "dwSrcIndex"), (LPDIRECT3DDEVICE3, "lpD3DDevice"), (DWORD, "dwFlags")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 446 | StdMethod(HRESULT, "GetVertexBufferDesc", [Out(LPD3DVERTEXBUFFERDESC, "lpD3DVertexBufferDesc")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 447 | StdMethod(HRESULT, "Optimize", [(LPDIRECT3DDEVICE3, "lpD3DDevice"), (DWORD, "dwFlags")]), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 448 | ] |
| 449 | |
| 450 | IDirect3DVertexBuffer7.methods += [ |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 451 | StdMethod(HRESULT, "Lock", [(DirectDrawSurfaceLockFlags, "dwFlags"), Out(Pointer(LPVOID), "lplpData"), (LPDWORD, "lpdwSize")]), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 452 | StdMethod(HRESULT, "Unlock", []), |
| 453 | StdMethod(HRESULT, "ProcessVertices", [(DWORD, "dwVertexOp"), (DWORD, "dwDestIndex"), (DWORD, "dwCount"), (LPDIRECT3DVERTEXBUFFER7, "lpSrcBuffer"), (DWORD, "dwSrcIndex"), (LPDIRECT3DDEVICE7, "lpD3DDevice"), (DWORD, "dwFlags")]), |
José Fonseca | 50c2a14 | 2015-01-15 13:10:46 +0000 | [diff] [blame] | 454 | StdMethod(HRESULT, "GetVertexBufferDesc", [Out(LPD3DVERTEXBUFFERDESC, "lpD3DVertexBufferDesc")], sideeffects=False), |
José Fonseca | 43aa19f | 2012-11-10 09:29:38 +0000 | [diff] [blame] | 455 | StdMethod(HRESULT, "Optimize", [(LPDIRECT3DDEVICE7, "lpD3DDevice"), (DWORD, "dwFlags")]), |
| 456 | StdMethod(HRESULT, "ProcessVerticesStrided", [(DWORD, "dwVertexOp"), (DWORD, "dwDestIndex"), (DWORD, "dwCount"), (LPD3DDRAWPRIMITIVESTRIDEDDATA, "lpStrideData"), (DWORD, "dwVertexTypeDesc"), (LPDIRECT3DDEVICE7, "lpD3DDevice"), (DWORD, "dwFlags")]), |
José Fonseca | 91af923 | 2009-04-13 16:15:28 +0100 | [diff] [blame] | 457 | ] |
José Fonseca | 8384ccb | 2011-05-25 10:12:02 +0100 | [diff] [blame] | 458 | |
| 459 | interfaces = [ |
| 460 | IDirectDraw, |
| 461 | IDirectDraw2, |
| 462 | IDirectDraw4, |
| 463 | IDirectDraw7, |
| 464 | IDirect3D, |
| 465 | IDirect3D2, |
| 466 | IDirect3D3, |
| 467 | IDirect3D7, |
| 468 | ] |
| 469 | |
José Fonseca | 54f304a | 2012-01-14 19:33:08 +0000 | [diff] [blame] | 470 | ddraw.addInterfaces(interfaces) |
José Fonseca | 8384ccb | 2011-05-25 10:12:02 +0100 | [diff] [blame] | 471 | |