Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygend3d.h
Go to the documentation of this file.
00001 /* 00002 * Copyright (C) the Wine project 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00017 */ 00018 00019 #ifndef __WINE_D3D_H 00020 #define __WINE_D3D_H 00021 00022 #ifndef DIRECT3D_VERSION 00023 #define DIRECT3D_VERSION 0x0700 00024 #endif 00025 00026 #if (DIRECT3D_VERSION < 0x0800) 00027 00028 #include <stdlib.h> 00029 00030 #define COM_NO_WINDOWS_H 00031 #include <objbase.h> 00032 #include <d3dtypes.h> /* must precede d3dcaps.h */ 00033 #include <d3dcaps.h> 00034 00035 /***************************************************************************** 00036 * Predeclare the interfaces 00037 */ 00038 DEFINE_GUID(IID_IDirect3D, 0x3BBA0080,0x2421,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56); 00039 DEFINE_GUID(IID_IDirect3D2, 0x6aae1ec1,0x662a,0x11d0,0x88,0x9d,0x00,0xaa,0x00,0xbb,0xb7,0x6a); 00040 DEFINE_GUID(IID_IDirect3D3, 0xbb223240,0xe72b,0x11d0,0xa9,0xb4,0x00,0xaa,0x00,0xc0,0x99,0x3e); 00041 DEFINE_GUID(IID_IDirect3D7, 0xf5049e77,0x4861,0x11d2,0xa4,0x07,0x00,0xa0,0xc9,0x06,0x29,0xa8); 00042 00043 DEFINE_GUID(IID_IDirect3DRampDevice, 0xF2086B20,0x259F,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56); 00044 DEFINE_GUID(IID_IDirect3DRGBDevice, 0xA4665C60,0x2673,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56); 00045 DEFINE_GUID(IID_IDirect3DHALDevice, 0x84E63dE0,0x46AA,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E); 00046 DEFINE_GUID(IID_IDirect3DMMXDevice, 0x881949a1,0xd6f3,0x11d0,0x89,0xab,0x00,0xa0,0xc9,0x05,0x41,0x29); 00047 DEFINE_GUID(IID_IDirect3DRefDevice, 0x50936643,0x13e9,0x11d1,0x89,0xaa,0x00,0xa0,0xc9,0x05,0x41,0x29); 00048 DEFINE_GUID(IID_IDirect3DTnLHalDevice, 0xf5049e78,0x4861,0x11d2,0xa4,0x07,0x00,0xa0,0xc9,0x06,0x29,0xa8); 00049 DEFINE_GUID(IID_IDirect3DNullDevice, 0x8767df22,0xbacc,0x11d1,0x89,0x69,0x00,0xa0,0xc9,0x06,0x29,0xa8); 00050 00051 DEFINE_GUID(IID_IDirect3DDevice, 0x64108800,0x957d,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29); 00052 DEFINE_GUID(IID_IDirect3DDevice2, 0x93281501,0x8CF8,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29); 00053 DEFINE_GUID(IID_IDirect3DDevice3, 0xb0ab3b60,0x33d7,0x11d1,0xa9,0x81,0x00,0xc0,0x4f,0xd7,0xb1,0x74); 00054 DEFINE_GUID(IID_IDirect3DDevice7, 0xf5049e79,0x4861,0x11d2,0xa4,0x07,0x00,0xa0,0xc9,0x06,0x29,0xa8); 00055 00056 DEFINE_GUID(IID_IDirect3DTexture, 0x2CDCD9E0,0x25A0,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56); 00057 DEFINE_GUID(IID_IDirect3DTexture2, 0x93281502,0x8CF8,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29); 00058 00059 DEFINE_GUID(IID_IDirect3DLight, 0x4417C142,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E); 00060 00061 DEFINE_GUID(IID_IDirect3DMaterial, 0x4417C144,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E); 00062 DEFINE_GUID(IID_IDirect3DMaterial2, 0x93281503,0x8CF8,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29); 00063 DEFINE_GUID(IID_IDirect3DMaterial3, 0xca9c46f4,0xd3c5,0x11d1,0xb7,0x5a,0x00,0x60,0x08,0x52,0xb3,0x12); 00064 00065 DEFINE_GUID(IID_IDirect3DExecuteBuffer, 0x4417C145,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E); 00066 00067 DEFINE_GUID(IID_IDirect3DViewport, 0x4417C146,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E); 00068 DEFINE_GUID(IID_IDirect3DViewport2, 0x93281500,0x8CF8,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29); 00069 DEFINE_GUID(IID_IDirect3DViewport3, 0xb0ab3b61,0x33d7,0x11d1,0xa9,0x81,0x00,0xc0,0x4f,0xd7,0xb1,0x74); 00070 00071 DEFINE_GUID(IID_IDirect3DVertexBuffer, 0x7a503555,0x4a83,0x11d1,0xa5,0xdb,0x00,0xa0,0xc9,0x03,0x67,0xf8); 00072 DEFINE_GUID(IID_IDirect3DVertexBuffer7, 0xf5049e7d,0x4861,0x11d2,0xa4,0x07,0x00,0xa0,0xc9,0x06,0x29,0xa8); 00073 00074 00075 typedef struct IDirect3D *LPDIRECT3D; 00076 typedef struct IDirect3D2 *LPDIRECT3D2; 00077 typedef struct IDirect3D3 *LPDIRECT3D3; 00078 typedef struct IDirect3D7 *LPDIRECT3D7; 00079 00080 typedef struct IDirect3DLight *LPDIRECT3DLIGHT; 00081 00082 typedef struct IDirect3DDevice *LPDIRECT3DDEVICE; 00083 typedef struct IDirect3DDevice2 *LPDIRECT3DDEVICE2; 00084 typedef struct IDirect3DDevice3 *LPDIRECT3DDEVICE3; 00085 typedef struct IDirect3DDevice7 *LPDIRECT3DDEVICE7; 00086 00087 typedef struct IDirect3DViewport *LPDIRECT3DVIEWPORT; 00088 typedef struct IDirect3DViewport2 *LPDIRECT3DVIEWPORT2; 00089 typedef struct IDirect3DViewport3 *LPDIRECT3DVIEWPORT3; 00090 00091 typedef struct IDirect3DMaterial *LPDIRECT3DMATERIAL; 00092 typedef struct IDirect3DMaterial2 *LPDIRECT3DMATERIAL2; 00093 typedef struct IDirect3DMaterial3 *LPDIRECT3DMATERIAL3; 00094 00095 typedef struct IDirect3DTexture *LPDIRECT3DTEXTURE; 00096 typedef struct IDirect3DTexture2 *LPDIRECT3DTEXTURE2; 00097 00098 typedef struct IDirect3DExecuteBuffer *LPDIRECT3DEXECUTEBUFFER; 00099 00100 typedef struct IDirect3DVertexBuffer *LPDIRECT3DVERTEXBUFFER; 00101 typedef struct IDirect3DVertexBuffer7 *LPDIRECT3DVERTEXBUFFER7; 00102 00103 /* ******************************************************************** 00104 Error Codes 00105 ******************************************************************** */ 00106 #define D3D_OK DD_OK 00107 #define D3DERR_BADMAJORVERSION MAKE_DDHRESULT(700) 00108 #define D3DERR_BADMINORVERSION MAKE_DDHRESULT(701) 00109 #define D3DERR_INVALID_DEVICE MAKE_DDHRESULT(705) 00110 #define D3DERR_INITFAILED MAKE_DDHRESULT(706) 00111 #define D3DERR_DEVICEAGGREGATED MAKE_DDHRESULT(707) 00112 #define D3DERR_EXECUTE_CREATE_FAILED MAKE_DDHRESULT(710) 00113 #define D3DERR_EXECUTE_DESTROY_FAILED MAKE_DDHRESULT(711) 00114 #define D3DERR_EXECUTE_LOCK_FAILED MAKE_DDHRESULT(712) 00115 #define D3DERR_EXECUTE_UNLOCK_FAILED MAKE_DDHRESULT(713) 00116 #define D3DERR_EXECUTE_LOCKED MAKE_DDHRESULT(714) 00117 #define D3DERR_EXECUTE_NOT_LOCKED MAKE_DDHRESULT(715) 00118 #define D3DERR_EXECUTE_FAILED MAKE_DDHRESULT(716) 00119 #define D3DERR_EXECUTE_CLIPPED_FAILED MAKE_DDHRESULT(717) 00120 #define D3DERR_TEXTURE_NO_SUPPORT MAKE_DDHRESULT(720) 00121 #define D3DERR_TEXTURE_CREATE_FAILED MAKE_DDHRESULT(721) 00122 #define D3DERR_TEXTURE_DESTROY_FAILED MAKE_DDHRESULT(722) 00123 #define D3DERR_TEXTURE_LOCK_FAILED MAKE_DDHRESULT(723) 00124 #define D3DERR_TEXTURE_UNLOCK_FAILED MAKE_DDHRESULT(724) 00125 #define D3DERR_TEXTURE_LOAD_FAILED MAKE_DDHRESULT(725) 00126 #define D3DERR_TEXTURE_SWAP_FAILED MAKE_DDHRESULT(726) 00127 #define D3DERR_TEXTURE_LOCKED MAKE_DDHRESULT(727) 00128 #define D3DERR_TEXTURE_NOT_LOCKED MAKE_DDHRESULT(728) 00129 #define D3DERR_TEXTURE_GETSURF_FAILED MAKE_DDHRESULT(729) 00130 #define D3DERR_MATRIX_CREATE_FAILED MAKE_DDHRESULT(730) 00131 #define D3DERR_MATRIX_DESTROY_FAILED MAKE_DDHRESULT(731) 00132 #define D3DERR_MATRIX_SETDATA_FAILED MAKE_DDHRESULT(732) 00133 #define D3DERR_MATRIX_GETDATA_FAILED MAKE_DDHRESULT(733) 00134 #define D3DERR_SETVIEWPORTDATA_FAILED MAKE_DDHRESULT(734) 00135 #define D3DERR_INVALIDCURRENTVIEWPORT MAKE_DDHRESULT(735) 00136 #define D3DERR_INVALIDPRIMITIVETYPE MAKE_DDHRESULT(736) 00137 #define D3DERR_INVALIDVERTEXTYPE MAKE_DDHRESULT(737) 00138 #define D3DERR_TEXTURE_BADSIZE MAKE_DDHRESULT(738) 00139 #define D3DERR_INVALIDRAMPTEXTURE MAKE_DDHRESULT(739) 00140 #define D3DERR_MATERIAL_CREATE_FAILED MAKE_DDHRESULT(740) 00141 #define D3DERR_MATERIAL_DESTROY_FAILED MAKE_DDHRESULT(741) 00142 #define D3DERR_MATERIAL_SETDATA_FAILED MAKE_DDHRESULT(742) 00143 #define D3DERR_MATERIAL_GETDATA_FAILED MAKE_DDHRESULT(743) 00144 #define D3DERR_INVALIDPALETTE MAKE_DDHRESULT(744) 00145 #define D3DERR_ZBUFF_NEEDS_SYSTEMMEMORY MAKE_DDHRESULT(745) 00146 #define D3DERR_ZBUFF_NEEDS_VIDEOMEMORY MAKE_DDHRESULT(746) 00147 #define D3DERR_SURFACENOTINVIDMEM MAKE_DDHRESULT(747) 00148 #define D3DERR_LIGHT_SET_FAILED MAKE_DDHRESULT(750) 00149 #define D3DERR_LIGHTHASVIEWPORT MAKE_DDHRESULT(751) 00150 #define D3DERR_LIGHTNOTINTHISVIEWPORT MAKE_DDHRESULT(752) 00151 #define D3DERR_SCENE_IN_SCENE MAKE_DDHRESULT(760) 00152 #define D3DERR_SCENE_NOT_IN_SCENE MAKE_DDHRESULT(761) 00153 #define D3DERR_SCENE_BEGIN_FAILED MAKE_DDHRESULT(762) 00154 #define D3DERR_SCENE_END_FAILED MAKE_DDHRESULT(763) 00155 #define D3DERR_INBEGIN MAKE_DDHRESULT(770) 00156 #define D3DERR_NOTINBEGIN MAKE_DDHRESULT(771) 00157 #define D3DERR_NOVIEWPORTS MAKE_DDHRESULT(772) 00158 #define D3DERR_VIEWPORTDATANOTSET MAKE_DDHRESULT(773) 00159 #define D3DERR_VIEWPORTHASNODEVICE MAKE_DDHRESULT(774) 00160 #define D3DERR_NOCURRENTVIEWPORT MAKE_DDHRESULT(775) 00161 #define D3DERR_INVALIDVERTEXFORMAT MAKE_DDHRESULT(2048) 00162 #define D3DERR_COLORKEYATTACHED MAKE_DDHRESULT(2050) 00163 #define D3DERR_VERTEXBUFFEROPTIMIZED MAKE_DDHRESULT(2060) 00164 #define D3DERR_VBUF_CREATE_FAILED MAKE_DDHRESULT(2061) 00165 #define D3DERR_VERTEXBUFFERLOCKED MAKE_DDHRESULT(2062) 00166 #define D3DERR_VERTEXBUFFERUNLOCKFAILED MAKE_DDHRESULT(2063) 00167 #define D3DERR_ZBUFFER_NOTPRESENT MAKE_DDHRESULT(2070) 00168 #define D3DERR_STENCILBUFFER_NOTPRESENT MAKE_DDHRESULT(2071) 00169 00170 #define D3DERR_WRONGTEXTUREFORMAT MAKE_DDHRESULT(2072) 00171 #define D3DERR_UNSUPPORTEDCOLOROPERATION MAKE_DDHRESULT(2073) 00172 #define D3DERR_UNSUPPORTEDCOLORARG MAKE_DDHRESULT(2074) 00173 #define D3DERR_UNSUPPORTEDALPHAOPERATION MAKE_DDHRESULT(2075) 00174 #define D3DERR_UNSUPPORTEDALPHAARG MAKE_DDHRESULT(2076) 00175 #define D3DERR_TOOMANYOPERATIONS MAKE_DDHRESULT(2077) 00176 #define D3DERR_CONFLICTINGTEXTUREFILTER MAKE_DDHRESULT(2078) 00177 #define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_DDHRESULT(2079) 00178 #define D3DERR_CONFLICTINGRENDERSTATE MAKE_DDHRESULT(2081) 00179 #define D3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_DDHRESULT(2082) 00180 #define D3DERR_TOOMANYPRIMITIVES MAKE_DDHRESULT(2083) 00181 #define D3DERR_INVALIDMATRIX MAKE_DDHRESULT(2084) 00182 #define D3DERR_TOOMANYVERTICES MAKE_DDHRESULT(2085) 00183 #define D3DERR_CONFLICTINGTEXTUREPALETTE MAKE_DDHRESULT(2086) 00184 00185 #define D3DERR_INVALIDSTATEBLOCK MAKE_DDHRESULT(2100) 00186 #define D3DERR_INBEGINSTATEBLOCK MAKE_DDHRESULT(2101) 00187 #define D3DERR_NOTINBEGINSTATEBLOCK MAKE_DDHRESULT(2102) 00188 00189 /* ******************************************************************** 00190 Enums 00191 ******************************************************************** */ 00192 #define D3DNEXT_NEXT 0x01l 00193 #define D3DNEXT_HEAD 0x02l 00194 #define D3DNEXT_TAIL 0x04l 00195 00196 #define D3DDP_WAIT 0x00000001l 00197 #define D3DDP_OUTOFORDER 0x00000002l 00198 #define D3DDP_DONOTCLIP 0x00000004l 00199 #define D3DDP_DONOTUPDATEEXTENTS 0x00000008l 00200 #define D3DDP_DONOTLIGHT 0x00000010l 00201 00202 /* ******************************************************************** 00203 Types and structures 00204 ******************************************************************** */ 00205 typedef DWORD D3DVIEWPORTHANDLE, *LPD3DVIEWPORTHANDLE; 00206 00207 00208 /***************************************************************************** 00209 * IDirect3D interface 00210 */ 00211 #undef INTERFACE 00212 #define INTERFACE IDirect3D 00213 DECLARE_INTERFACE_(IDirect3D,IUnknown) 00214 { 00215 /*** IUnknown methods ***/ 00216 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00217 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00218 STDMETHOD_(ULONG,Release)(THIS) PURE; 00219 /*** IDirect3D methods ***/ 00220 STDMETHOD(Initialize)(THIS_ REFIID riid) PURE; 00221 STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE; 00222 STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE; 00223 STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL *lplpDirect3DMaterial, IUnknown *pUnkOuter) PURE; 00224 STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT *lplpD3DViewport, IUnknown *pUnkOuter) PURE; 00225 STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lplpD3DDevice) PURE; 00226 }; 00227 #undef INTERFACE 00228 00229 #if !defined(__cplusplus) || defined(CINTERFACE) 00230 /*** IUnknown methods ***/ 00231 #define IDirect3D_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00232 #define IDirect3D_AddRef(p) (p)->lpVtbl->AddRef(p) 00233 #define IDirect3D_Release(p) (p)->lpVtbl->Release(p) 00234 /*** IDirect3D methods ***/ 00235 #define IDirect3D_Initialize(p,a) (p)->lpVtbl->Initialize(p,a) 00236 #define IDirect3D_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b) 00237 #define IDirect3D_CreateLight(p,a,b) (p)->lpVtbl->CreateLight(p,a,b) 00238 #define IDirect3D_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b) 00239 #define IDirect3D_CreateViewport(p,a,b) (p)->lpVtbl->CreateViewport(p,a,b) 00240 #define IDirect3D_FindDevice(p,a,b) (p)->lpVtbl->FindDevice(p,a,b) 00241 #else 00242 /*** IUnknown methods ***/ 00243 #define IDirect3D_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00244 #define IDirect3D_AddRef(p) (p)->AddRef() 00245 #define IDirect3D_Release(p) (p)->Release() 00246 /*** IDirect3D methods ***/ 00247 #define IDirect3D_Initialize(p,a) (p)->Initialize(a) 00248 #define IDirect3D_EnumDevices(p,a,b) (p)->EnumDevices(a,b) 00249 #define IDirect3D_CreateLight(p,a,b) (p)->CreateLight(a,b) 00250 #define IDirect3D_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b) 00251 #define IDirect3D_CreateViewport(p,a,b) (p)->CreateViewport(a,b) 00252 #define IDirect3D_FindDevice(p,a,b) (p)->FindDevice(a,b) 00253 #endif 00254 00255 00256 /***************************************************************************** 00257 * IDirect3D2 interface 00258 */ 00259 #define INTERFACE IDirect3D2 00260 DECLARE_INTERFACE_(IDirect3D2,IUnknown) 00261 { 00262 /*** IUnknown methods ***/ 00263 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00264 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00265 STDMETHOD_(ULONG,Release)(THIS) PURE; 00266 /*** IDirect3D2 methods ***/ 00267 STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE; 00268 STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE; 00269 STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL2 *lplpDirect3DMaterial2, IUnknown *pUnkOuter) PURE; 00270 STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT2 *lplpD3DViewport2, IUnknown *pUnkOuter) PURE; 00271 STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lpD3DFDR) PURE; 00272 STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid, LPDIRECTDRAWSURFACE lpDDS, LPDIRECT3DDEVICE2 *lplpD3DDevice2) PURE; 00273 }; 00274 #undef INTERFACE 00275 00276 #if !defined(__cplusplus) || defined(CINTERFACE) 00277 /*** IUnknown methods ***/ 00278 #define IDirect3D2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00279 #define IDirect3D2_AddRef(p) (p)->lpVtbl->AddRef(p) 00280 #define IDirect3D2_Release(p) (p)->lpVtbl->Release(p) 00281 /*** IDirect3D2 methods ***/ 00282 #define IDirect3D2_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b) 00283 #define IDirect3D2_CreateLight(p,a,b) (p)->lpVtbl->CreateLight(p,a,b) 00284 #define IDirect3D2_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b) 00285 #define IDirect3D2_CreateViewport(p,a,b) (p)->lpVtbl->CreateViewport(p,a,b) 00286 #define IDirect3D2_FindDevice(p,a,b) (p)->lpVtbl->FindDevice(p,a,b) 00287 #define IDirect3D2_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c) 00288 #else 00289 /*** IUnknown methods ***/ 00290 #define IDirect3D2_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00291 #define IDirect3D2_AddRef(p) (p)->AddRef() 00292 #define IDirect3D2_Release(p) (p)->Release() 00293 /*** IDirect3D2 methods ***/ 00294 #define IDirect3D2_EnumDevices(p,a,b) (p)->EnumDevices(a,b) 00295 #define IDirect3D2_CreateLight(p,a,b) (p)->CreateLight(a,b) 00296 #define IDirect3D2_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b) 00297 #define IDirect3D2_CreateViewport(p,a,b) (p)->CreateViewport(a,b) 00298 #define IDirect3D2_FindDevice(p,a,b) (p)->FindDevice(a,b) 00299 #define IDirect3D2_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c) 00300 #endif 00301 00302 00303 /***************************************************************************** 00304 * IDirect3D3 interface 00305 */ 00306 #define INTERFACE IDirect3D3 00307 DECLARE_INTERFACE_(IDirect3D3,IUnknown) 00308 { 00309 /*** IUnknown methods ***/ 00310 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00311 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00312 STDMETHOD_(ULONG,Release)(THIS) PURE; 00313 /*** IDirect3D3 methods ***/ 00314 STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE; 00315 STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE; 00316 STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL3 *lplpDirect3DMaterial3, IUnknown *pUnkOuter) PURE; 00317 STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT3 *lplpD3DViewport3, IUnknown *pUnkOuter) PURE; 00318 STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lpD3DFDR) PURE; 00319 STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid,LPDIRECTDRAWSURFACE4 lpDDS, LPDIRECT3DDEVICE3 *lplpD3DDevice3,LPUNKNOWN lpUnk) PURE; 00320 STDMETHOD(CreateVertexBuffer)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER *lplpD3DVertBuf,DWORD dwFlags,LPUNKNOWN lpUnk) PURE; 00321 STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID riidDevice,LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,LPVOID lpContext) PURE; 00322 STDMETHOD(EvictManagedTextures)(THIS) PURE; 00323 }; 00324 #undef INTERFACE 00325 00326 #if !defined(__cplusplus) || defined(CINTERFACE) 00327 /*** IUnknown methods ***/ 00328 #define IDirect3D3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00329 #define IDirect3D3_AddRef(p) (p)->lpVtbl->AddRef(p) 00330 #define IDirect3D3_Release(p) (p)->lpVtbl->Release(p) 00331 /*** IDirect3D3 methods ***/ 00332 #define IDirect3D3_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b) 00333 #define IDirect3D3_CreateLight(p,a,b) (p)->lpVtbl->CreateLight(p,a,b) 00334 #define IDirect3D3_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b) 00335 #define IDirect3D3_CreateViewport(p,a,b) (p)->lpVtbl->CreateViewport(p,a,b) 00336 #define IDirect3D3_FindDevice(p,a,b) (p)->lpVtbl->FindDevice(p,a,b) 00337 #define IDirect3D3_CreateDevice(p,a,b,c,d) (p)->lpVtbl->CreateDevice(p,a,b,c,d) 00338 #define IDirect3D3_CreateVertexBuffer(p,a,b,c,d) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d) 00339 #define IDirect3D3_EnumZBufferFormats(p,a,b,c) (p)->lpVtbl->EnumZBufferFormats(p,a,b,c) 00340 #define IDirect3D3_EvictManagedTextures(p) (p)->lpVtbl->EvictManagedTextures(p) 00341 #else 00342 /*** IUnknown methods ***/ 00343 #define IDirect3D3_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00344 #define IDirect3D3_AddRef(p) (p)->AddRef() 00345 #define IDirect3D3_Release(p) (p)->Release() 00346 /*** IDirect3D3 methods ***/ 00347 #define IDirect3D3_EnumDevices(p,a,b) (p)->EnumDevices(a,b) 00348 #define IDirect3D3_CreateLight(p,a,b) (p)->CreateLight(a,b) 00349 #define IDirect3D3_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b) 00350 #define IDirect3D3_CreateViewport(p,a,b) (p)->CreateViewport(a,b) 00351 #define IDirect3D3_FindDevice(p,a,b) (p)->FindDevice(a,b) 00352 #define IDirect3D3_CreateDevice(p,a,b,c,d) (p)->CreateDevice(a,b,c,d) 00353 #define IDirect3D3_CreateVertexBuffer(p,a,b,c,d) (p)->CreateVertexBuffer(a,b,c,d) 00354 #define IDirect3D3_EnumZBufferFormats(p,a,b,c) (p)->EnumZBufferFormats(a,b,c) 00355 #define IDirect3D3_EvictManagedTextures(p) (p)->EvictManagedTextures() 00356 #endif 00357 00358 /***************************************************************************** 00359 * IDirect3D7 interface 00360 */ 00361 #define INTERFACE IDirect3D7 00362 DECLARE_INTERFACE_(IDirect3D7,IUnknown) 00363 { 00364 /*** IUnknown methods ***/ 00365 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00366 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00367 STDMETHOD_(ULONG,Release)(THIS) PURE; 00368 /*** IDirect3D7 methods ***/ 00369 STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK7 lpEnumDevicesCallback, LPVOID lpUserArg) PURE; 00370 STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid,LPDIRECTDRAWSURFACE7 lpDDS, LPDIRECT3DDEVICE7 *lplpD3DDevice) PURE; 00371 STDMETHOD(CreateVertexBuffer)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER7 *lplpD3DVertBuf,DWORD dwFlags) PURE; 00372 STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID riidDevice,LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,LPVOID lpContext) PURE; 00373 STDMETHOD(EvictManagedTextures)(THIS) PURE; 00374 }; 00375 #undef INTERFACE 00376 00377 #if !defined(__cplusplus) || defined(CINTERFACE) 00378 /*** IUnknown methods ***/ 00379 #define IDirect3D7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00380 #define IDirect3D7_AddRef(p) (p)->lpVtbl->AddRef(p) 00381 #define IDirect3D7_Release(p) (p)->lpVtbl->Release(p) 00382 /*** IDirect3D3 methods ***/ 00383 #define IDirect3D7_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b) 00384 #define IDirect3D7_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c) 00385 #define IDirect3D7_CreateVertexBuffer(p,a,b,c) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c) 00386 #define IDirect3D7_EnumZBufferFormats(p,a,b,c) (p)->lpVtbl->EnumZBufferFormats(p,a,b,c) 00387 #define IDirect3D7_EvictManagedTextures(p) (p)->lpVtbl->EvictManagedTextures(p) 00388 #else 00389 /*** IUnknown methods ***/ 00390 #define IDirect3D7_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00391 #define IDirect3D7_AddRef(p) (p)->AddRef() 00392 #define IDirect3D7_Release(p) (p)->Release() 00393 /*** IDirect3D3 methods ***/ 00394 #define IDirect3D7_EnumDevices(p,a,b) (p)->EnumDevices(a,b) 00395 #define IDirect3D7_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c) 00396 #define IDirect3D7_CreateVertexBuffer(p,a,b,c) (p)->CreateVertexBuffer(a,b,c) 00397 #define IDirect3D7_EnumZBufferFormats(p,a,b,c) (p)->EnumZBufferFormats(a,b,c) 00398 #define IDirect3D7_EvictManagedTextures(p) (p)->EvictManagedTextures() 00399 #endif 00400 00401 00402 /***************************************************************************** 00403 * IDirect3DLight interface 00404 */ 00405 #define INTERFACE IDirect3DLight 00406 DECLARE_INTERFACE_(IDirect3DLight,IUnknown) 00407 { 00408 /*** IUnknown methods ***/ 00409 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00410 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00411 STDMETHOD_(ULONG,Release)(THIS) PURE; 00412 /*** IDirect3DLight methods ***/ 00413 STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE; 00414 STDMETHOD(SetLight)(THIS_ LPD3DLIGHT lpLight) PURE; 00415 STDMETHOD(GetLight)(THIS_ LPD3DLIGHT lpLight) PURE; 00416 }; 00417 #undef INTERFACE 00418 00419 #if !defined(__cplusplus) || defined(CINTERFACE) 00420 /*** IUnknown methods ***/ 00421 #define IDirect3DLight_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00422 #define IDirect3DLight_AddRef(p) (p)->lpVtbl->AddRef(p) 00423 #define IDirect3DLight_Release(p) (p)->lpVtbl->Release(p) 00424 /*** IDirect3DLight methods ***/ 00425 #define IDirect3DLight_Initialize(p,a) (p)->lpVtbl->Initialize(p,a) 00426 #define IDirect3DLight_SetLight(p,a) (p)->lpVtbl->SetLight(p,a) 00427 #define IDirect3DLight_GetLight(p,a) (p)->lpVtbl->GetLight(p,a) 00428 #else 00429 /*** IUnknown methods ***/ 00430 #define IDirect3DLight_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00431 #define IDirect3DLight_AddRef(p) (p)->AddRef() 00432 #define IDirect3DLight_Release(p) (p)->Release() 00433 /*** IDirect3DLight methods ***/ 00434 #define IDirect3DLight_Initialize(p,a) (p)->Initialize(a) 00435 #define IDirect3DLight_SetLight(p,a) (p)->SetLight(a) 00436 #define IDirect3DLight_GetLight(p,a) (p)->GetLight(a) 00437 #endif 00438 00439 00440 /***************************************************************************** 00441 * IDirect3DMaterial interface 00442 */ 00443 #define INTERFACE IDirect3DMaterial 00444 DECLARE_INTERFACE_(IDirect3DMaterial,IUnknown) 00445 { 00446 /*** IUnknown methods ***/ 00447 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00448 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00449 STDMETHOD_(ULONG,Release)(THIS) PURE; 00450 /*** IDirect3DMaterial methods ***/ 00451 STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE; 00452 STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; 00453 STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; 00454 STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DMATERIALHANDLE lpHandle) PURE; 00455 STDMETHOD(Reserve)(THIS) PURE; 00456 STDMETHOD(Unreserve)(THIS) PURE; 00457 }; 00458 #undef INTERFACE 00459 00460 #if !defined(__cplusplus) || defined(CINTERFACE) 00461 /*** IUnknown methods ***/ 00462 #define IDirect3DMaterial_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00463 #define IDirect3DMaterial_AddRef(p) (p)->lpVtbl->AddRef(p) 00464 #define IDirect3DMaterial_Release(p) (p)->lpVtbl->Release(p) 00465 /*** IDirect3DMaterial methods ***/ 00466 #define IDirect3DMaterial_Initialize(p,a) (p)->lpVtbl->Initialize(p,a) 00467 #define IDirect3DMaterial_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a) 00468 #define IDirect3DMaterial_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a) 00469 #define IDirect3DMaterial_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b) 00470 #define IDirect3DMaterial_Reserve(p) (p)->lpVtbl->Reserve(p) 00471 #define IDirect3DMaterial_Unreserve(p) (p)->lpVtbl->Unreserve(p) 00472 #else 00473 /*** IUnknown methods ***/ 00474 #define IDirect3DMaterial_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00475 #define IDirect3DMaterial_AddRef(p) (p)->AddRef() 00476 #define IDirect3DMaterial_Release(p) (p)->Release() 00477 /*** IDirect3DMaterial methods ***/ 00478 #define IDirect3DMaterial_Initialize(p,a) (p)->Initialize(a) 00479 #define IDirect3DMaterial_SetMaterial(p,a) (p)->SetMaterial(a) 00480 #define IDirect3DMaterial_GetMaterial(p,a) (p)->GetMaterial(a) 00481 #define IDirect3DMaterial_GetHandle(p,a,b) (p)->GetHandle(a,b) 00482 #define IDirect3DMaterial_Reserve(p) (p)->Reserve() 00483 #define IDirect3DMaterial_Unreserve(p) (p)->Unreserve() 00484 #endif 00485 00486 00487 /***************************************************************************** 00488 * IDirect3DMaterial2 interface 00489 */ 00490 #define INTERFACE IDirect3DMaterial2 00491 DECLARE_INTERFACE_(IDirect3DMaterial2,IUnknown) 00492 { 00493 /*** IUnknown methods ***/ 00494 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00495 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00496 STDMETHOD_(ULONG,Release)(THIS) PURE; 00497 /*** IDirect3DMaterial2 methods ***/ 00498 STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; 00499 STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; 00500 STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE2 lpDirect3DDevice2, LPD3DMATERIALHANDLE lpHandle) PURE; 00501 }; 00502 #undef INTERFACE 00503 00504 #if !defined(__cplusplus) || defined(CINTERFACE) 00505 /*** IUnknown methods ***/ 00506 #define IDirect3DMaterial2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00507 #define IDirect3DMaterial2_AddRef(p) (p)->lpVtbl->AddRef(p) 00508 #define IDirect3DMaterial2_Release(p) (p)->lpVtbl->Release(p) 00509 /*** IDirect3DMaterial2 methods ***/ 00510 #define IDirect3DMaterial2_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a) 00511 #define IDirect3DMaterial2_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a) 00512 #define IDirect3DMaterial2_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b) 00513 #else 00514 /*** IUnknown methods ***/ 00515 #define IDirect3DMaterial2_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00516 #define IDirect3DMaterial2_AddRef(p) (p)->AddRef() 00517 #define IDirect3DMaterial2_Release(p) (p)->Release() 00518 /*** IDirect3DMaterial2 methods ***/ 00519 #define IDirect3DMaterial2_SetMaterial(p,a) (p)->SetMaterial(a) 00520 #define IDirect3DMaterial2_GetMaterial(p,a) (p)->GetMaterial(a) 00521 #define IDirect3DMaterial2_GetHandle(p,a,b) (p)->GetHandle(a,b) 00522 #endif 00523 00524 00525 /***************************************************************************** 00526 * IDirect3DMaterial3 interface 00527 */ 00528 #define INTERFACE IDirect3DMaterial3 00529 DECLARE_INTERFACE_(IDirect3DMaterial3,IUnknown) 00530 { 00531 /*** IUnknown methods ***/ 00532 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00533 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00534 STDMETHOD_(ULONG,Release)(THIS) PURE; 00535 /*** IDirect3DMaterial3 methods ***/ 00536 STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; 00537 STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; 00538 STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE3 lpDirect3DDevice3, LPD3DMATERIALHANDLE lpHandle) PURE; 00539 }; 00540 #undef INTERFACE 00541 00542 #if !defined(__cplusplus) || defined(CINTERFACE) 00543 /*** IUnknown methods ***/ 00544 #define IDirect3DMaterial3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00545 #define IDirect3DMaterial3_AddRef(p) (p)->lpVtbl->AddRef(p) 00546 #define IDirect3DMaterial3_Release(p) (p)->lpVtbl->Release(p) 00547 /*** IDirect3DMaterial3 methods ***/ 00548 #define IDirect3DMaterial3_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a) 00549 #define IDirect3DMaterial3_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a) 00550 #define IDirect3DMaterial3_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b) 00551 #else 00552 /*** IUnknown methods ***/ 00553 #define IDirect3DMaterial3_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00554 #define IDirect3DMaterial3_AddRef(p) (p)->AddRef() 00555 #define IDirect3DMaterial3_Release(p) (p)->Release() 00556 /*** IDirect3DMaterial3 methods ***/ 00557 #define IDirect3DMaterial3_SetMaterial(p,a) (p)->SetMaterial(a) 00558 #define IDirect3DMaterial3_GetMaterial(p,a) (p)->GetMaterial(a) 00559 #define IDirect3DMaterial3_GetHandle(p,a,b) (p)->GetHandle(a,b) 00560 #endif 00561 00562 00563 /***************************************************************************** 00564 * IDirect3DTexture interface 00565 */ 00566 #define INTERFACE IDirect3DTexture 00567 DECLARE_INTERFACE_(IDirect3DTexture,IUnknown) 00568 { 00569 /*** IUnknown methods ***/ 00570 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00571 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00572 STDMETHOD_(ULONG,Release)(THIS) PURE; 00573 /*** IDirect3DTexture methods ***/ 00574 STDMETHOD(Initialize)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPDIRECTDRAWSURFACE lpDDSurface) PURE; 00575 STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DTEXTUREHANDLE lpHandle) PURE; 00576 STDMETHOD(PaletteChanged)(THIS_ DWORD dwStart, DWORD dwCount) PURE; 00577 STDMETHOD(Load)(THIS_ LPDIRECT3DTEXTURE lpD3DTexture) PURE; 00578 STDMETHOD(Unload)(THIS) PURE; 00579 }; 00580 #undef INTERFACE 00581 00582 #if !defined(__cplusplus) || defined(CINTERFACE) 00583 /*** IUnknown methods ***/ 00584 #define IDirect3DTexture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00585 #define IDirect3DTexture_AddRef(p) (p)->lpVtbl->AddRef(p) 00586 #define IDirect3DTexture_Release(p) (p)->lpVtbl->Release(p) 00587 /*** IDirect3DTexture methods ***/ 00588 #define IDirect3DTexture_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b) 00589 #define IDirect3DTexture_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b) 00590 #define IDirect3DTexture_PaletteChanged(p,a,b) (p)->lpVtbl->PaletteChanged(p,a,b) 00591 #define IDirect3DTexture_Load(p,a) (p)->lpVtbl->Load(p,a) 00592 #define IDirect3DTexture_Unload(p) (p)->lpVtbl->Unload(p) 00593 #else 00594 /*** IUnknown methods ***/ 00595 #define IDirect3DTexture_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00596 #define IDirect3DTexture_AddRef(p) (p)->AddRef() 00597 #define IDirect3DTexture_Release(p) (p)->Release() 00598 /*** IDirect3DTexture methods ***/ 00599 #define IDirect3DTexture_Initialize(p,a,b) (p)->Initialize(a,b) 00600 #define IDirect3DTexture_GetHandle(p,a,b) (p)->GetHandle(a,b) 00601 #define IDirect3DTexture_PaletteChanged(p,a,b) (p)->PaletteChanged(a,b) 00602 #define IDirect3DTexture_Load(p,a) (p)->Load(a) 00603 #define IDirect3DTexture_Unload(p) (p)->Unload() 00604 #endif 00605 00606 00607 /***************************************************************************** 00608 * IDirect3DTexture2 interface 00609 */ 00610 #define INTERFACE IDirect3DTexture2 00611 DECLARE_INTERFACE_(IDirect3DTexture2,IUnknown) 00612 { 00613 /*** IUnknown methods ***/ 00614 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00615 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00616 STDMETHOD_(ULONG,Release)(THIS) PURE; 00617 /*** IDirect3DTexture2 methods ***/ 00618 STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE2 lpDirect3DDevice2, LPD3DTEXTUREHANDLE lpHandle) PURE; 00619 STDMETHOD(PaletteChanged)(THIS_ DWORD dwStart, DWORD dwCount) PURE; 00620 STDMETHOD(Load)(THIS_ LPDIRECT3DTEXTURE2 lpD3DTexture2) PURE; 00621 }; 00622 #undef INTERFACE 00623 00624 #if !defined(__cplusplus) || defined(CINTERFACE) 00625 /*** IUnknown methods ***/ 00626 #define IDirect3DTexture2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00627 #define IDirect3DTexture2_AddRef(p) (p)->lpVtbl->AddRef(p) 00628 #define IDirect3DTexture2_Release(p) (p)->lpVtbl->Release(p) 00629 /*** IDirect3DTexture2 methods ***/ 00630 #define IDirect3DTexture2_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b) 00631 #define IDirect3DTexture2_PaletteChanged(p,a,b) (p)->lpVtbl->PaletteChanged(p,a,b) 00632 #define IDirect3DTexture2_Load(p,a) (p)->lpVtbl->Load(p,a) 00633 #else 00634 /*** IUnknown methods ***/ 00635 #define IDirect3DTexture2_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00636 #define IDirect3DTexture2_AddRef(p) (p)->AddRef() 00637 #define IDirect3DTexture2_Release(p) (p)->Release() 00638 /*** IDirect3DTexture2 methods ***/ 00639 #define IDirect3DTexture2_GetHandle(p,a,b) (p)->GetHandle(a,b) 00640 #define IDirect3DTexture2_PaletteChanged(p,a,b) (p)->PaletteChanged(a,b) 00641 #define IDirect3DTexture2_Load(p,a) (p)->Load(a) 00642 #endif 00643 00644 00645 /***************************************************************************** 00646 * IDirect3DViewport interface 00647 */ 00648 #define INTERFACE IDirect3DViewport 00649 DECLARE_INTERFACE_(IDirect3DViewport,IUnknown) 00650 { 00651 /*** IUnknown methods ***/ 00652 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00653 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00654 STDMETHOD_(ULONG,Release)(THIS) PURE; 00655 /*** IDirect3DViewport methods ***/ 00656 STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE; 00657 STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE; 00658 STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE; 00659 STDMETHOD(TransformVertices)(THIS_ DWORD dwVertexCount, LPD3DTRANSFORMDATA lpData, DWORD dwFlags, LPDWORD lpOffScreen) PURE; 00660 STDMETHOD(LightElements)(THIS_ DWORD dwElementCount, LPD3DLIGHTDATA lpData) PURE; 00661 STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE hMat) PURE; 00662 STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE lphMat, LPBOOL lpValid) PURE; 00663 STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface) PURE; 00664 STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *lplpDDSurface, LPBOOL lpValid) PURE; 00665 STDMETHOD(Clear)(THIS_ DWORD dwCount, LPD3DRECT lpRects, DWORD dwFlags) PURE; 00666 STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE; 00667 STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE; 00668 STDMETHOD(NextLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight, LPDIRECT3DLIGHT *lplpDirect3DLight, DWORD dwFlags) PURE; 00669 }; 00670 #undef INTERFACE 00671 00672 #if !defined(__cplusplus) || defined(CINTERFACE) 00673 /*** IUnknown methods ***/ 00674 #define IDirect3DViewport_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00675 #define IDirect3DViewport_AddRef(p) (p)->lpVtbl->AddRef(p) 00676 #define IDirect3DViewport_Release(p) (p)->lpVtbl->Release(p) 00677 /*** IDirect3DViewport methods ***/ 00678 #define IDirect3DViewport_Initialize(p,a) (p)->lpVtbl->Initialize(p,a) 00679 #define IDirect3DViewport_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a) 00680 #define IDirect3DViewport_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a) 00681 #define IDirect3DViewport_TransformVertices(p,a,b,c,d) (p)->lpVtbl->TransformVertices(p,a,b,c,d) 00682 #define IDirect3DViewport_LightElements(p,a,b) (p)->lpVtbl->LightElements(p,a,b) 00683 #define IDirect3DViewport_SetBackground(p,a) (p)->lpVtbl->SetBackground(p,a) 00684 #define IDirect3DViewport_GetBackground(p,a,b) (p)->lpVtbl->GetBackground(p,a,b) 00685 #define IDirect3DViewport_SetBackgroundDepth(p,a) (p)->lpVtbl->SetBackgroundDepth(p,a) 00686 #define IDirect3DViewport_GetBackgroundDepth(p,a,b) (p)->lpVtbl->GetBackgroundDepth(p,a,b) 00687 #define IDirect3DViewport_Clear(p,a,b,c) (p)->lpVtbl->Clear(p,a,b,c) 00688 #define IDirect3DViewport_AddLight(p,a) (p)->lpVtbl->AddLight(p,a) 00689 #define IDirect3DViewport_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a) 00690 #define IDirect3DViewport_NextLight(p,a,b,c) (p)->lpVtbl->NextLight(p,a,b,c) 00691 #else 00692 /*** IUnknown methods ***/ 00693 #define IDirect3DViewport_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00694 #define IDirect3DViewport_AddRef(p) (p)->AddRef() 00695 #define IDirect3DViewport_Release(p) (p)->Release() 00696 /*** IDirect3DViewport methods ***/ 00697 #define IDirect3DViewport_Initialize(p,a) (p)->Initialize(a) 00698 #define IDirect3DViewport_GetViewport(p,a) (p)->GetViewport(a) 00699 #define IDirect3DViewport_SetViewport(p,a) (p)->SetViewport(a) 00700 #define IDirect3DViewport_TransformVertices(p,a,b,c,d) (p)->TransformVertices(a,b,c,d) 00701 #define IDirect3DViewport_LightElements(p,a,b) (p)->LightElements(a,b) 00702 #define IDirect3DViewport_SetBackground(p,a) (p)->SetBackground(a) 00703 #define IDirect3DViewport_GetBackground(p,a,b) (p)->GetBackground(a,b) 00704 #define IDirect3DViewport_SetBackgroundDepth(p,a) (p)->SetBackgroundDepth(a) 00705 #define IDirect3DViewport_GetBackgroundDepth(p,a,b) (p)->GetBackgroundDepth(a,b) 00706 #define IDirect3DViewport_Clear(p,a,b,c) (p)->Clear(a,b,c) 00707 #define IDirect3DViewport_AddLight(p,a) (p)->AddLight(a) 00708 #define IDirect3DViewport_DeleteLight(p,a) (p)->DeleteLight(a) 00709 #define IDirect3DViewport_NextLight(p,a,b,c) (p)->NextLight(a,b,c) 00710 #endif 00711 00712 00713 /***************************************************************************** 00714 * IDirect3DViewport2 interface 00715 */ 00716 #define INTERFACE IDirect3DViewport2 00717 DECLARE_INTERFACE_(IDirect3DViewport2,IDirect3DViewport) 00718 { 00719 /*** IUnknown methods ***/ 00720 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00721 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00722 STDMETHOD_(ULONG,Release)(THIS) PURE; 00723 /*** IDirect3DViewport methods ***/ 00724 STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE; 00725 STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE; 00726 STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE; 00727 STDMETHOD(TransformVertices)(THIS_ DWORD dwVertexCount, LPD3DTRANSFORMDATA lpData, DWORD dwFlags, LPDWORD lpOffScreen) PURE; 00728 STDMETHOD(LightElements)(THIS_ DWORD dwElementCount, LPD3DLIGHTDATA lpData) PURE; 00729 STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE hMat) PURE; 00730 STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE lphMat, LPBOOL lpValid) PURE; 00731 STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface) PURE; 00732 STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *lplpDDSurface, LPBOOL lpValid) PURE; 00733 STDMETHOD(Clear)(THIS_ DWORD dwCount, LPD3DRECT lpRects, DWORD dwFlags) PURE; 00734 STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE; 00735 STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE; 00736 STDMETHOD(NextLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight, LPDIRECT3DLIGHT *lplpDirect3DLight, DWORD dwFlags) PURE; 00737 /*** IDirect3DViewport2 methods ***/ 00738 STDMETHOD(GetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE; 00739 STDMETHOD(SetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE; 00740 }; 00741 #undef INTERFACE 00742 00743 #if !defined(__cplusplus) || defined(CINTERFACE) 00744 /*** IUnknown methods ***/ 00745 #define IDirect3DViewport2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00746 #define IDirect3DViewport2_AddRef(p) (p)->lpVtbl->AddRef(p) 00747 #define IDirect3DViewport2_Release(p) (p)->lpVtbl->Release(p) 00748 /*** IDirect3Viewport methods ***/ 00749 #define IDirect3DViewport2_Initialize(p,a) (p)->lpVtbl->Initialize(p,a) 00750 #define IDirect3DViewport2_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a) 00751 #define IDirect3DViewport2_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a) 00752 #define IDirect3DViewport2_TransformVertices(p,a,b,c,d) (p)->lpVtbl->TransformVertices(p,a,b,c,d) 00753 #define IDirect3DViewport2_LightElements(p,a,b) (p)->lpVtbl->LightElements(p,a,b) 00754 #define IDirect3DViewport2_SetBackground(p,a) (p)->lpVtbl->SetBackground(p,a) 00755 #define IDirect3DViewport2_GetBackground(p,a,b) (p)->lpVtbl->GetBackground(p,a,b) 00756 #define IDirect3DViewport2_SetBackgroundDepth(p,a) (p)->lpVtbl->SetBackgroundDepth(p,a) 00757 #define IDirect3DViewport2_GetBackgroundDepth(p,a,b) (p)->lpVtbl->GetBackgroundDepth(p,a,b) 00758 #define IDirect3DViewport2_Clear(p,a,b,c) (p)->lpVtbl->Clear(p,a,b,c) 00759 #define IDirect3DViewport2_AddLight(p,a) (p)->lpVtbl->AddLight(p,a) 00760 #define IDirect3DViewport2_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a) 00761 #define IDirect3DViewport2_NextLight(p,a,b,c) (p)->lpVtbl->NextLight(p,a,b,c) 00762 /*** IDirect3DViewport2 methods ***/ 00763 #define IDirect3DViewport2_GetViewport2(p,a) (p)->lpVtbl->GetViewport2(p,a) 00764 #define IDirect3DViewport2_SetViewport2(p,a) (p)->lpVtbl->SetViewport2(p,a) 00765 #else 00766 /*** IUnknown methods ***/ 00767 #define IDirect3DViewport2_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00768 #define IDirect3DViewport2_AddRef(p) (p)->AddRef() 00769 #define IDirect3DViewport2_Release(p) (p)->Release() 00770 /*** IDirect3Viewport methods ***/ 00771 #define IDirect3DViewport2_Initialize(p,a) (p)->Initialize(a) 00772 #define IDirect3DViewport2_GetViewport(p,a) (p)->GetViewport(a) 00773 #define IDirect3DViewport2_SetViewport(p,a) (p)->SetViewport(a) 00774 #define IDirect3DViewport2_TransformVertices(p,a,b,c,d) (p)->TransformVertices(a,b,c,d) 00775 #define IDirect3DViewport2_LightElements(p,a,b) (p)->LightElements(a,b) 00776 #define IDirect3DViewport2_SetBackground(p,a) (p)->SetBackground(a) 00777 #define IDirect3DViewport2_GetBackground(p,a,b) (p)->GetBackground(a,b) 00778 #define IDirect3DViewport2_SetBackgroundDepth(p,a) (p)->SetBackgroundDepth(a) 00779 #define IDirect3DViewport2_GetBackgroundDepth(p,a,b) (p)->GetBackgroundDepth(a,b) 00780 #define IDirect3DViewport2_Clear(p,a,b,c) (p)->Clear(a,b,c) 00781 #define IDirect3DViewport2_AddLight(p,a) (p)->AddLight(a) 00782 #define IDirect3DViewport2_DeleteLight(p,a) (p)->DeleteLight(a) 00783 #define IDirect3DViewport2_NextLight(p,a,b,c) (p)->NextLight(a,b,c) 00784 /*** IDirect3DViewport2 methods ***/ 00785 #define IDirect3DViewport2_GetViewport2(p,a) (p)->GetViewport2(a) 00786 #define IDirect3DViewport2_SetViewport2(p,a) (p)->SetViewport2(a) 00787 #endif 00788 00789 /***************************************************************************** 00790 * IDirect3DViewport3 interface 00791 */ 00792 #define INTERFACE IDirect3DViewport3 00793 DECLARE_INTERFACE_(IDirect3DViewport3,IDirect3DViewport2) 00794 { 00795 /*** IUnknown methods ***/ 00796 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00797 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00798 STDMETHOD_(ULONG,Release)(THIS) PURE; 00799 /*** IDirect3DViewport methods ***/ 00800 STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE; 00801 STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE; 00802 STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE; 00803 STDMETHOD(TransformVertices)(THIS_ DWORD dwVertexCount, LPD3DTRANSFORMDATA lpData, DWORD dwFlags, LPDWORD lpOffScreen) PURE; 00804 STDMETHOD(LightElements)(THIS_ DWORD dwElementCount, LPD3DLIGHTDATA lpData) PURE; 00805 STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE hMat) PURE; 00806 STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE lphMat, LPBOOL lpValid) PURE; 00807 STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface) PURE; 00808 STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *lplpDDSurface, LPBOOL lpValid) PURE; 00809 STDMETHOD(Clear)(THIS_ DWORD dwCount, LPD3DRECT lpRects, DWORD dwFlags) PURE; 00810 STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE; 00811 STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE; 00812 STDMETHOD(NextLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight, LPDIRECT3DLIGHT *lplpDirect3DLight, DWORD dwFlags) PURE; 00813 /*** IDirect3DViewport2 methods ***/ 00814 STDMETHOD(GetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE; 00815 STDMETHOD(SetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE; 00816 /*** IDirect3DViewport3 methods ***/ 00817 STDMETHOD(SetBackgroundDepth2)(THIS_ LPDIRECTDRAWSURFACE4 lpDDS) PURE; 00818 STDMETHOD(GetBackgroundDepth2)(THIS_ LPDIRECTDRAWSURFACE4 *lplpDDS,LPBOOL lpValid) PURE; 00819 STDMETHOD(Clear2)(THIS_ DWORD dwCount,LPD3DRECT lpRects,DWORD dwFlags,DWORD dwColor,D3DVALUE dvZ,DWORD dwStencil) PURE; 00820 }; 00821 #undef INTERFACE 00822 00823 #if !defined(__cplusplus) || defined(CINTERFACE) 00824 /*** IUnknown methods ***/ 00825 #define IDirect3DViewport3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00826 #define IDirect3DViewport3_AddRef(p) (p)->lpVtbl->AddRef(p) 00827 #define IDirect3DViewport3_Release(p) (p)->lpVtbl->Release(p) 00828 /*** IDirect3Viewport methods ***/ 00829 #define IDirect3DViewport3_Initialize(p,a) (p)->lpVtbl->Initialize(p,a) 00830 #define IDirect3DViewport3_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a) 00831 #define IDirect3DViewport3_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a) 00832 #define IDirect3DViewport3_TransformVertices(p,a,b,c,d) (p)->lpVtbl->TransformVertices(p,a,b,c,d) 00833 #define IDirect3DViewport3_LightElements(p,a,b) (p)->lpVtbl->LightElements(p,a,b) 00834 #define IDirect3DViewport3_SetBackground(p,a) (p)->lpVtbl->SetBackground(p,a) 00835 #define IDirect3DViewport3_GetBackground(p,a,b) (p)->lpVtbl->GetBackground(p,a,b) 00836 #define IDirect3DViewport3_SetBackgroundDepth(p,a) (p)->lpVtbl->SetBackgroundDepth(p,a) 00837 #define IDirect3DViewport3_GetBackgroundDepth(p,a,b) (p)->lpVtbl->GetBackgroundDepth(p,a,b) 00838 #define IDirect3DViewport3_Clear(p,a,b,c) (p)->lpVtbl->Clear(p,a,b,c) 00839 #define IDirect3DViewport3_AddLight(p,a) (p)->lpVtbl->AddLight(p,a) 00840 #define IDirect3DViewport3_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a) 00841 #define IDirect3DViewport3_NextLight(p,a,b,c) (p)->lpVtbl->NextLight(p,a,b,c) 00842 /*** IDirect3DViewport2 methods ***/ 00843 #define IDirect3DViewport3_GetViewport2(p,a) (p)->lpVtbl->GetViewport2(p,a) 00844 #define IDirect3DViewport3_SetViewport2(p,a) (p)->lpVtbl->SetViewport2(p,a) 00845 /*** IDirect3DViewport3 methods ***/ 00846 #define IDirect3DViewport3_SetBackgroundDepth2(p,a) (p)->lpVtbl->SetBackgroundDepth2(p,a) 00847 #define IDirect3DViewport3_GetBackgroundDepth2(p,a,b) (p)->lpVtbl->GetBackgroundDepth2(p,a,b) 00848 #define IDirect3DViewport3_Clear2(p,a,b,c,d,e,f) (p)->lpVtbl->Clear2(p,a,b,c,d,e,f) 00849 #else 00850 /*** IUnknown methods ***/ 00851 #define IDirect3DViewport3_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00852 #define IDirect3DViewport3_AddRef(p) (p)->AddRef() 00853 #define IDirect3DViewport3_Release(p) (p)->Release() 00854 /*** IDirect3Viewport methods ***/ 00855 #define IDirect3DViewport3_Initialize(p,a) (p)->Initialize(a) 00856 #define IDirect3DViewport3_GetViewport(p,a) (p)->GetViewport(a) 00857 #define IDirect3DViewport3_SetViewport(p,a) (p)->SetViewport(a) 00858 #define IDirect3DViewport3_TransformVertices(p,a,b,c,d) (p)->TransformVertices(a,b,c,d) 00859 #define IDirect3DViewport3_LightElements(p,a,b) (p)->LightElements(a,b) 00860 #define IDirect3DViewport3_SetBackground(p,a) (p)->SetBackground(a) 00861 #define IDirect3DViewport3_GetBackground(p,a,b) (p)->GetBackground(a,b) 00862 #define IDirect3DViewport3_SetBackgroundDepth(p,a) (p)->SetBackgroundDepth(a) 00863 #define IDirect3DViewport3_GetBackgroundDepth(p,a,b) (p)->GetBackgroundDepth(a,b) 00864 #define IDirect3DViewport3_Clear(p,a,b,c) (p)->Clear(a,b,c) 00865 #define IDirect3DViewport3_AddLight(p,a) (p)->AddLight(a) 00866 #define IDirect3DViewport3_DeleteLight(p,a) (p)->DeleteLight(a) 00867 #define IDirect3DViewport3_NextLight(p,a,b,c) (p)->NextLight(a,b,c) 00868 /*** IDirect3DViewport2 methods ***/ 00869 #define IDirect3DViewport3_GetViewport2(p,a) (p)->GetViewport2(a) 00870 #define IDirect3DViewport3_SetViewport2(p,a) (p)->SetViewport2(a) 00871 /*** IDirect3DViewport3 methods ***/ 00872 #define IDirect3DViewport3_SetBackgroundDepth2(p,a) (p)->SetBackgroundDepth2(a) 00873 #define IDirect3DViewport3_GetBackgroundDepth2(p,a,b) (p)->GetBackgroundDepth2(a,b) 00874 #define IDirect3DViewport3_Clear2(p,a,b,c,d,e,f) (p)->Clear2(a,b,c,d,e,f) 00875 #endif 00876 00877 00878 00879 /***************************************************************************** 00880 * IDirect3DExecuteBuffer interface 00881 */ 00882 #define INTERFACE IDirect3DExecuteBuffer 00883 DECLARE_INTERFACE_(IDirect3DExecuteBuffer,IUnknown) 00884 { 00885 /*** IUnknown methods ***/ 00886 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00887 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00888 STDMETHOD_(ULONG,Release)(THIS) PURE; 00889 /*** IDirect3DExecuteBuffer methods ***/ 00890 STDMETHOD(Initialize)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DEXECUTEBUFFERDESC lpDesc) PURE; 00891 STDMETHOD(Lock)(THIS_ LPD3DEXECUTEBUFFERDESC lpDesc) PURE; 00892 STDMETHOD(Unlock)(THIS) PURE; 00893 STDMETHOD(SetExecuteData)(THIS_ LPD3DEXECUTEDATA lpData) PURE; 00894 STDMETHOD(GetExecuteData)(THIS_ LPD3DEXECUTEDATA lpData) PURE; 00895 STDMETHOD(Validate)(THIS_ LPDWORD lpdwOffset, LPD3DVALIDATECALLBACK lpFunc, LPVOID lpUserArg, DWORD dwReserved) PURE; 00896 STDMETHOD(Optimize)(THIS_ DWORD dwDummy) PURE; 00897 }; 00898 #undef INTERFACE 00899 00900 #if !defined(__cplusplus) || defined(CINTERFACE) 00901 /*** IUnknown methods ***/ 00902 #define IDirect3DExecuteBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00903 #define IDirect3DExecuteBuffer_AddRef(p) (p)->lpVtbl->AddRef(p) 00904 #define IDirect3DExecuteBuffer_Release(p) (p)->lpVtbl->Release(p) 00905 /*** IDirect3DExecuteBuffer methods ***/ 00906 #define IDirect3DExecuteBuffer_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b) 00907 #define IDirect3DExecuteBuffer_Lock(p,a) (p)->lpVtbl->Lock(p,a) 00908 #define IDirect3DExecuteBuffer_Unlock(p) (p)->lpVtbl->Unlock(p) 00909 #define IDirect3DExecuteBuffer_SetExecuteData(p,a) (p)->lpVtbl->SetExecuteData(p,a) 00910 #define IDirect3DExecuteBuffer_GetExecuteData(p,a) (p)->lpVtbl->GetExecuteData(p,a) 00911 #define IDirect3DExecuteBuffer_Validate(p,a,b,c,d) (p)->lpVtbl->Validate(p,a,b,c,d) 00912 #define IDirect3DExecuteBuffer_Optimize(p,a) (p)->lpVtbl->Optimize(p,a) 00913 #else 00914 /*** IUnknown methods ***/ 00915 #define IDirect3DExecuteBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00916 #define IDirect3DExecuteBuffer_AddRef(p) (p)->AddRef() 00917 #define IDirect3DExecuteBuffer_Release(p) (p)->Release() 00918 /*** IDirect3DExecuteBuffer methods ***/ 00919 #define IDirect3DExecuteBuffer_Initialize(p,a,b) (p)->Initialize(a,b) 00920 #define IDirect3DExecuteBuffer_Lock(p,a) (p)->Lock(a) 00921 #define IDirect3DExecuteBuffer_Unlock(p) (p)->Unlock() 00922 #define IDirect3DExecuteBuffer_SetExecuteData(p,a) (p)->SetExecuteData(a) 00923 #define IDirect3DExecuteBuffer_GetExecuteData(p,a) (p)->GetExecuteData(a) 00924 #define IDirect3DExecuteBuffer_Validate(p,a,b,c,d) (p)->Validate(a,b,c,d) 00925 #define IDirect3DExecuteBuffer_Optimize(p,a) (p)->Optimize(a) 00926 #endif 00927 00928 00929 /***************************************************************************** 00930 * IDirect3DDevice interface 00931 */ 00932 #define INTERFACE IDirect3DDevice 00933 DECLARE_INTERFACE_(IDirect3DDevice,IUnknown) 00934 { 00935 /*** IUnknown methods ***/ 00936 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00937 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00938 STDMETHOD_(ULONG,Release)(THIS) PURE; 00939 /*** IDirect3DDevice methods ***/ 00940 STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D, LPGUID lpGUID, LPD3DDEVICEDESC lpD3DDVDesc) PURE; 00941 STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE; 00942 STDMETHOD(SwapTextureHandles)(THIS_ LPDIRECT3DTEXTURE lpD3Dtex1, LPDIRECT3DTEXTURE lpD3DTex2) PURE; 00943 STDMETHOD(CreateExecuteBuffer)(THIS_ LPD3DEXECUTEBUFFERDESC lpDesc, LPDIRECT3DEXECUTEBUFFER *lplpDirect3DExecuteBuffer, IUnknown *pUnkOuter) PURE; 00944 STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE; 00945 STDMETHOD(Execute)(THIS_ LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT lpDirect3DViewport, DWORD dwFlags) PURE; 00946 STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport) PURE; 00947 STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport) PURE; 00948 STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport, LPDIRECT3DVIEWPORT *lplpDirect3DViewport, DWORD dwFlags) PURE; 00949 STDMETHOD(Pick)(THIS_ LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT lpDirect3DViewport, DWORD dwFlags, LPD3DRECT lpRect) PURE; 00950 STDMETHOD(GetPickRecords)(THIS_ LPDWORD lpCount, LPD3DPICKRECORD lpD3DPickRec) PURE; 00951 STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc, LPVOID lpArg) PURE; 00952 STDMETHOD(CreateMatrix)(THIS_ LPD3DMATRIXHANDLE lpD3DMatHandle) PURE; 00953 STDMETHOD(SetMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle, LPD3DMATRIX lpD3DMatrix) PURE; 00954 STDMETHOD(GetMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle, LPD3DMATRIX lpD3DMatrix) PURE; 00955 STDMETHOD(DeleteMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle) PURE; 00956 STDMETHOD(BeginScene)(THIS) PURE; 00957 STDMETHOD(EndScene)(THIS) PURE; 00958 STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D *lplpDirect3D) PURE; 00959 }; 00960 #undef INTERFACE 00961 00962 #if !defined(__cplusplus) || defined(CINTERFACE) 00963 /*** IUnknown methods ***/ 00964 #define IDirect3DDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00965 #define IDirect3DDevice_AddRef(p) (p)->lpVtbl->AddRef(p) 00966 #define IDirect3DDevice_Release(p) (p)->lpVtbl->Release(p) 00967 /*** IDirect3DDevice methods ***/ 00968 #define IDirect3DDevice_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c) 00969 #define IDirect3DDevice_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b) 00970 #define IDirect3DDevice_SwapTextureHandles(p,a,b) (p)->lpVtbl->SwapTextureHandles(p,a,b) 00971 #define IDirect3DDevice_CreateExecuteBuffer(p,a,b,c) (p)->lpVtbl->CreateExecuteBuffer(p,a,b,c) 00972 #define IDirect3DDevice_GetStats(p,a) (p)->lpVtbl->GetStats(p,a) 00973 #define IDirect3DDevice_Execute(p,a,b,c) (p)->lpVtbl->Execute(p,a,b,c) 00974 #define IDirect3DDevice_AddViewport(p,a) (p)->lpVtbl->AddViewport(p,a) 00975 #define IDirect3DDevice_DeleteViewport(p,a) (p)->lpVtbl->DeleteViewport(p,a) 00976 #define IDirect3DDevice_NextViewport(p,a,b,c) (p)->lpVtbl->NextViewport(p,a,b,c) 00977 #define IDirect3DDevice_Pick(p,a,b,c,d) (p)->lpVtbl->Pick(p,a,b,c,d) 00978 #define IDirect3DDevice_GetPickRecords(p,a,b) (p)->lpVtbl->GetPickRecords(p,a,b) 00979 #define IDirect3DDevice_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b) 00980 #define IDirect3DDevice_CreateMatrix(p,a) (p)->lpVtbl->CreateMatrix(p,a) 00981 #define IDirect3DDevice_SetMatrix(p,a,b) (p)->lpVtbl->SetMatrix(p,a,b) 00982 #define IDirect3DDevice_GetMatrix(p,a,b) (p)->lpVtbl->GetMatrix(p,a,b) 00983 #define IDirect3DDevice_DeleteMatrix(p,a) (p)->lpVtbl->DeleteMatrix(p,a) 00984 #define IDirect3DDevice_BeginScene(p) (p)->lpVtbl->BeginScene(p) 00985 #define IDirect3DDevice_EndScene(p) (p)->lpVtbl->EndScene(p) 00986 #define IDirect3DDevice_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a) 00987 #else 00988 /*** IUnknown methods ***/ 00989 #define IDirect3DDevice_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00990 #define IDirect3DDevice_AddRef(p) (p)->AddRef() 00991 #define IDirect3DDevice_Release(p) (p)->Release() 00992 /*** IDirect3DDevice methods ***/ 00993 #define IDirect3DDevice_Initialize(p,a,b,c) (p)->Initialize(a,b,c) 00994 #define IDirect3DDevice_GetCaps(p,a,b) (p)->GetCaps(a,b) 00995 #define IDirect3DDevice_SwapTextureHandles(p,a,b) (p)->SwapTextureHandles(a,b) 00996 #define IDirect3DDevice_CreateExecuteBuffer(p,a,b,c) (p)->CreateExecuteBuffer(a,b,c) 00997 #define IDirect3DDevice_GetStats(p,a) (p)->GetStats(a) 00998 #define IDirect3DDevice_Execute(p,a,b,c) (p)->Execute(a,b,c) 00999 #define IDirect3DDevice_AddViewport(p,a) (p)->AddViewport(a) 01000 #define IDirect3DDevice_DeleteViewport(p,a) (p)->DeleteViewport(a) 01001 #define IDirect3DDevice_NextViewport(p,a,b,c) (p)->NextViewport(a,b,c) 01002 #define IDirect3DDevice_Pick(p,a,b,c,d) (p)->Pick(a,b,c,d) 01003 #define IDirect3DDevice_GetPickRecords(p,a,b) (p)->GetPickRecords(a,b) 01004 #define IDirect3DDevice_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b) 01005 #define IDirect3DDevice_CreateMatrix(p,a) (p)->CreateMatrix(a) 01006 #define IDirect3DDevice_SetMatrix(p,a,b) (p)->SetMatrix(a,b) 01007 #define IDirect3DDevice_GetMatrix(p,a,b) (p)->GetMatrix(a,b) 01008 #define IDirect3DDevice_DeleteMatrix(p,a) (p)->DeleteMatrix(a) 01009 #define IDirect3DDevice_BeginScene(p) (p)->BeginScene() 01010 #define IDirect3DDevice_EndScene(p) (p)->EndScene() 01011 #define IDirect3DDevice_GetDirect3D(p,a) (p)->GetDirect3D(a) 01012 #endif 01013 01014 01015 /***************************************************************************** 01016 * IDirect3DDevice2 interface 01017 */ 01018 #define INTERFACE IDirect3DDevice2 01019 DECLARE_INTERFACE_(IDirect3DDevice2,IUnknown) 01020 { 01021 /*** IUnknown methods ***/ 01022 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 01023 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 01024 STDMETHOD_(ULONG,Release)(THIS) PURE; 01025 /*** IDirect3DDevice2 methods ***/ 01026 STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE; 01027 STDMETHOD(SwapTextureHandles)(THIS_ LPDIRECT3DTEXTURE2 lpD3DTex1, LPDIRECT3DTEXTURE2 lpD3DTex2) PURE; 01028 STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE; 01029 STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE; 01030 STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE; 01031 STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2, LPDIRECT3DVIEWPORT2 *lplpDirect3DViewport2, DWORD dwFlags) PURE; 01032 STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc, LPVOID lpArg) PURE; 01033 STDMETHOD(BeginScene)(THIS) PURE; 01034 STDMETHOD(EndScene)(THIS) PURE; 01035 STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D2 *lplpDirect3D2) PURE; 01036 /*** DrawPrimitive API ***/ 01037 STDMETHOD(SetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE; 01038 STDMETHOD(GetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT2 *lplpDirect3DViewport2) PURE; 01039 STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE lpNewRenderTarget, DWORD dwFlags) PURE; 01040 STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE *lplpRenderTarget) PURE; 01041 STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE d3dpt,D3DVERTEXTYPE dwVertexTypeDesc,DWORD dwFlags) PURE; 01042 STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwNumVertices, DWORD dwFlags) PURE; 01043 STDMETHOD(Vertex)(THIS_ LPVOID lpVertexType) PURE; 01044 STDMETHOD(Index)(THIS_ WORD wVertexIndex) PURE; 01045 STDMETHOD(End)(THIS_ DWORD dwFlags) PURE; 01046 STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE; 01047 STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE; 01048 STDMETHOD(GetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, LPDWORD lpdwLightState) PURE; 01049 STDMETHOD(SetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, DWORD dwLightState) PURE; 01050 STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; 01051 STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; 01052 STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; 01053 STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE; 01054 STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE; 01055 STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; 01056 STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; 01057 }; 01058 #undef INTERFACE 01059 01060 #if !defined(__cplusplus) || defined(CINTERFACE) 01061 /*** IUnknown methods ***/ 01062 #define IDirect3DDevice2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 01063 #define IDirect3DDevice2_AddRef(p) (p)->lpVtbl->AddRef(p) 01064 #define IDirect3DDevice2_Release(p) (p)->lpVtbl->Release(p) 01065 /*** IDirect3DDevice2 methods ***/ 01066 #define IDirect3DDevice2_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b) 01067 #define IDirect3DDevice2_SwapTextureHandles(p,a,b) (p)->lpVtbl->SwapTextureHandles(p,a,b) 01068 #define IDirect3DDevice2_GetStats(p,a) (p)->lpVtbl->GetStats(p,a) 01069 #define IDirect3DDevice2_AddViewport(p,a) (p)->lpVtbl->AddViewport(p,a) 01070 #define IDirect3DDevice2_DeleteViewport(p,a) (p)->lpVtbl->DeleteViewport(p,a) 01071 #define IDirect3DDevice2_NextViewport(p,a,b,c) (p)->lpVtbl->NextViewport(p,a,b,c) 01072 #define IDirect3DDevice2_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b) 01073 #define IDirect3DDevice2_BeginScene(p) (p)->lpVtbl->BeginScene(p) 01074 #define IDirect3DDevice2_EndScene(p) (p)->lpVtbl->EndScene(p) 01075 #define IDirect3DDevice2_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a) 01076 #define IDirect3DDevice2_SetCurrentViewport(p,a) (p)->lpVtbl->SetCurrentViewport(p,a) 01077 #define IDirect3DDevice2_GetCurrentViewport(p,a) (p)->lpVtbl->GetCurrentViewport(p,a) 01078 #define IDirect3DDevice2_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b) 01079 #define IDirect3DDevice2_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a) 01080 #define IDirect3DDevice2_Begin(p,a,b,c) (p)->lpVtbl->Begin(p,a,b,c) 01081 #define IDirect3DDevice2_BeginIndexed(p,a,b,c,d,e) (p)->lpVtbl->BeginIndexed(p,a,b,c,d,e) 01082 #define IDirect3DDevice2_Vertex(p,a) (p)->lpVtbl->Vertex(p,a) 01083 #define IDirect3DDevice2_Index(p,a) (p)->lpVtbl->Index(p,a) 01084 #define IDirect3DDevice2_End(p,a) (p)->lpVtbl->End(p,a) 01085 #define IDirect3DDevice2_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b) 01086 #define IDirect3DDevice2_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b) 01087 #define IDirect3DDevice2_GetLightState(p,a,b) (p)->lpVtbl->GetLightState(p,a,b) 01088 #define IDirect3DDevice2_SetLightState(p,a,b) (p)->lpVtbl->SetLightState(p,a,b) 01089 #define IDirect3DDevice2_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b) 01090 #define IDirect3DDevice2_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b) 01091 #define IDirect3DDevice2_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b) 01092 #define IDirect3DDevice2_DrawPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitive(p,a,b,c,d,e) 01093 #define IDirect3DDevice2_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f,g) 01094 #define IDirect3DDevice2_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a) 01095 #define IDirect3DDevice2_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a) 01096 #else 01097 /*** IUnknown methods ***/ 01098 #define IDirect3DDevice2_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 01099 #define IDirect3DDevice2_AddRef(p) (p)->AddRef() 01100 #define IDirect3DDevice2_Release(p) (p)->Release() 01101 /*** IDirect3DDevice2 methods ***/ 01102 #define IDirect3DDevice2_GetCaps(p,a,b) (p)->GetCaps(a,b) 01103 #define IDirect3DDevice2_SwapTextureHandles(p,a,b) (p)->SwapTextureHandles(a,b) 01104 #define IDirect3DDevice2_GetStats(p,a) (p)->GetStats(a) 01105 #define IDirect3DDevice2_AddViewport(p,a) (p)->AddViewport(a) 01106 #define IDirect3DDevice2_DeleteViewport(p,a) (p)->DeleteViewport(a) 01107 #define IDirect3DDevice2_NextViewport(p,a,b,c) (p)->NextViewport(a,b,c) 01108 #define IDirect3DDevice2_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b) 01109 #define IDirect3DDevice2_BeginScene(p) (p)->BeginScene() 01110 #define IDirect3DDevice2_EndScene(p) (p)->EndScene() 01111 #define IDirect3DDevice2_GetDirect3D(p,a) (p)->GetDirect3D(a) 01112 #define IDirect3DDevice2_SetCurrentViewport(p,a) (p)->SetCurrentViewport(a) 01113 #define IDirect3DDevice2_GetCurrentViewport(p,a) (p)->GetCurrentViewport(a) 01114 #define IDirect3DDevice2_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b) 01115 #define IDirect3DDevice2_GetRenderTarget(p,a) (p)->GetRenderTarget(a) 01116 #define IDirect3DDevice2_Begin(p,a,b,c) (p)->Begin(a,b,c) 01117 #define IDirect3DDevice2_BeginIndexed(p,a,b,c,d,e) (p)->BeginIndexed(a,b,c,d,e) 01118 #define IDirect3DDevice2_Vertex(p,a) (p)->Vertex(a) 01119 #define IDirect3DDevice2_Index(p,a) (p)->Index(a) 01120 #define IDirect3DDevice2_End(p,a) (p)->End(a) 01121 #define IDirect3DDevice2_GetRenderState(p,a,b) (p)->GetRenderState(a,b) 01122 #define IDirect3DDevice2_SetRenderState(p,a,b) (p)->SetRenderState(a,b) 01123 #define IDirect3DDevice2_GetLightState(p,a,b) (p)->GetLightState(a,b) 01124 #define IDirect3DDevice2_SetLightState(p,a,b) (p)->SetLightState(a,b) 01125 #define IDirect3DDevice2_SetTransform(p,a,b) (p)->SetTransform(a,b) 01126 #define IDirect3DDevice2_GetTransform(p,a,b) (p)->GetTransform(a,b) 01127 #define IDirect3DDevice2_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b) 01128 #define IDirect3DDevice2_DrawPrimitive(p,a,b,c,d,e) (p)->DrawPrimitive(a,b,c,d,e) 01129 #define IDirect3DDevice2_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitive(a,b,c,d,e,f,g) 01130 #define IDirect3DDevice2_SetClipStatus(p,a) (p)->SetClipStatus(a) 01131 #define IDirect3DDevice2_GetClipStatus(p,a) (p)->GetClipStatus(a) 01132 #endif 01133 01134 /***************************************************************************** 01135 * IDirect3DDevice3 interface 01136 */ 01137 #define INTERFACE IDirect3DDevice3 01138 DECLARE_INTERFACE_(IDirect3DDevice3,IUnknown) 01139 { 01140 /*** IUnknown methods ***/ 01141 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 01142 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 01143 STDMETHOD_(ULONG,Release)(THIS) PURE; 01144 /*** IDirect3DDevice3 methods ***/ 01145 STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE; 01146 STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE; 01147 STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE; 01148 STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE; 01149 STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3, LPDIRECT3DVIEWPORT3 *lplpDirect3DViewport3, DWORD dwFlags) PURE; 01150 STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc, LPVOID lpArg) PURE; 01151 STDMETHOD(BeginScene)(THIS) PURE; 01152 STDMETHOD(EndScene)(THIS) PURE; 01153 STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D3 *lplpDirect3D3) PURE; 01154 /*** DrawPrimitive API ***/ 01155 STDMETHOD(SetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE; 01156 STDMETHOD(GetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT3 *lplpDirect3DViewport3) PURE; 01157 STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE4 lpNewRenderTarget, DWORD dwFlags) PURE; 01158 STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE4 *lplpRenderTarget) PURE; 01159 STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexTypeDesc, DWORD dwFlags) PURE; 01160 STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwNumVertices, DWORD dwFlags) PURE; 01161 STDMETHOD(Vertex)(THIS_ LPVOID lpVertexType) PURE; 01162 STDMETHOD(Index)(THIS_ WORD wVertexIndex) PURE; 01163 STDMETHOD(End)(THIS_ DWORD dwFlags) PURE; 01164 STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE; 01165 STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE; 01166 STDMETHOD(GetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, LPDWORD lpdwLightState) PURE; 01167 STDMETHOD(SetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, DWORD dwLightState) PURE; 01168 STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; 01169 STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; 01170 STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; 01171 STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE; 01172 STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE; 01173 STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; 01174 STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; 01175 STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,DWORD dwFlags) PURE; 01176 STDMETHOD(DrawIndexedPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,LPWORD lpIndex,DWORD dwIndexCount,DWORD dwFlags) PURE; 01177 STDMETHOD(DrawPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,DWORD dwFlags) PURE; 01178 STDMETHOD(DrawIndexedPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,LPWORD lpwIndices,DWORD dwIndexCount,DWORD dwFlags) PURE; 01179 STDMETHOD(ComputeSphereVisibility)(THIS_ LPD3DVECTOR lpCenters,LPD3DVALUE lpRadii,DWORD dwNumSpheres,DWORD dwFlags,LPDWORD lpdwReturnValues) PURE; 01180 STDMETHOD(GetTexture)(THIS_ DWORD dwStage,LPDIRECT3DTEXTURE2 *lplpTexture2) PURE; 01181 STDMETHOD(SetTexture)(THIS_ DWORD dwStage,LPDIRECT3DTEXTURE2 lpTexture2) PURE; 01182 STDMETHOD(GetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,LPDWORD lpdwState) PURE; 01183 STDMETHOD(SetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,DWORD dwState) PURE; 01184 STDMETHOD(ValidateDevice)(THIS_ LPDWORD lpdwPasses) PURE; 01185 }; 01186 #undef INTERFACE 01187 01188 #if !defined(__cplusplus) || defined(CINTERFACE) 01189 /*** IUnknown methods ***/ 01190 #define IDirect3DDevice3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 01191 #define IDirect3DDevice3_AddRef(p) (p)->lpVtbl->AddRef(p) 01192 #define IDirect3DDevice3_Release(p) (p)->lpVtbl->Release(p) 01193 /*** IDirect3DDevice3 methods ***/ 01194 #define IDirect3DDevice3_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b) 01195 #define IDirect3DDevice3_GetStats(p,a) (p)->lpVtbl->GetStats(p,a) 01196 #define IDirect3DDevice3_AddViewport(p,a) (p)->lpVtbl->AddViewport(p,a) 01197 #define IDirect3DDevice3_DeleteViewport(p,a) (p)->lpVtbl->DeleteViewport(p,a) 01198 #define IDirect3DDevice3_NextViewport(p,a,b,c) (p)->lpVtbl->NextViewport(p,a,b,c) 01199 #define IDirect3DDevice3_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b) 01200 #define IDirect3DDevice3_BeginScene(p) (p)->lpVtbl->BeginScene(p) 01201 #define IDirect3DDevice3_EndScene(p) (p)->lpVtbl->EndScene(p) 01202 #define IDirect3DDevice3_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a) 01203 #define IDirect3DDevice3_SetCurrentViewport(p,a) (p)->lpVtbl->SetCurrentViewport(p,a) 01204 #define IDirect3DDevice3_GetCurrentViewport(p,a) (p)->lpVtbl->GetCurrentViewport(p,a) 01205 #define IDirect3DDevice3_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b) 01206 #define IDirect3DDevice3_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a) 01207 #define IDirect3DDevice3_Begin(p,a,b,c) (p)->lpVtbl->Begin(p,a,b,c) 01208 #define IDirect3DDevice3_BeginIndexed(p,a,b,c,d,e) (p)->lpVtbl->BeginIndexed(p,a,b,c,d,e) 01209 #define IDirect3DDevice3_Vertex(p,a) (p)->lpVtbl->Vertex(p,a) 01210 #define IDirect3DDevice3_Index(p,a) (p)->lpVtbl->Index(p,a) 01211 #define IDirect3DDevice3_End(p,a) (p)->lpVtbl->End(p,a) 01212 #define IDirect3DDevice3_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b) 01213 #define IDirect3DDevice3_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b) 01214 #define IDirect3DDevice3_GetLightState(p,a,b) (p)->lpVtbl->GetLightState(p,a,b) 01215 #define IDirect3DDevice3_SetLightState(p,a,b) (p)->lpVtbl->SetLightState(p,a,b) 01216 #define IDirect3DDevice3_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b) 01217 #define IDirect3DDevice3_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b) 01218 #define IDirect3DDevice3_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b) 01219 #define IDirect3DDevice3_DrawPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitive(p,a,b,c,d,e) 01220 #define IDirect3DDevice3_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f,g) 01221 #define IDirect3DDevice3_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a) 01222 #define IDirect3DDevice3_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a) 01223 #define IDirect3DDevice3_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveStrided(p,a,b,c,d,e) 01224 #define IDirect3DDevice3_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) 01225 #define IDirect3DDevice3_DrawPrimitiveVB(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveVB(p,a,b,c,d,e) 01226 #define IDirect3DDevice3_DrawIndexedPrimitiveVB(p,a,b,c,d,e) (p)->lpVtbl->DrawIndexedPrimitiveVB(p,a,b,c,d,e) 01227 #define IDirect3DDevice3_ComputeSphereVisibility(p,a,b,c,d,e) (p)->lpVtbl->ComputeSphereVisibility(p,a,b,c,d,e) 01228 #define IDirect3DDevice3_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b) 01229 #define IDirect3DDevice3_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b) 01230 #define IDirect3DDevice3_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c) 01231 #define IDirect3DDevice3_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c) 01232 #define IDirect3DDevice3_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a) 01233 #else 01234 /*** IUnknown methods ***/ 01235 #define IDirect3DDevice3_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 01236 #define IDirect3DDevice3_AddRef(p) (p)->AddRef() 01237 #define IDirect3DDevice3_Release(p) (p)->Release() 01238 /*** IDirect3DDevice3 methods ***/ 01239 #define IDirect3DDevice3_GetCaps(p,a,b) (p)->GetCaps(a,b) 01240 #define IDirect3DDevice3_GetStats(p,a) (p)->GetStats(a) 01241 #define IDirect3DDevice3_AddViewport(p,a) (p)->AddViewport(a) 01242 #define IDirect3DDevice3_DeleteViewport(p,a) (p)->DeleteViewport(a) 01243 #define IDirect3DDevice3_NextViewport(p,a,b,c) (p)->NextViewport(a,b,c) 01244 #define IDirect3DDevice3_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b) 01245 #define IDirect3DDevice3_BeginScene(p) (p)->BeginScene() 01246 #define IDirect3DDevice3_EndScene(p) (p)->EndScene() 01247 #define IDirect3DDevice3_GetDirect3D(p,a) (p)->GetDirect3D(a) 01248 #define IDirect3DDevice3_SetCurrentViewport(p,a) (p)->SetCurrentViewport(a) 01249 #define IDirect3DDevice3_GetCurrentViewport(p,a) (p)->GetCurrentViewport(a) 01250 #define IDirect3DDevice3_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b) 01251 #define IDirect3DDevice3_GetRenderTarget(p,a) (p)->GetRenderTarget(a) 01252 #define IDirect3DDevice3_Begin(p,a,b,c) (p)->Begin(a,b,c) 01253 #define IDirect3DDevice3_BeginIndexed(p,a,b,c,d,e) (p)->BeginIndexed(a,b,c,d,e) 01254 #define IDirect3DDevice3_Vertex(p,a) (p)->Vertex(a) 01255 #define IDirect3DDevice3_Index(p,a) (p)->Index(a) 01256 #define IDirect3DDevice3_End(p,a) (p)->End(a) 01257 #define IDirect3DDevice3_GetRenderState(p,a,b) (p)->GetRenderState(a,b) 01258 #define IDirect3DDevice3_SetRenderState(p,a,b) (p)->SetRenderState(a,b) 01259 #define IDirect3DDevice3_GetLightState(p,a,b) (p)->GetLightState(a,b) 01260 #define IDirect3DDevice3_SetLightState(p,a,b) (p)->SetLightState(a,b) 01261 #define IDirect3DDevice3_SetTransform(p,a,b) (p)->SetTransform(a,b) 01262 #define IDirect3DDevice3_GetTransform(p,a,b) (p)->GetTransform(a,b) 01263 #define IDirect3DDevice3_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b) 01264 #define IDirect3DDevice3_DrawPrimitive(p,a,b,c,d,e) (p)->DrawPrimitive(a,b,c,d,e) 01265 #define IDirect3DDevice3_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitive(a,b,c,d,e,f,g) 01266 #define IDirect3DDevice3_SetClipStatus(p,a) (p)->SetClipStatus(a) 01267 #define IDirect3DDevice3_GetClipStatus(p,a) (p)->GetClipStatus(a) 01268 #define IDirect3DDevice3_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->DrawPrimitiveStrided(a,b,c,d,e) 01269 #define IDirect3DDevice3_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitiveStrided(a,b,c,d,e,f,g) 01270 #define IDirect3DDevice3_DrawPrimitiveVB(p,a,b,c,d,e) (p)->DrawPrimitiveVB(a,b,c,d,e) 01271 #define IDirect3DDevice3_DrawIndexedPrimitiveVB(p,a,b,c,d,e) (p)->DrawIndexedPrimitiveVB(a,b,c,d,e) 01272 #define IDirect3DDevice3_ComputeSphereVisibility(p,a,b,c,d,e) (p)->ComputeSphereVisibility(a,b,c,d,e) 01273 #define IDirect3DDevice3_GetTexture(p,a,b) (p)->GetTexture(a,b) 01274 #define IDirect3DDevice3_SetTexture(p,a,b) (p)->SetTexture(a,b) 01275 #define IDirect3DDevice3_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c) 01276 #define IDirect3DDevice3_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c) 01277 #define IDirect3DDevice3_ValidateDevice(p,a) (p)->ValidateDevice(a) 01278 #endif 01279 01280 /***************************************************************************** 01281 * IDirect3DDevice7 interface 01282 */ 01283 #define INTERFACE IDirect3DDevice7 01284 DECLARE_INTERFACE_(IDirect3DDevice7,IUnknown) 01285 { 01286 /*** IUnknown methods ***/ 01287 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 01288 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 01289 STDMETHOD_(ULONG,Release)(THIS) PURE; 01290 /*** IDirect3DDevice7 methods ***/ 01291 STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC7 lpD3DHELDevDesc) PURE; 01292 STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc, LPVOID lpArg) PURE; 01293 STDMETHOD(BeginScene)(THIS) PURE; 01294 STDMETHOD(EndScene)(THIS) PURE; 01295 STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D7 *lplpDirect3D3) PURE; 01296 STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE7 lpNewRenderTarget,DWORD dwFlags) PURE; 01297 STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE7 *lplpRenderTarget) PURE; 01298 STDMETHOD(Clear)(THIS_ DWORD dwCount,LPD3DRECT lpRects,DWORD dwFlags,D3DCOLOR dwColor,D3DVALUE dvZ,DWORD dwStencil) PURE; 01299 STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; 01300 STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; 01301 STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT7 lpData) PURE; 01302 STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType,LPD3DMATRIX lpD3DMatrix) PURE; 01303 STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT7 lpData) PURE; 01304 STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL7 lpMat) PURE; 01305 STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL7 lpMat) PURE; 01306 STDMETHOD(SetLight)(THIS_ DWORD dwLightIndex,LPD3DLIGHT7 lpLight) PURE; 01307 STDMETHOD(GetLight)(THIS_ DWORD dwLightIndex,LPD3DLIGHT7 lpLight) PURE; 01308 STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE; 01309 STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE; 01310 STDMETHOD(BeginStateBlock)(THIS) PURE; 01311 STDMETHOD(EndStateBlock)(THIS_ LPDWORD lpdwBlockHandle) PURE; 01312 STDMETHOD(PreLoad)(THIS_ LPDIRECTDRAWSURFACE7 lpddsTexture) PURE; 01313 STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE; 01314 STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE; 01315 STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; 01316 STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; 01317 STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,DWORD dwFlags) PURE; 01318 STDMETHOD(DrawIndexedPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,LPWORD lpIndex,DWORD dwIndexCount,DWORD dwFlags) PURE; 01319 STDMETHOD(DrawPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,DWORD dwFlags) PURE; 01320 STDMETHOD(DrawIndexedPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,LPWORD lpwIndices,DWORD dwIndexCount,DWORD dwFlags) PURE; 01321 STDMETHOD(ComputeSphereVisibility)(THIS_ LPD3DVECTOR lpCenters,LPD3DVALUE lpRadii,DWORD dwNumSpheres,DWORD dwFlags,LPDWORD lpdwReturnValues) PURE; 01322 STDMETHOD(GetTexture)(THIS_ DWORD dwStage,LPDIRECTDRAWSURFACE7 *lpTexture) PURE; 01323 STDMETHOD(SetTexture)(THIS_ DWORD dwStage,LPDIRECTDRAWSURFACE7 lpTexture) PURE; 01324 STDMETHOD(GetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,LPDWORD lpdwState) PURE; 01325 STDMETHOD(SetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,DWORD dwState) PURE; 01326 STDMETHOD(ValidateDevice)(THIS_ LPDWORD lpdwPasses) PURE; 01327 STDMETHOD(ApplyStateBlock)(THIS_ DWORD dwBlockHandle) PURE; 01328 STDMETHOD(CaptureStateBlock)(THIS_ DWORD dwBlockHandle) PURE; 01329 STDMETHOD(DeleteStateBlock)(THIS_ DWORD dwBlockHandle) PURE; 01330 STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE d3dsbType,LPDWORD lpdwBlockHandle) PURE; 01331 STDMETHOD(Load)(THIS_ LPDIRECTDRAWSURFACE7 lpDestTex,LPPOINT lpDestPoint,LPDIRECTDRAWSURFACE7 lpSrcTex,LPRECT lprcSrcRect,DWORD dwFlags) PURE; 01332 STDMETHOD(LightEnable)(THIS_ DWORD dwLightIndex,BOOL bEnable) PURE; 01333 STDMETHOD(GetLightEnable)(THIS_ DWORD dwLightIndex,BOOL *pbEnable) PURE; 01334 STDMETHOD(SetClipPlane)(THIS_ DWORD dwIndex,D3DVALUE *pPlaneEquation) PURE; 01335 STDMETHOD(GetClipPlane)(THIS_ DWORD dwIndex,D3DVALUE *pPlaneEquation) PURE; 01336 STDMETHOD(GetInfo)(THIS_ DWORD dwDevInfoID,LPVOID pDevInfoStruct,DWORD dwSize) PURE; 01337 }; 01338 #undef INTERFACE 01339 01340 #if !defined(__cplusplus) || defined(CINTERFACE) 01341 /*** IUnknown methods ***/ 01342 #define IDirect3DDevice7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 01343 #define IDirect3DDevice7_AddRef(p) (p)->lpVtbl->AddRef(p) 01344 #define IDirect3DDevice7_Release(p) (p)->lpVtbl->Release(p) 01345 /*** IDirect3DDevice7 methods ***/ 01346 #define IDirect3DDevice7_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a) 01347 #define IDirect3DDevice7_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b) 01348 #define IDirect3DDevice7_BeginScene(p) (p)->lpVtbl->BeginScene(p) 01349 #define IDirect3DDevice7_EndScene(p) (p)->lpVtbl->EndScene(p) 01350 #define IDirect3DDevice7_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a) 01351 #define IDirect3DDevice7_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b) 01352 #define IDirect3DDevice7_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a) 01353 #define IDirect3DDevice7_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f) 01354 #define IDirect3DDevice7_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b) 01355 #define IDirect3DDevice7_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b) 01356 #define IDirect3DDevice7_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a) 01357 #define IDirect3DDevice7_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b) 01358 #define IDirect3DDevice7_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a) 01359 #define IDirect3DDevice7_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a) 01360 #define IDirect3DDevice7_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a) 01361 #define IDirect3DDevice7_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b) 01362 #define IDirect3DDevice7_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b) 01363 #define IDirect3DDevice7_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b) 01364 #define IDirect3DDevice7_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b) 01365 #define IDirect3DDevice7_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p) 01366 #define IDirect3DDevice7_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a) 01367 #define IDirect3DDevice7_PreLoad(p,a) (p)->lpVtbl->PreLoad(p,a) 01368 #define IDirect3DDevice7_DrawPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitive(p,a,b,c,d,e) 01369 #define IDirect3DDevice7_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f,g) 01370 #define IDirect3DDevice7_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a) 01371 #define IDirect3DDevice7_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a) 01372 #define IDirect3DDevice7_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveStrided(p,a,b,c,d,e) 01373 #define IDirect3DDevice7_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) 01374 #define IDirect3DDevice7_DrawPrimitiveVB(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveVB(p,a,b,c,d,e) 01375 #define IDirect3DDevice7_DrawIndexedPrimitiveVB(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitiveVB(p,a,b,c,d,e,f,g) 01376 #define IDirect3DDevice7_ComputeSphereVisibility(p,a,b,c,d,e) (p)->lpVtbl->ComputeSphereVisibility(p,a,b,c,d,e) 01377 #define IDirect3DDevice7_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b) 01378 #define IDirect3DDevice7_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b) 01379 #define IDirect3DDevice7_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c) 01380 #define IDirect3DDevice7_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c) 01381 #define IDirect3DDevice7_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a) 01382 #define IDirect3DDevice7_ApplyStateBlock(p,a) (p)->lpVtbl->ApplyStateBlock(p,a) 01383 #define IDirect3DDevice7_CaptureStateBlock(p,a) (p)->lpVtbl->CaptureStateBlock(p,a) 01384 #define IDirect3DDevice7_DeleteStateBlock(p,a) (p)->lpVtbl->DeleteStateBlock(p,a) 01385 #define IDirect3DDevice7_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b) 01386 #define IDirect3DDevice7_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e) 01387 #define IDirect3DDevice7_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b) 01388 #define IDirect3DDevice7_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b) 01389 #define IDirect3DDevice7_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b) 01390 #define IDirect3DDevice7_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b) 01391 #define IDirect3DDevice7_GetInfo(p,a,b,c) (p)->lpVtbl->GetInfo(p,a,b,c) 01392 #else 01393 /*** IUnknown methods ***/ 01394 #define IDirect3DDevice7_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 01395 #define IDirect3DDevice7_AddRef(p) (p)->AddRef() 01396 #define IDirect3DDevice7_Release(p) (p)->Release() 01397 /*** IDirect3DDevice7 methods ***/ 01398 #define IDirect3DDevice7_GetCaps(p,a) (p)->GetCaps(a) 01399 #define IDirect3DDevice7_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b) 01400 #define IDirect3DDevice7_BeginScene(p) (p)->BeginScene() 01401 #define IDirect3DDevice7_EndScene(p) (p)->EndScene() 01402 #define IDirect3DDevice7_GetDirect3D(p,a) (p)->GetDirect3D(a) 01403 #define IDirect3DDevice7_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b) 01404 #define IDirect3DDevice7_GetRenderTarget(p,a) (p)->GetRenderTarget(a) 01405 #define IDirect3DDevice7_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f) 01406 #define IDirect3DDevice7_SetTransform(p,a,b) (p)->SetTransform(a,b) 01407 #define IDirect3DDevice7_GetTransform(p,a,b) (p)->GetTransform(a,b) 01408 #define IDirect3DDevice7_SetViewport(p,a) (p)->SetViewport(a) 01409 #define IDirect3DDevice7_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b) 01410 #define IDirect3DDevice7_GetViewport(p,a) (p)->GetViewport(a) 01411 #define IDirect3DDevice7_SetMaterial(p,a) (p)->SetMaterial(a) 01412 #define IDirect3DDevice7_GetMaterial(p,a) (p)->GetMaterial(a) 01413 #define IDirect3DDevice7_SetLight(p,a,b) (p)->SetLight(a,b) 01414 #define IDirect3DDevice7_GetLight(p,a,b) (p)->GetLight(a,b) 01415 #define IDirect3DDevice7_SetRenderState(p,a,b) (p)->SetRenderState(a,b) 01416 #define IDirect3DDevice7_GetRenderState(p,a,b) (p)->GetRenderState(a,b) 01417 #define IDirect3DDevice7_BeginStateBlock(p) (p)->BeginStateBlock() 01418 #define IDirect3DDevice7_EndStateBlock(p,a) (p)->EndStateBlock(a) 01419 #define IDirect3DDevice7_PreLoad(p,a) (p)->PreLoad(a) 01420 #define IDirect3DDevice7_DrawPrimitive(p,a,b,c,d,e) (p)->DrawPrimitive(a,b,c,d,e) 01421 #define IDirect3DDevice7_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitive(a,b,c,d,e,f,g) 01422 #define IDirect3DDevice7_SetClipStatus(p,a) (p)->SetClipStatus(a) 01423 #define IDirect3DDevice7_GetClipStatus(p,a) (p)->GetClipStatus(a) 01424 #define IDirect3DDevice7_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->DrawPrimitiveStrided(a,b,c,d,e) 01425 #define IDirect3DDevice7_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitiveStrided(a,b,c,d,e,f,g) 01426 #define IDirect3DDevice7_DrawPrimitiveVB(p,a,b,c,d,e) (p)->DrawPrimitiveVB(a,b,c,d,e) 01427 #define IDirect3DDevice7_DrawIndexedPrimitiveVB(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitiveVB(a,b,c,d,e,f,g) 01428 #define IDirect3DDevice7_ComputeSphereVisibility(p,a,b,c,d,e) (p)->ComputeSphereVisibility(a,b,c,d,e) 01429 #define IDirect3DDevice7_GetTexture(p,a,b) (p)->GetTexture(a,b) 01430 #define IDirect3DDevice7_SetTexture(p,a,b) (p)->SetTexture(a,b) 01431 #define IDirect3DDevice7_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c) 01432 #define IDirect3DDevice7_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c) 01433 #define IDirect3DDevice7_ValidateDevice(p,a) (p)->ValidateDevice(a) 01434 #define IDirect3DDevice7_ApplyStateBlock(p,a) (p)->ApplyStateBlock(a) 01435 #define IDirect3DDevice7_CaptureStateBlock(p,a) (p)->CaptureStateBlock(a) 01436 #define IDirect3DDevice7_DeleteStateBlock(p,a) (p)->DeleteStateBlock(a) 01437 #define IDirect3DDevice7_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b) 01438 #define IDirect3DDevice7_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e) 01439 #define IDirect3DDevice7_LightEnable(p,a,b) (p)->LightEnable(a,b) 01440 #define IDirect3DDevice7_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b) 01441 #define IDirect3DDevice7_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b) 01442 #define IDirect3DDevice7_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b) 01443 #define IDirect3DDevice7_GetInfo(p,a,b,c) (p)->GetInfo(a,b,c) 01444 #endif 01445 01446 01447 01448 /***************************************************************************** 01449 * IDirect3DVertexBuffer interface 01450 */ 01451 #define INTERFACE IDirect3DVertexBuffer 01452 DECLARE_INTERFACE_(IDirect3DVertexBuffer,IUnknown) 01453 { 01454 /*** IUnknown methods ***/ 01455 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 01456 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 01457 STDMETHOD_(ULONG,Release)(THIS) PURE; 01458 /*** IDirect3DVertexBuffer methods ***/ 01459 STDMETHOD(Lock)(THIS_ DWORD dwFlags,LPVOID *lplpData,LPDWORD lpdwSize) PURE; 01460 STDMETHOD(Unlock)(THIS) PURE; 01461 STDMETHOD(ProcessVertices)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPDIRECT3DVERTEXBUFFER lpSrcBuffer,DWORD dwSrcIndex,LPDIRECT3DDEVICE3 lpD3DDevice,DWORD dwFlags) PURE; 01462 STDMETHOD(GetVertexBufferDesc)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertexBufferDesc) PURE; 01463 STDMETHOD(Optimize)(THIS_ LPDIRECT3DDEVICE3 lpD3DDevice,DWORD dwFlags) PURE; 01464 }; 01465 #undef INTERFACE 01466 01467 #if !defined(__cplusplus) || defined(CINTERFACE) 01468 /*** IUnknown methods ***/ 01469 #define IDirect3DVertexBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 01470 #define IDirect3DVertexBuffer_AddRef(p) (p)->lpVtbl->AddRef(p) 01471 #define IDirect3DVertexBuffer_Release(p) (p)->lpVtbl->Release(p) 01472 /*** IDirect3DVertexBuffer methods ***/ 01473 #define IDirect3DVertexBuffer_Lock(p,a,b,c) (p)->lpVtbl->Lock(p,a,b,c) 01474 #define IDirect3DVertexBuffer_Unlock(p) (p)->lpVtbl->Unlock(p) 01475 #define IDirect3DVertexBuffer_ProcessVertices(p,a,b,c,d,e,f,g) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f,g) 01476 #define IDirect3DVertexBuffer_GetVertexBufferDesc(p,a) (p)->lpVtbl->GetVertexBufferDesc(p,a) 01477 #define IDirect3DVertexBuffer_Optimize(p,a,b) (p)->lpVtbl->Optimize(p,a,b) 01478 #else 01479 /*** IUnknown methods ***/ 01480 #define IDirect3DVertexBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 01481 #define IDirect3DVertexBuffer_AddRef(p) (p)->AddRef() 01482 #define IDirect3DVertexBuffer_Release(p) (p)->Release() 01483 /*** IDirect3DVertexBuffer methods ***/ 01484 #define IDirect3DVertexBuffer_Lock(p,a,b,c) (p)->Lock(a,b,c) 01485 #define IDirect3DVertexBuffer_Unlock(p) (p)->Unlock() 01486 #define IDirect3DVertexBuffer_ProcessVertices(p,a,b,c,d,e,f,g) (p)->ProcessVertices(a,b,c,d,e,f,g) 01487 #define IDirect3DVertexBuffer_GetVertexBufferDesc(p,a) (p)->GetVertexBufferDesc(a) 01488 #define IDirect3DVertexBuffer_Optimize(p,a,b) (p)->Optimize(a,b) 01489 #endif 01490 01491 /***************************************************************************** 01492 * IDirect3DVertexBuffer7 interface 01493 */ 01494 #define INTERFACE IDirect3DVertexBuffer7 01495 DECLARE_INTERFACE_(IDirect3DVertexBuffer7,IUnknown) 01496 { 01497 /*** IUnknown methods ***/ 01498 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 01499 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 01500 STDMETHOD_(ULONG,Release)(THIS) PURE; 01501 /*** IDirect3DVertexBuffer7 methods ***/ 01502 STDMETHOD(Lock)(THIS_ DWORD dwFlags,LPVOID *lplpData,LPDWORD lpdwSize) PURE; 01503 STDMETHOD(Unlock)(THIS) PURE; 01504 STDMETHOD(ProcessVertices)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPDIRECT3DVERTEXBUFFER7 lpSrcBuffer,DWORD dwSrcIndex,LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE; 01505 STDMETHOD(GetVertexBufferDesc)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertexBufferDesc) PURE; 01506 STDMETHOD(Optimize)(THIS_ LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE; 01507 STDMETHOD(ProcessVerticesStrided)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPD3DDRAWPRIMITIVESTRIDEDDATA lpStrideData,DWORD dwVertexTypeDesc,LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE; 01508 }; 01509 #undef INTERFACE 01510 01511 #if !defined(__cplusplus) || defined(CINTERFACE) 01512 /*** IUnknown methods ***/ 01513 #define IDirect3DVertexBuffer7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 01514 #define IDirect3DVertexBuffer7_AddRef(p) (p)->lpVtbl->AddRef(p) 01515 #define IDirect3DVertexBuffer7_Release(p) (p)->lpVtbl->Release(p) 01516 /*** IDirect3DVertexBuffer7 methods ***/ 01517 #define IDirect3DVertexBuffer7_Lock(p,a,b,c) (p)->lpVtbl->Lock(p,a,b,c) 01518 #define IDirect3DVertexBuffer7_Unlock(p) (p)->lpVtbl->Unlock(p) 01519 #define IDirect3DVertexBuffer7_ProcessVertices(p,a,b,c,d,e,f,g) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f,g) 01520 #define IDirect3DVertexBuffer7_GetVertexBufferDesc(p,a) (p)->lpVtbl->GetVertexBufferDesc(p,a) 01521 #define IDirect3DVertexBuffer7_Optimize(p,a,b) (p)->lpVtbl->Optimize(p,a,b) 01522 #define IDirect3DVertexBuffer7_ProcessVerticesStrided(p,a,b,c,d,e,f,g) (p)->lpVtbl->ProcessVerticesStrided(p,a,b,c,d,e,f,g) 01523 #else 01524 /*** IUnknown methods ***/ 01525 #define IDirect3DVertexBuffer7_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 01526 #define IDirect3DVertexBuffer7_AddRef(p) (p)->AddRef() 01527 #define IDirect3DVertexBuffer7_Release(p) (p)->Release() 01528 /*** IDirect3DVertexBuffer7 methods ***/ 01529 #define IDirect3DVertexBuffer7_Lock(p,a,b,c) (p)->Lock(a,b,c) 01530 #define IDirect3DVertexBuffer7_Unlock(p) (p)->Unlock() 01531 #define IDirect3DVertexBuffer7_ProcessVertices(p,a,b,c,d,e,f,g) (p)->ProcessVertices(a,b,c,d,e,f,g) 01532 #define IDirect3DVertexBuffer7_GetVertexBufferDesc(p,a) (p)->GetVertexBufferDesc(a) 01533 #define IDirect3DVertexBuffer7_Optimize(p,a,b) (p)->Optimize(a,b) 01534 #define IDirect3DVertexBuffer7_ProcessVerticesStrided(p,a,b,c,d,e,f,g) (p)->ProcessVerticesStrided(a,b,c,d,e,f,g) 01535 #endif 01536 01537 #endif /* (DIRECT3D_VERSION < 0x0800) */ 01538 #endif /* __WINE_D3D_H */ Generated on Sun May 27 2012 04:31:16 for ReactOS by
1.7.6.1
|