Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygend3d8.h
Go to the documentation of this file.
00001 /* 00002 * Copyright (C) 2002 Jason Edmeades 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_D3D8_H 00020 #define __WINE_D3D8_H 00021 00022 #ifndef DIRECT3D_VERSION 00023 #define DIRECT3D_VERSION 0x0800 00024 #endif 00025 00026 #include <stdlib.h> 00027 00028 #define COM_NO_WINDOWS_H 00029 #include <objbase.h> 00030 00031 #ifndef __WINESRC__ 00032 # include <windows.h> 00033 #endif 00034 00035 #include <d3d8types.h> 00036 #include <d3d8caps.h> 00037 00038 /***************************************************************************** 00039 * Behavior Flags for IDirect3D8::CreateDevice 00040 */ 00041 #define D3DCREATE_FPU_PRESERVE 0x00000002L 00042 #define D3DCREATE_MULTITHREADED 0x00000004L 00043 #define D3DCREATE_PUREDEVICE 0x00000010L 00044 #define D3DCREATE_SOFTWARE_VERTEXPROCESSING 0x00000020L 00045 #define D3DCREATE_HARDWARE_VERTEXPROCESSING 0x00000040L 00046 #define D3DCREATE_MIXED_VERTEXPROCESSING 0x00000080L 00047 00048 /***************************************************************************** 00049 * Flags for SetPrivateData 00050 */ 00051 #define D3DSPD_IUNKNOWN 0x00000001L 00052 00053 /***************************************************************************** 00054 * #defines and error codes 00055 */ 00056 #define D3D_SDK_VERSION 220 00057 #define D3DADAPTER_DEFAULT 0 00058 #define D3DENUM_NO_WHQL_LEVEL 2 00059 00060 #define _FACD3D 0x876 00061 #define MAKE_D3DHRESULT( code ) MAKE_HRESULT( 1, _FACD3D, code ) 00062 00063 /* 00064 * Direct3D Errors 00065 */ 00066 #define D3D_OK S_OK 00067 #define D3DERR_WRONGTEXTUREFORMAT MAKE_D3DHRESULT(2072) 00068 #define D3DERR_UNSUPPORTEDCOLOROPERATION MAKE_D3DHRESULT(2073) 00069 #define D3DERR_UNSUPPORTEDCOLORARG MAKE_D3DHRESULT(2074) 00070 #define D3DERR_UNSUPPORTEDALPHAOPERATION MAKE_D3DHRESULT(2075) 00071 #define D3DERR_UNSUPPORTEDALPHAARG MAKE_D3DHRESULT(2076) 00072 #define D3DERR_TOOMANYOPERATIONS MAKE_D3DHRESULT(2077) 00073 #define D3DERR_CONFLICTINGTEXTUREFILTER MAKE_D3DHRESULT(2078) 00074 #define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_D3DHRESULT(2079) 00075 #define D3DERR_CONFLICTINGRENDERSTATE MAKE_D3DHRESULT(2081) 00076 #define D3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_D3DHRESULT(2082) 00077 #define D3DERR_CONFLICTINGTEXTUREPALETTE MAKE_D3DHRESULT(2086) 00078 #define D3DERR_DRIVERINTERNALERROR MAKE_D3DHRESULT(2087) 00079 00080 #define D3DERR_NOTFOUND MAKE_D3DHRESULT(2150) 00081 #define D3DERR_MOREDATA MAKE_D3DHRESULT(2151) 00082 #define D3DERR_DEVICELOST MAKE_D3DHRESULT(2152) 00083 #define D3DERR_DEVICENOTRESET MAKE_D3DHRESULT(2153) 00084 #define D3DERR_NOTAVAILABLE MAKE_D3DHRESULT(2154) 00085 #define D3DERR_OUTOFVIDEOMEMORY MAKE_D3DHRESULT(380) 00086 #define D3DERR_INVALIDDEVICE MAKE_D3DHRESULT(2155) 00087 #define D3DERR_INVALIDCALL MAKE_D3DHRESULT(2156) 00088 #define D3DERR_DRIVERINVALIDCALL MAKE_D3DHRESULT(2157) 00089 00090 /***************************************************************************** 00091 * Predeclare the interfaces 00092 */ 00093 DEFINE_GUID(IID_IDirect3D8, 0x1DD9E8DA,0x1C77,0x4D40,0xB0,0xCF,0x98,0xFE,0xFD,0xFF,0x95,0x12); 00094 typedef struct IDirect3D8 *LPDIRECT3D8; 00095 00096 DEFINE_GUID(IID_IDirect3DDevice8, 0x7385E5DF,0x8FE8,0x41D5,0x86,0xB6,0xD7,0xB4,0x85,0x47,0xB6,0xCF); 00097 typedef struct IDirect3DDevice8 *LPDIRECT3DDEVICE8; 00098 00099 DEFINE_GUID(IID_IDirect3DResource8, 0x1B36BB7B,0x09B7,0x410A,0xB4,0x45,0x7D,0x14,0x30,0xD7,0xB3,0x3F); 00100 typedef struct IDirect3DResource8 *LPDIRECT3DRESOURCE8, *PDIRECT3DRESOURCE8; 00101 00102 DEFINE_GUID(IID_IDirect3DVertexBuffer8, 0x8AEEEAC7,0x05F9,0x44D4,0xB5,0x91,0x00,0x0B,0x0D,0xF1,0xCB,0x95); 00103 typedef struct IDirect3DVertexBuffer8 *LPDIRECT3DVERTEXBUFFER8, *PDIRECT3DVERTEXBUFFER8; 00104 00105 DEFINE_GUID(IID_IDirect3DVolume8, 0xBD7349F5,0x14F1,0x42E4,0x9C,0x79,0x97,0x23,0x80,0xDB,0x40,0xC0); 00106 typedef struct IDirect3DVolume8 *LPDIRECT3DVOLUME8, *PDIRECT3DVOLUME8; 00107 00108 DEFINE_GUID(IID_IDirect3DSwapChain8, 0x928C088B,0x76B9,0x4C6B,0xA5,0x36,0xA5,0x90,0x85,0x38,0x76,0xCD); 00109 typedef struct IDirect3DSwapChain8 *LPDIRECT3DSWAPCHAIN8, *PDIRECT3DSWAPCHAIN8; 00110 00111 DEFINE_GUID(IID_IDirect3DSurface8, 0xB96EEBCA,0xB326,0x4EA5,0x88,0x2F,0x2F,0xF5,0xBA,0xE0,0x21,0xDD); 00112 typedef struct IDirect3DSurface8 *LPDIRECT3DSURFACE8, *PDIRECT3DSURFACE8; 00113 00114 DEFINE_GUID(IID_IDirect3DIndexBuffer8, 0x0E689C9A,0x053D,0x44A0,0x9D,0x92,0xDB,0x0E,0x3D,0x75,0x0F,0x86); 00115 typedef struct IDirect3DIndexBuffer8 *LPDIRECT3DINDEXBUFFER8, *PDIRECT3DINDEXBUFFER8; 00116 00117 DEFINE_GUID(IID_IDirect3DBaseTexture8, 0xB4211CFA,0x51B9,0x4A9F,0xAB,0x78,0xDB,0x99,0xB2,0xBB,0x67,0x8E); 00118 typedef struct IDirect3DBaseTexture8 *LPDIRECT3DBASETEXTURE8, *PDIRECT3DBASETEXTURE8; 00119 00120 DEFINE_GUID(IID_IDirect3DTexture8, 0xE4CDD575,0x2866,0x4F01,0xB1,0x2E,0x7E,0xEC,0xE1,0xEC,0x93,0x58); 00121 typedef struct IDirect3DTexture8 *LPDIRECT3DTEXTURE8, *PDIRECT3DTEXTURE8; 00122 00123 DEFINE_GUID(IID_IDirect3DCubeTexture8, 0x3EE5B968,0x2ACA,0x4C34,0x8B,0xB5,0x7E,0x0C,0x3D,0x19,0xB7,0x50); 00124 typedef struct IDirect3DCubeTexture8 *LPDIRECT3DCUBETEXTURE8, *PDIRECT3DCUBETEXTURE8; 00125 00126 DEFINE_GUID(IID_IDirect3DVolumeTexture8, 0x4B8AAAFA,0x140F,0x42BA,0x91,0x31,0x59,0x7E,0xAF,0xAA,0x2E,0xAD); 00127 typedef struct IDirect3DVolumeTexture8 *LPDIRECT3DVOLUMETEXTURE8, *PDIRECT3DVOLUMETEXTURE8; 00128 00129 /***************************************************************************** 00130 * IDirect3D8 interface 00131 */ 00132 #define INTERFACE IDirect3D8 00133 DECLARE_INTERFACE_(IDirect3D8,IUnknown) 00134 { 00135 /*** IUnknown methods ***/ 00136 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00137 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00138 STDMETHOD_(ULONG,Release)(THIS) PURE; 00139 /*** IDirect3D8 methods ***/ 00140 STDMETHOD(RegisterSoftwareDevice)(THIS_ void * pInitializeFunction) PURE; 00141 STDMETHOD_(UINT,GetAdapterCount )(THIS) PURE; 00142 STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER8 * pIdentifier) PURE; 00143 STDMETHOD_(UINT,GetAdapterModeCount)(THIS_ UINT Adapter) PURE; 00144 STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter, UINT Mode, D3DDISPLAYMODE * pMode) PURE; 00145 STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter, D3DDISPLAYMODE * pMode) PURE; 00146 STDMETHOD(CheckDeviceType)(THIS_ UINT Adapter, D3DDEVTYPE CheckType, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL Windowed) PURE; 00147 STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat) PURE; 00148 STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType) PURE; 00149 STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat) PURE; 00150 STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS8 * pCaps) PURE; 00151 STDMETHOD_(HMONITOR,GetAdapterMonitor)(THIS_ UINT Adapter) PURE; 00152 STDMETHOD(CreateDevice)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType,HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS * pPresentationParameters, struct IDirect3DDevice8 ** ppReturnedDeviceInterface) PURE; 00153 }; 00154 #undef INTERFACE 00155 00156 #if !defined(__cplusplus) || defined(CINTERFACE) 00157 /*** IUnknown methods ***/ 00158 #define IDirect3D8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00159 #define IDirect3D8_AddRef(p) (p)->lpVtbl->AddRef(p) 00160 #define IDirect3D8_Release(p) (p)->lpVtbl->Release(p) 00161 /*** IDirect3D8 methods ***/ 00162 #define IDirect3D8_RegisterSoftwareDevice(p,a) (p)->lpVtbl->RegisterSoftwareDevice(p,a) 00163 #define IDirect3D8_GetAdapterCount(p) (p)->lpVtbl->GetAdapterCount(p) 00164 #define IDirect3D8_GetAdapterIdentifier(p,a,b,c) (p)->lpVtbl->GetAdapterIdentifier(p,a,b,c) 00165 #define IDirect3D8_GetAdapterModeCount(p,a) (p)->lpVtbl->GetAdapterModeCount(p,a) 00166 #define IDirect3D8_EnumAdapterModes(p,a,b,c) (p)->lpVtbl->EnumAdapterModes(p,a,b,c) 00167 #define IDirect3D8_GetAdapterDisplayMode(p,a,b) (p)->lpVtbl->GetAdapterDisplayMode(p,a,b) 00168 #define IDirect3D8_CheckDeviceType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e) 00169 #define IDirect3D8_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f) 00170 #define IDirect3D8_CheckDeviceMultiSampleType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e) 00171 #define IDirect3D8_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e) 00172 #define IDirect3D8_GetDeviceCaps(p,a,b,c) (p)->lpVtbl->GetDeviceCaps(p,a,b,c) 00173 #define IDirect3D8_GetAdapterMonitor(p,a) (p)->lpVtbl->GetAdapterMonitor(p,a) 00174 #define IDirect3D8_CreateDevice(p,a,b,c,d,e,f) (p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f) 00175 #else 00176 /*** IUnknown methods ***/ 00177 #define IDirect3D8_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00178 #define IDirect3D8_AddRef(p) (p)->AddRef() 00179 #define IDirect3D8_Release(p) (p)->Release() 00180 /*** IDirect3D8 methods ***/ 00181 #define IDirect3D8_RegisterSoftwareDevice(p,a) (p)->RegisterSoftwareDevice(a) 00182 #define IDirect3D8_GetAdapterCount(p) (p)->GetAdapterCount() 00183 #define IDirect3D8_GetAdapterIdentifier(p,a,b,c) (p)->GetAdapterIdentifier(a,b,c) 00184 #define IDirect3D8_GetAdapterModeCount(p,a) (p)->GetAdapterModeCount(a) 00185 #define IDirect3D8_EnumAdapterModes(p,a,b,c) (p)->EnumAdapterModes(a,b,c) 00186 #define IDirect3D8_GetAdapterDisplayMode(p,a,b) (p)->GetAdapterDisplayMode(a,b) 00187 #define IDirect3D8_CheckDeviceType(p,a,b,c,d,e) (p)->CheckDeviceType(a,b,c,d,e) 00188 #define IDirect3D8_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->CheckDeviceFormat(a,b,c,d,e,f) 00189 #define IDirect3D8_CheckDeviceMultiSampleType(p,a,b,c,d,e) (p)->CheckDeviceMultiSampleType(a,b,c,d,e) 00190 #define IDirect3D8_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->CheckDepthStencilMatch(a,b,c,d,e) 00191 #define IDirect3D8_GetDeviceCaps(p,a,b,c) (p)->GetDeviceCaps(a,b,c) 00192 #define IDirect3D8_GetAdapterMonitor(p,a) (p)->GetAdapterMonitor(a) 00193 #define IDirect3D8_CreateDevice(p,a,b,c,d,e,f) (p)->CreateDevice(a,b,c,d,e,f) 00194 #endif 00195 00196 /***************************************************************************** 00197 * IDirect3DVolume8 interface 00198 */ 00199 #define INTERFACE IDirect3DVolume8 00200 DECLARE_INTERFACE_(IDirect3DVolume8,IUnknown) 00201 { 00202 /*** IUnknown methods ***/ 00203 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00204 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00205 STDMETHOD_(ULONG,Release)(THIS) PURE; 00206 /*** IDirect3DVolume8 methods ***/ 00207 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE; 00208 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE; 00209 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void * pData, DWORD * pSizeOfData) PURE; 00210 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; 00211 STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE; 00212 STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC * pDesc) PURE; 00213 STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX * pLockedVolume,CONST D3DBOX * pBox, DWORD Flags) PURE; 00214 STDMETHOD(UnlockBox)(THIS) PURE; 00215 }; 00216 #undef INTERFACE 00217 00218 #if !defined(__cplusplus) || defined(CINTERFACE) 00219 /*** IUnknown methods ***/ 00220 #define IDirect3DVolume8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00221 #define IDirect3DVolume8_AddRef(p) (p)->lpVtbl->AddRef(p) 00222 #define IDirect3DVolume8_Release(p) (p)->lpVtbl->Release(p) 00223 /*** IDirect3DVolume8 methods ***/ 00224 #define IDirect3DVolume8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) 00225 #define IDirect3DVolume8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) 00226 #define IDirect3DVolume8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) 00227 #define IDirect3DVolume8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) 00228 #define IDirect3DVolume8_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b) 00229 #define IDirect3DVolume8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a) 00230 #define IDirect3DVolume8_LockBox(p,a,b,c) (p)->lpVtbl->LockBox(p,a,b,c) 00231 #define IDirect3DVolume8_UnlockBox(p) (p)->lpVtbl->UnlockBox(p) 00232 #else 00233 /*** IUnknown methods ***/ 00234 #define IDirect3DVolume8_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00235 #define IDirect3DVolume8_AddRef(p) (p)->AddRef() 00236 #define IDirect3DVolume8_Release(p) (p)->Release() 00237 /*** IDirect3DVolume8 methods ***/ 00238 #define IDirect3DVolume8_GetDevice(p,a) (p)->GetDevice(a) 00239 #define IDirect3DVolume8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) 00240 #define IDirect3DVolume8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) 00241 #define IDirect3DVolume8_FreePrivateData(p,a) (p)->FreePrivateData(a) 00242 #define IDirect3DVolume8_GetContainer(p,a,b) (p)->GetContainer(a,b) 00243 #define IDirect3DVolume8_GetDesc(p,a) (p)->GetDesc(a) 00244 #define IDirect3DVolume8_LockBox(p,a,b,c) (p)->LockBox(a,b,c) 00245 #define IDirect3DVolume8_UnlockBox(p) (p)->UnlockBox() 00246 #endif 00247 00248 /***************************************************************************** 00249 * IDirect3DSwapChain8 interface 00250 */ 00251 #define INTERFACE IDirect3DSwapChain8 00252 DECLARE_INTERFACE_(IDirect3DSwapChain8,IUnknown) 00253 { 00254 /*** IUnknown methods ***/ 00255 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00256 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00257 STDMETHOD_(ULONG,Release)(THIS) PURE; 00258 /*** IDirect3DSwapChain8 methods ***/ 00259 STDMETHOD(Present)(THIS_ CONST RECT * pSourceRect, CONST RECT * pDestRect, HWND hDestWindowOverride,CONST RGNDATA * pDirtyRegion) PURE; 00260 STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer, D3DBACKBUFFER_TYPE Type, struct IDirect3DSurface8 ** ppBackBuffer) PURE; 00261 }; 00262 #undef INTERFACE 00263 00264 #if !defined(__cplusplus) || defined(CINTERFACE) 00265 /*** IUnknown methods ***/ 00266 #define IDirect3DSwapChain8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00267 #define IDirect3DSwapChain8_AddRef(p) (p)->lpVtbl->AddRef(p) 00268 #define IDirect3DSwapChain8_Release(p) (p)->lpVtbl->Release(p) 00269 /*** IDirect3DSwapChain8 methods ***/ 00270 #define IDirect3DSwapChain8_Present(p,a,b,c) (p)->lpVtbl->Present(p,a,b,c) 00271 #define IDirect3DSwapChain8_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c) 00272 #else 00273 /*** IUnknown methods ***/ 00274 #define IDirect3DSwapChain8_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00275 #define IDirect3DSwapChain8_AddRef(p) (p)->AddRef() 00276 #define IDirect3DSwapChain8_Release(p) (p)->Release() 00277 /*** IDirect3DSwapChain8 methods ***/ 00278 #define IDirect3DSwapChain8_Present(p,a,b,c) (p)->Present(a,b,c) 00279 #define IDirect3DSwapChain8_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c) 00280 #endif 00281 00282 /***************************************************************************** 00283 * IDirect3DSurface8 interface 00284 */ 00285 #define INTERFACE IDirect3DSurface8 00286 DECLARE_INTERFACE_(IDirect3DSurface8,IUnknown) 00287 { 00288 /*** IUnknown methods ***/ 00289 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00290 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00291 STDMETHOD_(ULONG,Release)(THIS) PURE; 00292 /*** IDirect3DSurface8 methods ***/ 00293 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE; 00294 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void * pData,DWORD SizeOfData,DWORD Flags) PURE; 00295 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void * pData,DWORD * pSizeOfData) PURE; 00296 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; 00297 STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE; 00298 STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC * pDesc) PURE; 00299 STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT * pLockedRect, CONST RECT * pRect,DWORD Flags) PURE; 00300 STDMETHOD(UnlockRect)(THIS) PURE; 00301 }; 00302 #undef INTERFACE 00303 00304 #if !defined(__cplusplus) || defined(CINTERFACE) 00305 /*** IUnknown methods ***/ 00306 #define IDirect3DSurface8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00307 #define IDirect3DSurface8_AddRef(p) (p)->lpVtbl->AddRef(p) 00308 #define IDirect3DSurface8_Release(p) (p)->lpVtbl->Release(p) 00309 /*** IDirect3DSurface8 methods ***/ 00310 #define IDirect3DSurface8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) 00311 #define IDirect3DSurface8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) 00312 #define IDirect3DSurface8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) 00313 #define IDirect3DSurface8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) 00314 #define IDirect3DSurface8_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b) 00315 #define IDirect3DSurface8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a) 00316 #define IDirect3DSurface8_LockRect(p,a,b,c) (p)->lpVtbl->LockRect(p,a,b,c) 00317 #define IDirect3DSurface8_UnlockRect(p) (p)->lpVtbl->UnlockRect(p) 00318 #else 00319 /*** IUnknown methods ***/ 00320 #define IDirect3DSurface8_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00321 #define IDirect3DSurface8_AddRef(p) (p)->AddRef() 00322 #define IDirect3DSurface8_Release(p) (p)->Release() 00323 /*** IDirect3DSurface8 methods ***/ 00324 #define IDirect3DSurface8_GetDevice(p,a) (p)->GetDevice(a) 00325 #define IDirect3DSurface8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) 00326 #define IDirect3DSurface8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) 00327 #define IDirect3DSurface8_FreePrivateData(p,a) (p)->FreePrivateData(a) 00328 #define IDirect3DSurface8_GetContainer(p,a,b) (p)->GetContainer(a,b) 00329 #define IDirect3DSurface8_GetDesc(p,a) (p)->GetDesc(a) 00330 #define IDirect3DSurface8_LockRect(p,a,b,c) (p)->LockRect(a,b,c) 00331 #define IDirect3DSurface8_UnlockRect(p) (p)->UnlockRect() 00332 #endif 00333 00334 /***************************************************************************** 00335 * IDirect3DResource8 interface 00336 */ 00337 #define INTERFACE IDirect3DResource8 00338 DECLARE_INTERFACE_(IDirect3DResource8,IUnknown) 00339 { 00340 /*** IUnknown methods ***/ 00341 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00342 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00343 STDMETHOD_(ULONG,Release)(THIS) PURE; 00344 /*** IDirect3DResource8 methods ***/ 00345 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE; 00346 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE; 00347 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE; 00348 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; 00349 STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE; 00350 STDMETHOD_(DWORD,GetPriority)(THIS) PURE; 00351 STDMETHOD_(void,PreLoad)(THIS) PURE; 00352 STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE; 00353 }; 00354 #undef INTERFACE 00355 00356 #if !defined(__cplusplus) || defined(CINTERFACE) 00357 /*** IUnknown methods ***/ 00358 #define IDirect3DResource8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00359 #define IDirect3DResource8_AddRef(p) (p)->lpVtbl->AddRef(p) 00360 #define IDirect3DResource8_Release(p) (p)->lpVtbl->Release(p) 00361 /*** IDirect3DResource8 methods ***/ 00362 #define IDirect3DResource8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) 00363 #define IDirect3DResource8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) 00364 #define IDirect3DResource8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) 00365 #define IDirect3DResource8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) 00366 #define IDirect3DResource8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a) 00367 #define IDirect3DResource8_GetPriority(p) (p)->lpVtbl->GetPriority(p) 00368 #define IDirect3DResource8_PreLoad(p) (p)->lpVtbl->PreLoad(p) 00369 #define IDirect3DResource8_GetType(p) (p)->lpVtbl->GetType(p) 00370 #else 00371 /*** IUnknown methods ***/ 00372 #define IDirect3DResource8_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00373 #define IDirect3DResource8_AddRef(p) (p)->AddRef() 00374 #define IDirect3DResource8_Release(p) (p)->Release() 00375 /*** IDirect3DResource8 methods ***/ 00376 #define IDirect3DResource8_GetDevice(p,a) (p)->GetDevice(a) 00377 #define IDirect3DResource8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) 00378 #define IDirect3DResource8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) 00379 #define IDirect3DResource8_FreePrivateData(p,a) (p)->FreePrivateData(a) 00380 #define IDirect3DResource8_SetPriority(p,a) (p)->SetPriority(a) 00381 #define IDirect3DResource8_GetPriority(p) (p)->GetPriority() 00382 #define IDirect3DResource8_PreLoad(p) (p)->PreLoad() 00383 #define IDirect3DResource8_GetType(p) (p)->GetType() 00384 #endif 00385 00386 /***************************************************************************** 00387 * IDirect3DVertexBuffer8 interface 00388 */ 00389 #define INTERFACE IDirect3DVertexBuffer8 00390 DECLARE_INTERFACE_(IDirect3DVertexBuffer8,IDirect3DResource8) 00391 { 00392 /*** IUnknown methods ***/ 00393 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00394 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00395 STDMETHOD_(ULONG,Release)(THIS) PURE; 00396 /*** IDirect3DResource8 methods ***/ 00397 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE; 00398 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE; 00399 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE; 00400 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; 00401 STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE; 00402 STDMETHOD_(DWORD,GetPriority)(THIS) PURE; 00403 STDMETHOD_(void,PreLoad)(THIS) PURE; 00404 STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE; 00405 /*** IDirect3DVertexBuffer8 methods ***/ 00406 STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, BYTE ** ppbData, DWORD Flags) PURE; 00407 STDMETHOD(Unlock)(THIS) PURE; 00408 STDMETHOD(GetDesc)(THIS_ D3DVERTEXBUFFER_DESC * pDesc) PURE; 00409 }; 00410 #undef INTERFACE 00411 00412 #if !defined(__cplusplus) || defined(CINTERFACE) 00413 /*** IUnknown methods ***/ 00414 #define IDirect3DVertexBuffer8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00415 #define IDirect3DVertexBuffer8_AddRef(p) (p)->lpVtbl->AddRef(p) 00416 #define IDirect3DVertexBuffer8_Release(p) (p)->lpVtbl->Release(p) 00417 /*** IDirect3DVertexBuffer8 methods: IDirect3DResource8 ***/ 00418 #define IDirect3DVertexBuffer8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) 00419 #define IDirect3DVertexBuffer8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) 00420 #define IDirect3DVertexBuffer8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) 00421 #define IDirect3DVertexBuffer8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) 00422 #define IDirect3DVertexBuffer8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a) 00423 #define IDirect3DVertexBuffer8_GetPriority(p) (p)->lpVtbl->GetPriority(p) 00424 #define IDirect3DVertexBuffer8_PreLoad(p) (p)->lpVtbl->PreLoad(p) 00425 #define IDirect3DVertexBuffer8_GetType(p) (p)->lpVtbl->GetType(p) 00426 /*** IDirect3DVertexBuffer8 methods ***/ 00427 #define IDirect3DVertexBuffer8_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d) 00428 #define IDirect3DVertexBuffer8_Unlock(p) (p)->lpVtbl->Unlock(p) 00429 #define IDirect3DVertexBuffer8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a) 00430 #else 00431 /*** IUnknown methods ***/ 00432 #define IDirect3DVertexBuffer8_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00433 #define IDirect3DVertexBuffer8_AddRef(p) (p)->AddRef() 00434 #define IDirect3DVertexBuffer8_Release(p) (p)->Release() 00435 /*** IDirect3DVertexBuffer8 methods: IDirect3DResource8 ***/ 00436 #define IDirect3DVertexBuffer8_GetDevice(p,a) (p)->GetDevice(a) 00437 #define IDirect3DVertexBuffer8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) 00438 #define IDirect3DVertexBuffer8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) 00439 #define IDirect3DVertexBuffer8_FreePrivateData(p,a) (p)->FreePrivateData(a) 00440 #define IDirect3DVertexBuffer8_SetPriority(p,a) (p)->SetPriority(a) 00441 #define IDirect3DVertexBuffer8_GetPriority(p) (p)->GetPriority() 00442 #define IDirect3DVertexBuffer8_PreLoad(p) (p)->PreLoad() 00443 #define IDirect3DVertexBuffer8_GetType(p) (p)->GetType() 00444 /*** IDirect3DVertexBuffer8 methods ***/ 00445 #define IDirect3DVertexBuffer8_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d) 00446 #define IDirect3DVertexBuffer8_Unlock(p) (p)->Unlock() 00447 #define IDirect3DVertexBuffer8_GetDesc(p,a) (p)->GetDesc(a) 00448 #endif 00449 00450 /***************************************************************************** 00451 * IDirect3DIndexBuffer8 interface 00452 */ 00453 #define INTERFACE IDirect3DIndexBuffer8 00454 DECLARE_INTERFACE_(IDirect3DIndexBuffer8,IDirect3DResource8) 00455 { 00456 /*** IUnknown methods ***/ 00457 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00458 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00459 STDMETHOD_(ULONG,Release)(THIS) PURE; 00460 /*** IDirect3DResource8 methods ***/ 00461 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE; 00462 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE; 00463 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE; 00464 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; 00465 STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE; 00466 STDMETHOD_(DWORD,GetPriority)(THIS) PURE; 00467 STDMETHOD_(void,PreLoad)(THIS) PURE; 00468 STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE; 00469 /*** IDirect3DIndexBuffer8 methods ***/ 00470 STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, BYTE ** ppbData, DWORD Flags) PURE; 00471 STDMETHOD(Unlock)(THIS) PURE; 00472 STDMETHOD(GetDesc)(THIS_ D3DINDEXBUFFER_DESC * pDesc) PURE; 00473 }; 00474 #undef INTERFACE 00475 00476 #if !defined(__cplusplus) || defined(CINTERFACE) 00477 /*** IUnknown methods ***/ 00478 #define IDirect3DIndexBuffer8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00479 #define IDirect3DIndexBuffer8_AddRef(p) (p)->lpVtbl->AddRef(p) 00480 #define IDirect3DIndexBuffer8_Release(p) (p)->lpVtbl->Release(p) 00481 /*** IDirect3DIndexBuffer8 methods: IDirect3DResource8 ***/ 00482 #define IDirect3DIndexBuffer8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) 00483 #define IDirect3DIndexBuffer8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) 00484 #define IDirect3DIndexBuffer8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) 00485 #define IDirect3DIndexBuffer8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) 00486 #define IDirect3DIndexBuffer8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a) 00487 #define IDirect3DIndexBuffer8_GetPriority(p) (p)->lpVtbl->GetPriority(p) 00488 #define IDirect3DIndexBuffer8_PreLoad(p) (p)->lpVtbl->PreLoad(p) 00489 #define IDirect3DIndexBuffer8_GetType(p) (p)->lpVtbl->GetType(p) 00490 /*** IDirect3DIndexBuffer8 methods ***/ 00491 #define IDirect3DIndexBuffer8_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d) 00492 #define IDirect3DIndexBuffer8_Unlock(p) (p)->lpVtbl->Unlock(p) 00493 #define IDirect3DIndexBuffer8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a) 00494 #else 00495 /*** IUnknown methods ***/ 00496 #define IDirect3DIndexBuffer8_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00497 #define IDirect3DIndexBuffer8_AddRef(p) (p)->AddRef() 00498 #define IDirect3DIndexBuffer8_Release(p) (p)->Release() 00499 /*** IDirect3DIndexBuffer8 methods: IDirect3DResource8 ***/ 00500 #define IDirect3DIndexBuffer8_GetDevice(p,a) (p)->GetDevice(a) 00501 #define IDirect3DIndexBuffer8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) 00502 #define IDirect3DIndexBuffer8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) 00503 #define IDirect3DIndexBuffer8_FreePrivateData(p,a) (p)->FreePrivateData(a) 00504 #define IDirect3DIndexBuffer8_SetPriority(p,a) (p)->SetPriority(a) 00505 #define IDirect3DIndexBuffer8_GetPriority(p) (p)->GetPriority() 00506 #define IDirect3DIndexBuffer8_PreLoad(p) (p)->PreLoad() 00507 #define IDirect3DIndexBuffer8_GetType(p) (p)->GetType() 00508 /*** IDirect3DIndexBuffer8 methods ***/ 00509 #define IDirect3DIndexBuffer8_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d) 00510 #define IDirect3DIndexBuffer8_Unlock(p) (p)->Unlock() 00511 #define IDirect3DIndexBuffer8_GetDesc(p,a) (p)->GetDesc(a) 00512 #endif 00513 00514 /***************************************************************************** 00515 * IDirect3DBaseTexture8 interface 00516 */ 00517 #define INTERFACE IDirect3DBaseTexture8 00518 DECLARE_INTERFACE_(IDirect3DBaseTexture8,IDirect3DResource8) 00519 { 00520 /*** IUnknown methods ***/ 00521 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00522 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00523 STDMETHOD_(ULONG,Release)(THIS) PURE; 00524 /*** IDirect3DResource8 methods ***/ 00525 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE; 00526 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE; 00527 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE; 00528 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; 00529 STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE; 00530 STDMETHOD_(DWORD,GetPriority)(THIS) PURE; 00531 STDMETHOD_(void,PreLoad)(THIS) PURE; 00532 STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE; 00533 /*** IDirect3DBaseTexture8 methods ***/ 00534 STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE; 00535 STDMETHOD_(DWORD,GetLOD)(THIS) PURE; 00536 STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE; 00537 }; 00538 #undef INTERFACE 00539 00540 #if !defined(__cplusplus) || defined(CINTERFACE) 00541 /*** IUnknown methods ***/ 00542 #define IDirect3DBaseTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00543 #define IDirect3DBaseTexture8_AddRef(p) (p)->lpVtbl->AddRef(p) 00544 #define IDirect3DBaseTexture8_Release(p) (p)->lpVtbl->Release(p) 00545 /*** IDirect3DBaseTexture8 methods: IDirect3DResource8 ***/ 00546 #define IDirect3DBaseTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) 00547 #define IDirect3DBaseTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) 00548 #define IDirect3DBaseTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) 00549 #define IDirect3DBaseTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) 00550 #define IDirect3DBaseTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a) 00551 #define IDirect3DBaseTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p) 00552 #define IDirect3DBaseTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p) 00553 #define IDirect3DBaseTexture8_GetType(p) (p)->lpVtbl->GetType(p) 00554 /*** IDirect3DBaseTexture8 methods ***/ 00555 #define IDirect3DBaseTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a) 00556 #define IDirect3DBaseTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p) 00557 #define IDirect3DBaseTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p) 00558 #else 00559 /*** IUnknown methods ***/ 00560 #define IDirect3DBaseTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00561 #define IDirect3DBaseTexture8_AddRef(p) (p)->AddRef() 00562 #define IDirect3DBaseTexture8_Release(p) (p)->Release() 00563 /*** IDirect3DBaseTexture8 methods: IDirect3DResource8 ***/ 00564 #define IDirect3DBaseTexture8_GetDevice(p,a) (p)->GetDevice(a) 00565 #define IDirect3DBaseTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) 00566 #define IDirect3DBaseTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) 00567 #define IDirect3DBaseTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a) 00568 #define IDirect3DBaseTexture8_SetPriority(p,a) (p)->SetPriority(a) 00569 #define IDirect3DBaseTexture8_GetPriority(p) (p)->GetPriority() 00570 #define IDirect3DBaseTexture8_PreLoad(p) (p)->PreLoad() 00571 #define IDirect3DBaseTexture8_GetType(p) (p)->GetType() 00572 /*** IDirect3DBaseTexture8 methods ***/ 00573 #define IDirect3DBaseTexture8_SetLOD(p,a) (p)->SetLOD(a) 00574 #define IDirect3DBaseTexture8_GetLOD(p) (p)->GetLOD() 00575 #define IDirect3DBaseTexture8_GetLevelCount(p) (p)->GetLevelCount() 00576 #endif 00577 00578 /***************************************************************************** 00579 * IDirect3DCubeTexture8 interface 00580 */ 00581 #define INTERFACE IDirect3DCubeTexture8 00582 DECLARE_INTERFACE_(IDirect3DCubeTexture8,IDirect3DBaseTexture8) 00583 { 00584 /*** IUnknown methods ***/ 00585 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00586 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00587 STDMETHOD_(ULONG,Release)(THIS) PURE; 00588 /*** IDirect3DResource8 methods ***/ 00589 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE; 00590 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE; 00591 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE; 00592 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; 00593 STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE; 00594 STDMETHOD_(DWORD,GetPriority)(THIS) PURE; 00595 STDMETHOD_(void,PreLoad)(THIS) PURE; 00596 STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE; 00597 /*** IDirect3DBaseTexture8 methods ***/ 00598 STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE; 00599 STDMETHOD_(DWORD,GetLOD)(THIS) PURE; 00600 STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE; 00601 /*** IDirect3DCubeTexture8 methods ***/ 00602 STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC * pDesc) PURE; 00603 STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,IDirect3DSurface8 ** ppCubeMapSurface) PURE; 00604 STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,D3DLOCKED_RECT * pLockedRect,CONST RECT * pRect,DWORD Flags) PURE; 00605 STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level) PURE; 00606 STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES FaceType,CONST RECT * pDirtyRect) PURE; 00607 }; 00608 #undef INTERFACE 00609 00610 #if !defined(__cplusplus) || defined(CINTERFACE) 00611 /*** IUnknown methods ***/ 00612 #define IDirect3DCubeTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00613 #define IDirect3DCubeTexture8_AddRef(p) (p)->lpVtbl->AddRef(p) 00614 #define IDirect3DCubeTexture8_Release(p) (p)->lpVtbl->Release(p) 00615 /*** IDirect3DCubeTexture8 methods: IDirect3DResource8 ***/ 00616 #define IDirect3DCubeTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) 00617 #define IDirect3DCubeTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) 00618 #define IDirect3DCubeTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) 00619 #define IDirect3DCubeTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) 00620 #define IDirect3DCubeTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a) 00621 #define IDirect3DCubeTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p) 00622 #define IDirect3DCubeTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p) 00623 #define IDirect3DCubeTexture8_GetType(p) (p)->lpVtbl->GetType(p) 00624 /*** IDirect3DCubeTexture8 methods: IDirect3DBaseTexture8 ***/ 00625 #define IDirect3DCubeTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a) 00626 #define IDirect3DCubeTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p) 00627 #define IDirect3DCubeTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p) 00628 /*** IDirect3DCubeTexture8 methods ***/ 00629 #define IDirect3DCubeTexture8_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b) 00630 #define IDirect3DCubeTexture8_GetCubeMapSurface(p,a,b,c) (p)->lpVtbl->GetCubeMapSurface(p,a,b,c) 00631 #define IDirect3DCubeTexture8_LockRect(p,a,b,c,d,e) (p)->lpVtbl->LockRect(p,a,b,c,d,e) 00632 #define IDirect3DCubeTexture8_UnlockRect(p,a,b) (p)->lpVtbl->UnlockRect(p,a,b) 00633 #define IDirect3DCubeTexture8_AddDirtyRect(p,a,b) (p)->lpVtbl->AddDirtyRect(p,a,b) 00634 #else 00635 /*** IUnknown methods ***/ 00636 #define IDirect3DCubeTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00637 #define IDirect3DCubeTexture8_AddRef(p) (p)->AddRef() 00638 #define IDirect3DCubeTexture8_Release(p) (p)->Release() 00639 /*** IDirect3DCubeTexture8 methods: IDirect3DResource8 ***/ 00640 #define IDirect3DCubeTexture8_GetDevice(p,a) (p)->GetDevice(a) 00641 #define IDirect3DCubeTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) 00642 #define IDirect3DCubeTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) 00643 #define IDirect3DCubeTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a) 00644 #define IDirect3DCubeTexture8_SetPriority(p,a) (p)->SetPriority(a) 00645 #define IDirect3DCubeTexture8_GetPriority(p) (p)->GetPriority() 00646 #define IDirect3DCubeTexture8_PreLoad(p) (p)->PreLoad() 00647 #define IDirect3DCubeTexture8_GetType(p) (p)->GetType() 00648 /*** IDirect3DCubeTexture8 methods: IDirect3DBaseTexture8 ***/ 00649 #define IDirect3DCubeTexture8_SetLOD(p,a) (p)->SetLOD(a) 00650 #define IDirect3DCubeTexture8_GetLOD(p) (p)->GetLOD() 00651 #define IDirect3DCubeTexture8_GetLevelCount(p) (p)->GetLevelCount() 00652 /*** IDirect3DCubeTexture8 methods ***/ 00653 #define IDirect3DCubeTexture8_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b) 00654 #define IDirect3DCubeTexture8_GetCubeMapSurface(p,a,b,c) (p)->GetCubeMapSurface(a,b,c) 00655 #define IDirect3DCubeTexture8_LockRect(p,a,b,c,d,e) (p)->LockRect(a,b,c,d,e) 00656 #define IDirect3DCubeTexture8_UnlockRect(p,a,b) (p)->UnlockRect(a,b) 00657 #define IDirect3DCubeTexture8_AddDirtyRect(p,a,b) (p)->AddDirtyRect(a,b) 00658 #endif 00659 00660 /***************************************************************************** 00661 * IDirect3DTexture8 interface 00662 */ 00663 #define INTERFACE IDirect3DTexture8 00664 DECLARE_INTERFACE_(IDirect3DTexture8,IDirect3DBaseTexture8) 00665 { 00666 /*** IUnknown methods ***/ 00667 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00668 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00669 STDMETHOD_(ULONG,Release)(THIS) PURE; 00670 /*** IDirect3DResource8 methods ***/ 00671 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE; 00672 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE; 00673 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE; 00674 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; 00675 STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE; 00676 STDMETHOD_(DWORD,GetPriority)(THIS) PURE; 00677 STDMETHOD_(void,PreLoad)(THIS) PURE; 00678 STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE; 00679 /*** IDirect3DBaseTexture8 methods ***/ 00680 STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE; 00681 STDMETHOD_(DWORD,GetLOD)(THIS) PURE; 00682 STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE; 00683 /*** IDirect3DTexture8 methods ***/ 00684 STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC * pDesc) PURE; 00685 STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level,IDirect3DSurface8 ** ppSurfaceLevel) PURE; 00686 STDMETHOD(LockRect)(THIS_ UINT Level,D3DLOCKED_RECT * pLockedRect,CONST RECT * pRect,DWORD Flags) PURE; 00687 STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE; 00688 STDMETHOD(AddDirtyRect)(THIS_ CONST RECT * pDirtyRect) PURE; 00689 }; 00690 #undef INTERFACE 00691 00692 #if !defined(__cplusplus) || defined(CINTERFACE) 00693 /*** IUnknown methods ***/ 00694 #define IDirect3DTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00695 #define IDirect3DTexture8_AddRef(p) (p)->lpVtbl->AddRef(p) 00696 #define IDirect3DTexture8_Release(p) (p)->lpVtbl->Release(p) 00697 /*** IDirect3DTexture8 methods: IDirect3DResource8 ***/ 00698 #define IDirect3DTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) 00699 #define IDirect3DTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) 00700 #define IDirect3DTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) 00701 #define IDirect3DTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) 00702 #define IDirect3DTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a) 00703 #define IDirect3DTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p) 00704 #define IDirect3DTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p) 00705 #define IDirect3DTexture8_GetType(p) (p)->lpVtbl->GetType(p) 00706 /*** IDirect3DTexture8 methods: IDirect3DBaseTexture8 ***/ 00707 #define IDirect3DTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a) 00708 #define IDirect3DTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p) 00709 #define IDirect3DTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p) 00710 /*** IDirect3DTexture8 methods ***/ 00711 #define IDirect3DTexture8_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b) 00712 #define IDirect3DTexture8_GetSurfaceLevel(p,a,b) (p)->lpVtbl->GetSurfaceLevel(p,a,b) 00713 #define IDirect3DTexture8_LockRect(p,a,b,c,d) (p)->lpVtbl->LockRect(p,a,b,c,d) 00714 #define IDirect3DTexture8_UnlockRect(p,a) (p)->lpVtbl->UnlockRect(p,a) 00715 #define IDirect3DTexture8_AddDirtyRect(p,a) (p)->lpVtbl->AddDirtyRect(p,a) 00716 #else 00717 /*** IUnknown methods ***/ 00718 #define IDirect3DTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00719 #define IDirect3DTexture8_AddRef(p) (p)->AddRef() 00720 #define IDirect3DTexture8_Release(p) (p)->Release() 00721 /*** IDirect3DTexture8 methods: IDirect3DResource8 ***/ 00722 #define IDirect3DTexture8_GetDevice(p,a) (p)->GetDevice(a) 00723 #define IDirect3DTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) 00724 #define IDirect3DTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) 00725 #define IDirect3DTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a) 00726 #define IDirect3DTexture8_SetPriority(p,a) (p)->SetPriority(a) 00727 #define IDirect3DTexture8_GetPriority(p) (p)->GetPriority() 00728 #define IDirect3DTexture8_PreLoad(p) (p)->PreLoad() 00729 #define IDirect3DTexture8_GetType(p) (p)->GetType() 00730 /*** IDirect3DTexture8 methods: IDirect3DBaseTexture8 ***/ 00731 #define IDirect3DTexture8_SetLOD(p,a) (p)->SetLOD(a) 00732 #define IDirect3DTexture8_GetLOD(p) (p)->GetLOD() 00733 #define IDirect3DTexture8_GetLevelCount(p) (p)->GetLevelCount() 00734 /*** IDirect3DTexture8 methods ***/ 00735 #define IDirect3DTexture8_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b) 00736 #define IDirect3DTexture8_GetSurfaceLevel(p,a,b) (p)->GetSurfaceLevel(a,b) 00737 #define IDirect3DTexture8_LockRect(p,a,b,c,d) (p)->LockRect(a,b,c,d) 00738 #define IDirect3DTexture8_UnlockRect(p,a) (p)->UnlockRect(a) 00739 #define IDirect3DTexture8_AddDirtyRect(p,a) (p)->AddDirtyRect(a) 00740 #endif 00741 00742 /***************************************************************************** 00743 * IDirect3DVolumeTexture8 interface 00744 */ 00745 #define INTERFACE IDirect3DVolumeTexture8 00746 DECLARE_INTERFACE_(IDirect3DVolumeTexture8,IDirect3DBaseTexture8) 00747 { 00748 /*** IUnknown methods ***/ 00749 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00750 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00751 STDMETHOD_(ULONG,Release)(THIS) PURE; 00752 /*** IDirect3DResource8 methods ***/ 00753 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE; 00754 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE; 00755 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE; 00756 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; 00757 STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE; 00758 STDMETHOD_(DWORD,GetPriority)(THIS) PURE; 00759 STDMETHOD_(void,PreLoad)(THIS) PURE; 00760 STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE; 00761 /*** IDirect3DBaseTexture8 methods ***/ 00762 STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE; 00763 STDMETHOD_(DWORD,GetLOD)(THIS) PURE; 00764 STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE; 00765 /*** IDirect3DVolumeTexture8 methods ***/ 00766 STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DVOLUME_DESC * pDesc) PURE; 00767 STDMETHOD(GetVolumeLevel)(THIS_ UINT Level,IDirect3DVolume8 ** ppVolumeLevel) PURE; 00768 STDMETHOD(LockBox)(THIS_ UINT Level,D3DLOCKED_BOX * pLockedVolume,CONST D3DBOX * pBox,DWORD Flags) PURE; 00769 STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE; 00770 STDMETHOD(AddDirtyBox)(THIS_ CONST D3DBOX * pDirtyBox) PURE; 00771 }; 00772 #undef INTERFACE 00773 00774 #if !defined(__cplusplus) || defined(CINTERFACE) 00775 /*** IUnknown methods ***/ 00776 #define IDirect3DVolumeTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00777 #define IDirect3DVolumeTexture8_AddRef(p) (p)->lpVtbl->AddRef(p) 00778 #define IDirect3DVolumeTexture8_Release(p) (p)->lpVtbl->Release(p) 00779 /*** IDirect3DVolumeTexture8 methods: IDirect3DResource8 ***/ 00780 #define IDirect3DVolumeTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) 00781 #define IDirect3DVolumeTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) 00782 #define IDirect3DVolumeTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) 00783 #define IDirect3DVolumeTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) 00784 #define IDirect3DVolumeTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a) 00785 #define IDirect3DVolumeTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p) 00786 #define IDirect3DVolumeTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p) 00787 #define IDirect3DVolumeTexture8_GetType(p) (p)->lpVtbl->GetType(p) 00788 /*** IDirect3DVolumeTexture8 methods: IDirect3DBaseTexture8 ***/ 00789 #define IDirect3DVolumeTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a) 00790 #define IDirect3DVolumeTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p) 00791 #define IDirect3DVolumeTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p) 00792 /*** IDirect3DVolumeTexture8 methods ***/ 00793 #define IDirect3DVolumeTexture8_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b) 00794 #define IDirect3DVolumeTexture8_GetVolumeLevel(p,a,b) (p)->lpVtbl->GetVolumeLevel(p,a,b) 00795 #define IDirect3DVolumeTexture8_LockBox(p,a,b,c,d) (p)->lpVtbl->LockBox(p,a,b,c,d) 00796 #define IDirect3DVolumeTexture8_UnlockBox(p,a) (p)->lpVtbl->UnlockBox(p,a) 00797 #define IDirect3DVolumeTexture8_AddDirtyBox(p,a) (p)->lpVtbl->AddDirtyBox(p,a) 00798 #else 00799 /*** IUnknown methods ***/ 00800 #define IDirect3DVolumeTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00801 #define IDirect3DVolumeTexture8_AddRef(p) (p)->AddRef() 00802 #define IDirect3DVolumeTexture8_Release(p) (p)->Release() 00803 /*** IDirect3DVolumeTexture8 methods: IDirect3DResource8 ***/ 00804 #define IDirect3DVolumeTexture8_GetDevice(p,a) (p)->GetDevice(a) 00805 #define IDirect3DVolumeTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) 00806 #define IDirect3DVolumeTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) 00807 #define IDirect3DVolumeTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a) 00808 #define IDirect3DVolumeTexture8_SetPriority(p,a) (p)->SetPriority(a) 00809 #define IDirect3DVolumeTexture8_GetPriority(p) (p)->GetPriority() 00810 #define IDirect3DVolumeTexture8_PreLoad(p) (p)->PreLoad() 00811 #define IDirect3DVolumeTexture8_GetType(p) (p)->GetType() 00812 /*** IDirect3DVolumeTexture8 methods: IDirect3DBaseTexture8 ***/ 00813 #define IDirect3DVolumeTexture8_SetLOD(p,a) (p)->SetLOD(a) 00814 #define IDirect3DVolumeTexture8_GetLOD(p) (p)->GetLOD() 00815 #define IDirect3DVolumeTexture8_GetLevelCount(p) (p)->GetLevelCount() 00816 /*** IDirect3DVolumeTexture8 methods ***/ 00817 #define IDirect3DVolumeTexture8_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b) 00818 #define IDirect3DVolumeTexture8_GetVolumeLevel(p,a,b) (p)->GetVolumeLevel(a,b) 00819 #define IDirect3DVolumeTexture8_LockBox(p,a,b,c,d) (p)->LockBox(a,b,c,d) 00820 #define IDirect3DVolumeTexture8_UnlockBox(p,a) (p)->UnlockBox(a) 00821 #define IDirect3DVolumeTexture8_AddDirtyBox(p,a) (p)->AddDirtyBox(a) 00822 #endif 00823 00824 /***************************************************************************** 00825 * IDirect3DDevice8 interface 00826 */ 00827 #define INTERFACE IDirect3DDevice8 00828 DECLARE_INTERFACE_(IDirect3DDevice8,IUnknown) 00829 { 00830 /*** IUnknown methods ***/ 00831 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00832 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00833 STDMETHOD_(ULONG,Release)(THIS) PURE; 00834 /*** IDirect3DDevice8 methods ***/ 00835 STDMETHOD(TestCooperativeLevel)(THIS) PURE; 00836 STDMETHOD_(UINT,GetAvailableTextureMem)(THIS) PURE; 00837 STDMETHOD(ResourceManagerDiscardBytes)(THIS_ DWORD Bytes) PURE; 00838 STDMETHOD(GetDirect3D)(THIS_ IDirect3D8 ** ppD3D8) PURE; 00839 STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS8 * pCaps) PURE; 00840 STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE * pMode) PURE; 00841 STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS * pParameters) PURE; 00842 STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot, UINT YHotSpot, IDirect3DSurface8 * pCursorBitmap) PURE; 00843 STDMETHOD_(void,SetCursorPosition)(THIS_ UINT XScreenSpace, UINT YScreenSpace,DWORD Flags) PURE; 00844 STDMETHOD_(BOOL,ShowCursor)(THIS_ BOOL bShow) PURE; 00845 STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS * pPresentationParameters, IDirect3DSwapChain8 ** pSwapChain) PURE; 00846 STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS * pPresentationParameters) PURE; 00847 STDMETHOD(Present)(THIS_ CONST RECT * pSourceRect,CONST RECT * pDestRect,HWND hDestWindowOverride,CONST RGNDATA * pDirtyRegion) PURE; 00848 STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface8 ** ppBackBuffer) PURE; 00849 STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS * pRasterStatus) PURE; 00850 STDMETHOD_(void,SetGammaRamp)(THIS_ DWORD Flags,CONST D3DGAMMARAMP * pRamp) PURE; 00851 STDMETHOD_(void,GetGammaRamp)(THIS_ D3DGAMMARAMP * pRamp) PURE; 00852 STDMETHOD(CreateTexture)(THIS_ UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DTexture8 ** ppTexture) PURE; 00853 STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width,UINT Height,UINT Depth,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DVolumeTexture8 ** ppVolumeTexture) PURE; 00854 STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DCubeTexture8 ** ppCubeTexture) PURE; 00855 STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length,DWORD Usage,DWORD FVF,D3DPOOL Pool,IDirect3DVertexBuffer8 ** ppVertexBuffer) PURE; 00856 STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DIndexBuffer8 ** ppIndexBuffer) PURE; 00857 STDMETHOD(CreateRenderTarget)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,BOOL Lockable,IDirect3DSurface8 ** ppSurface) PURE; 00858 STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,IDirect3DSurface8 ** ppSurface) PURE; 00859 STDMETHOD(CreateImageSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,IDirect3DSurface8 ** ppSurface) PURE; 00860 STDMETHOD(CopyRects)(THIS_ IDirect3DSurface8 * pSourceSurface,CONST RECT * pSourceRectsArray,UINT cRects,IDirect3DSurface8 * pDestinationSurface,CONST POINT * pDestPointsArray) PURE; 00861 STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture8 * pSourceTexture,IDirect3DBaseTexture8 * pDestinationTexture) PURE; 00862 STDMETHOD(GetFrontBuffer)(THIS_ IDirect3DSurface8 * pDestSurface) PURE; 00863 STDMETHOD(SetRenderTarget)(THIS_ IDirect3DSurface8 * pRenderTarget,IDirect3DSurface8 * pNewZStencil) PURE; 00864 STDMETHOD(GetRenderTarget)(THIS_ IDirect3DSurface8 ** ppRenderTarget) PURE; 00865 STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface8 ** ppZStencilSurface) PURE; 00866 STDMETHOD(BeginScene)(THIS) PURE; 00867 STDMETHOD(EndScene)(THIS) PURE; 00868 STDMETHOD(Clear)(THIS_ DWORD Count,CONST D3DRECT * pRects,DWORD Flags,D3DCOLOR Color,float Z,DWORD Stencil) PURE; 00869 STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,CONST D3DMATRIX * pMatrix) PURE; 00870 STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,D3DMATRIX * pMatrix) PURE; 00871 STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX * pMatrix) PURE; 00872 STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT8 * pViewport) PURE; 00873 STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT8 * pViewport) PURE; 00874 STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL8 * pMaterial) PURE; 00875 STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL8 *pMaterial) PURE; 00876 STDMETHOD(SetLight)(THIS_ DWORD Index,CONST D3DLIGHT8 * pLight) PURE; 00877 STDMETHOD(GetLight)(THIS_ DWORD Index,D3DLIGHT8 * pLight) PURE; 00878 STDMETHOD(LightEnable)(THIS_ DWORD Index,BOOL Enable) PURE; 00879 STDMETHOD(GetLightEnable)(THIS_ DWORD Index,BOOL * pEnable) PURE; 00880 STDMETHOD(SetClipPlane)(THIS_ DWORD Index,CONST float * pPlane) PURE; 00881 STDMETHOD(GetClipPlane)(THIS_ DWORD Index,float * pPlane) PURE; 00882 STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD Value) PURE; 00883 STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD * pValue) PURE; 00884 STDMETHOD(BeginStateBlock)(THIS) PURE; 00885 STDMETHOD(EndStateBlock)(THIS_ DWORD * pToken) PURE; 00886 STDMETHOD(ApplyStateBlock)(THIS_ DWORD Token) PURE; 00887 STDMETHOD(CaptureStateBlock)(THIS_ DWORD Token) PURE; 00888 STDMETHOD(DeleteStateBlock)(THIS_ DWORD Token) PURE; 00889 STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type,DWORD * pToken) PURE; 00890 STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS8 * pClipStatus) PURE; 00891 STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS8 * pClipStatus) PURE; 00892 STDMETHOD(GetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8 ** ppTexture) PURE; 00893 STDMETHOD(SetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8 * pTexture) PURE; 00894 STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD * pValue) PURE; 00895 STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD Value) PURE; 00896 STDMETHOD(ValidateDevice)(THIS_ DWORD * pNumPasses) PURE; 00897 STDMETHOD(GetInfo)(THIS_ DWORD DevInfoID,void * pDevInfoStruct,DWORD DevInfoStructSize) PURE; 00898 STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber,CONST PALETTEENTRY * pEntries) PURE; 00899 STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY * pEntries) PURE; 00900 STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE; 00901 STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT * PaletteNumber) PURE; 00902 STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT StartVertex,UINT PrimitiveCount) PURE; 00903 STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT minIndex,UINT NumVertices,UINT startIndex,UINT primCount) PURE; 00904 STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT PrimitiveCount,CONST void * pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE; 00905 STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT MinVertexIndex,UINT NumVertexIndices,UINT PrimitiveCount,CONST void * pIndexData,D3DFORMAT IndexDataFormat,CONST void * pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE; 00906 STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex,UINT DestIndex,UINT VertexCount,IDirect3DVertexBuffer8 * pDestBuffer,DWORD Flags) PURE; 00907 STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD * pDeclaration,CONST DWORD * pFunction,DWORD * pHandle,DWORD Usage) PURE; 00908 STDMETHOD(SetVertexShader)(THIS_ DWORD Handle) PURE; 00909 STDMETHOD(GetVertexShader)(THIS_ DWORD * pHandle) PURE; 00910 STDMETHOD(DeleteVertexShader)(THIS_ DWORD Handle) PURE; 00911 STDMETHOD(SetVertexShaderConstant)(THIS_ DWORD Register,CONST void * pConstantData,DWORD ConstantCount) PURE; 00912 STDMETHOD(GetVertexShaderConstant)(THIS_ DWORD Register,void * pConstantData,DWORD ConstantCount) PURE; 00913 STDMETHOD(GetVertexShaderDeclaration)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE; 00914 STDMETHOD(GetVertexShaderFunction)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE; 00915 STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer8 * pStreamData,UINT Stride) PURE; 00916 STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer8 ** ppStreamData,UINT * pStride) PURE; 00917 STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer8 * pIndexData,UINT BaseVertexIndex) PURE; 00918 STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer8 ** ppIndexData,UINT * pBaseVertexIndex) PURE; 00919 STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD * pFunction,DWORD * pHandle) PURE; 00920 STDMETHOD(SetPixelShader)(THIS_ DWORD Handle) PURE; 00921 STDMETHOD(GetPixelShader)(THIS_ DWORD * pHandle) PURE; 00922 STDMETHOD(DeletePixelShader)(THIS_ DWORD Handle) PURE; 00923 STDMETHOD(SetPixelShaderConstant)(THIS_ DWORD Register,CONST void * pConstantData,DWORD ConstantCount) PURE; 00924 STDMETHOD(GetPixelShaderConstant)(THIS_ DWORD Register,void * pConstantData,DWORD ConstantCount) PURE; 00925 STDMETHOD(GetPixelShaderFunction)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE; 00926 STDMETHOD(DrawRectPatch)(THIS_ UINT Handle,CONST float * pNumSegs,CONST D3DRECTPATCH_INFO * pRectPatchInfo) PURE; 00927 STDMETHOD(DrawTriPatch)(THIS_ UINT Handle,CONST float * pNumSegs,CONST D3DTRIPATCH_INFO * pTriPatchInfo) PURE; 00928 STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE; 00929 }; 00930 #undef INTERFACE 00931 00932 #if !defined(__cplusplus) || defined(CINTERFACE) 00933 /*** IUnknown methods ***/ 00934 #define IDirect3DDevice8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00935 #define IDirect3DDevice8_AddRef(p) (p)->lpVtbl->AddRef(p) 00936 #define IDirect3DDevice8_Release(p) (p)->lpVtbl->Release(p) 00937 /*** IDirect3DDevice8 methods ***/ 00938 #define IDirect3DDevice8_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p) 00939 #define IDirect3DDevice8_GetAvailableTextureMem(p) (p)->lpVtbl->GetAvailableTextureMem(p) 00940 #define IDirect3DDevice8_ResourceManagerDiscardBytes(p,a) (p)->lpVtbl->ResourceManagerDiscardBytes(p,a) 00941 #define IDirect3DDevice8_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a) 00942 #define IDirect3DDevice8_GetDeviceCaps(p,a) (p)->lpVtbl->GetDeviceCaps(p,a) 00943 #define IDirect3DDevice8_GetDisplayMode(p,a) (p)->lpVtbl->GetDisplayMode(p,a) 00944 #define IDirect3DDevice8_GetCreationParameters(p,a) (p)->lpVtbl->GetCreationParameters(p,a) 00945 #define IDirect3DDevice8_SetCursorProperties(p,a,b,c) (p)->lpVtbl->SetCursorProperties(p,a,b,c) 00946 #define IDirect3DDevice8_SetCursorPosition(p,a,b,c) (p)->lpVtbl->SetCursorPosition(p,a,b,c) 00947 #define IDirect3DDevice8_ShowCursor(p,a) (p)->lpVtbl->ShowCursor(p,a) 00948 #define IDirect3DDevice8_CreateAdditionalSwapChain(p,a,b) (p)->lpVtbl->CreateAdditionalSwapChain(p,a,b) 00949 #define IDirect3DDevice8_Reset(p,a) (p)->lpVtbl->Reset(p,a) 00950 #define IDirect3DDevice8_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d) 00951 #define IDirect3DDevice8_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c) 00952 #define IDirect3DDevice8_GetRasterStatus(p,a) (p)->lpVtbl->GetRasterStatus(p,a) 00953 #define IDirect3DDevice8_SetGammaRamp(p,a,b) (p)->lpVtbl->SetGammaRamp(p,a,b) 00954 #define IDirect3DDevice8_GetGammaRamp(p,a) (p)->lpVtbl->GetGammaRamp(p,a) 00955 #define IDirect3DDevice8_CreateTexture(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g) 00956 #define IDirect3DDevice8_CreateVolumeTexture(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateVolumeTexture(p,a,b,c,d,e,f,g,h) 00957 #define IDirect3DDevice8_CreateCubeTexture(p,a,b,c,d,e,f) (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f) 00958 #define IDirect3DDevice8_CreateVertexBuffer(p,a,b,c,d,e) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e) 00959 #define IDirect3DDevice8_CreateIndexBuffer(p,a,b,c,d,e) (p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e) 00960 #define IDirect3DDevice8_CreateRenderTarget(p,a,b,c,d,e,f) (p)->lpVtbl->CreateRenderTarget(p,a,b,c,d,e,f) 00961 #define IDirect3DDevice8_CreateDepthStencilSurface(p,a,b,c,d,e) (p)->lpVtbl->CreateDepthStencilSurface(p,a,b,c,d,e) 00962 #define IDirect3DDevice8_CreateImageSurface(p,a,b,c,d) (p)->lpVtbl->CreateImageSurface(p,a,b,c,d) 00963 #define IDirect3DDevice8_CopyRects(p,a,b,c,d,e) (p)->lpVtbl->CopyRects(p,a,b,c,d,e) 00964 #define IDirect3DDevice8_UpdateTexture(p,a,b) (p)->lpVtbl->UpdateTexture(p,a,b) 00965 #define IDirect3DDevice8_GetFrontBuffer(p,a) (p)->lpVtbl->GetFrontBuffer(p,a) 00966 #define IDirect3DDevice8_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b) 00967 #define IDirect3DDevice8_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a) 00968 #define IDirect3DDevice8_GetDepthStencilSurface(p,a) (p)->lpVtbl->GetDepthStencilSurface(p,a) 00969 #define IDirect3DDevice8_BeginScene(p) (p)->lpVtbl->BeginScene(p) 00970 #define IDirect3DDevice8_EndScene(p) (p)->lpVtbl->EndScene(p) 00971 #define IDirect3DDevice8_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f) 00972 #define IDirect3DDevice8_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b) 00973 #define IDirect3DDevice8_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b) 00974 #define IDirect3DDevice8_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b) 00975 #define IDirect3DDevice8_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a) 00976 #define IDirect3DDevice8_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a) 00977 #define IDirect3DDevice8_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a) 00978 #define IDirect3DDevice8_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a) 00979 #define IDirect3DDevice8_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b) 00980 #define IDirect3DDevice8_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b) 00981 #define IDirect3DDevice8_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b) 00982 #define IDirect3DDevice8_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b) 00983 #define IDirect3DDevice8_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b) 00984 #define IDirect3DDevice8_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b) 00985 #define IDirect3DDevice8_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b) 00986 #define IDirect3DDevice8_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b) 00987 #define IDirect3DDevice8_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p) 00988 #define IDirect3DDevice8_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a) 00989 #define IDirect3DDevice8_ApplyStateBlock(p,a) (p)->lpVtbl->ApplyStateBlock(p,a) 00990 #define IDirect3DDevice8_CaptureStateBlock(p,a) (p)->lpVtbl->CaptureStateBlock(p,a) 00991 #define IDirect3DDevice8_DeleteStateBlock(p,a) (p)->lpVtbl->DeleteStateBlock(p,a) 00992 #define IDirect3DDevice8_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b) 00993 #define IDirect3DDevice8_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a) 00994 #define IDirect3DDevice8_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a) 00995 #define IDirect3DDevice8_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b) 00996 #define IDirect3DDevice8_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b) 00997 #define IDirect3DDevice8_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c) 00998 #define IDirect3DDevice8_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c) 00999 #define IDirect3DDevice8_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a) 01000 #define IDirect3DDevice8_GetInfo(p,a,b,c) (p)->lpVtbl->GetInfo(p,a,b,c) 01001 #define IDirect3DDevice8_SetPaletteEntries(p,a,b) (p)->lpVtbl->SetPaletteEntries(p,a,b) 01002 #define IDirect3DDevice8_GetPaletteEntries(p,a,b) (p)->lpVtbl->GetPaletteEntries(p,a,b) 01003 #define IDirect3DDevice8_SetCurrentTexturePalette(p,a) (p)->lpVtbl->SetCurrentTexturePalette(p,a) 01004 #define IDirect3DDevice8_GetCurrentTexturePalette(p,a) (p)->lpVtbl->GetCurrentTexturePalette(p,a) 01005 #define IDirect3DDevice8_DrawPrimitive(p,a,b,c) (p)->lpVtbl->DrawPrimitive(p,a,b,c) 01006 #define IDirect3DDevice8_DrawIndexedPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e) 01007 #define IDirect3DDevice8_DrawPrimitiveUP(p,a,b,c,d) (p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d) 01008 #define IDirect3DDevice8_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) 01009 #define IDirect3DDevice8_ProcessVertices(p,a,b,c,d,e) (p)->lpVtbl->processVertices(p,a,b,c,d,e) 01010 #define IDirect3DDevice8_CreateVertexShader(p,a,b,c,d) (p)->lpVtbl->CreateVertexShader(p,a,b,c,d) 01011 #define IDirect3DDevice8_SetVertexShader(p,a) (p)->lpVtbl->SetVertexShader(p,a) 01012 #define IDirect3DDevice8_GetVertexShader(p,a) (p)->lpVtbl->GetVertexShader(p,a) 01013 #define IDirect3DDevice8_DeleteVertexShader(p,a) (p)->lpVtbl->DeleteVertexShader(p,a) 01014 #define IDirect3DDevice8_SetVertexShaderConstant(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstant(p,a,b,c) 01015 #define IDirect3DDevice8_GetVertexShaderConstant(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstant(p,a,b,c) 01016 #define IDirect3DDevice8_GetVertexShaderDeclaration(p,a,b,c) (p)->lpVtbl->GetVertexShaderDeclaration(p,a,b,c) 01017 #define IDirect3DDevice8_GetVertexShaderFunction(p,a,b,c) (p)->lpVtbl->GetVertexShaderFunction(p,a,b,c) 01018 #define IDirect3DDevice8_SetStreamSource(p,a,b,c) (p)->lpVtbl->SetStreamSource(p,a,b,c) 01019 #define IDirect3DDevice8_GetStreamSource(p,a,b,c) (p)->lpVtbl->GetStreamSource(p,a,b,c) 01020 #define IDirect3DDevice8_SetIndices(p,a,b) (p)->lpVtbl->SetIndices(p,a,b) 01021 #define IDirect3DDevice8_GetIndices(p,a,b) (p)->lpVtbl->GetIndices(p,a,b) 01022 #define IDirect3DDevice8_CreatePixelShader(p,a,b) (p)->lpVtbl->CreatePixelShader(p,a,b) 01023 #define IDirect3DDevice8_SetPixelShader(p,a) (p)->lpVtbl->SetPixelShader(p,a) 01024 #define IDirect3DDevice8_GetPixelShader(p,a) (p)->lpVtbl->GetPixelShader(p,a) 01025 #define IDirect3DDevice8_DeletePixelShader(p,a) (p)->lpVtbl->DeletePixelShader(p,a) 01026 #define IDirect3DDevice8_SetPixelShaderConstant(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstant(p,a,b,c) 01027 #define IDirect3DDevice8_GetPixelShaderConstant(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstant(p,a,b,c) 01028 #define IDirect3DDevice8_GetPixelShaderFunction(p,a,b,c) (p)->lpVtbl->GetPixelShaderFunction(p,a,b,c) 01029 #define IDirect3DDevice8_DrawRectPatch(p,a,b,c) (p)->lpVtbl->DrawRectPatch(p,a,b,c) 01030 #define IDirect3DDevice8_DrawTriPatch(p,a,b,c) (p)->lpVtbl->DrawTriPatch(p,a,b,c) 01031 #define IDirect3DDevice8_DeletePatch(p,a) (p)->lpVtbl->DeletePatch(p,a) 01032 #else 01033 /*** IUnknown methods ***/ 01034 #define IDirect3DDevice8_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 01035 #define IDirect3DDevice8_AddRef(p) (p)->AddRef() 01036 #define IDirect3DDevice8_Release(p) (p)->Release() 01037 /*** IDirect3DDevice8 methods ***/ 01038 #define IDirect3DDevice8_TestCooperativeLevel(p) (p)->TestCooperativeLevel() 01039 #define IDirect3DDevice8_GetAvailableTextureMem(p) (p)->GetAvailableTextureMem() 01040 #define IDirect3DDevice8_ResourceManagerDiscardBytes(p,a) (p)->ResourceManagerDiscardBytes(a) 01041 #define IDirect3DDevice8_GetDirect3D(p,a) (p)->GetDirect3D(a) 01042 #define IDirect3DDevice8_GetDeviceCaps(p,a) (p)->GetDeviceCaps(a) 01043 #define IDirect3DDevice8_GetDisplayMode(p,a) (p)->GetDisplayMode(a) 01044 #define IDirect3DDevice8_GetCreationParameters(p,a) (p)->GetCreationParameters(a) 01045 #define IDirect3DDevice8_SetCursorProperties(p,a,b,c) (p)->SetCursorProperties(a,b,c) 01046 #define IDirect3DDevice8_SetCursorPosition(p,a,b,c) (p)->SetCursorPosition(a,b,c) 01047 #define IDirect3DDevice8_ShowCursor(p,a) (p)->ShowCursor(a) 01048 #define IDirect3DDevice8_CreateAdditionalSwapChain(p,a,b) (p)->CreateAdditionalSwapChain(a,b) 01049 #define IDirect3DDevice8_Reset(p,a) (p)->Reset(a) 01050 #define IDirect3DDevice8_Present(p,a,b,c,d) (p)->Present(a,b,c,d) 01051 #define IDirect3DDevice8_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c) 01052 #define IDirect3DDevice8_GetRasterStatus(p,a) (p)->GetRasterStatus(a) 01053 #define IDirect3DDevice8_SetGammaRamp(p,a,b) (p)->SetGammaRamp(a,b) 01054 #define IDirect3DDevice8_GetGammaRamp(p,a) (p)->GetGammaRamp(a) 01055 #define IDirect3DDevice8_CreateTexture(p,a,b,c,d,e,f,g) (p)->CreateTexture(a,b,c,d,e,f,g) 01056 #define IDirect3DDevice8_CreateVolumeTexture(p,a,b,c,d,e,f,g,h) (p)->CreateVolumeTexture(a,b,c,d,e,f,g,h) 01057 #define IDirect3DDevice8_CreateCubeTexture(p,a,b,c,d,e,f) (p)->CreateCubeTexture(a,b,c,d,e,f) 01058 #define IDirect3DDevice8_CreateVertexBuffer(p,a,b,c,d,e) (p)->CreateVertexBuffer(a,b,c,d,e) 01059 #define IDirect3DDevice8_CreateIndexBuffer(p,a,b,c,d,e) (p)->CreateIndexBuffer(a,b,c,d,e) 01060 #define IDirect3DDevice8_CreateRenderTarget(p,a,b,c,d,e,f) (p)->CreateRenderTarget(a,b,c,d,e,f) 01061 #define IDirect3DDevice8_CreateDepthStencilSurface(p,a,b,c,d,e) (p)->CreateDepthStencilSurface(a,b,c,d,e) 01062 #define IDirect3DDevice8_CreateImageSurface(p,a,b,c,d) (p)->CreateImageSurface(a,b,c,d) 01063 #define IDirect3DDevice8_CopyRects(p,a,b,c,d,e) (p)->CopyRects(a,b,c,d,e) 01064 #define IDirect3DDevice8_UpdateTexture(p,a,b) (p)->UpdateTexture(a,b) 01065 #define IDirect3DDevice8_GetFrontBuffer(p,a) (p)->GetFrontBuffer(a) 01066 #define IDirect3DDevice8_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b) 01067 #define IDirect3DDevice8_GetRenderTarget(p,a) (p)->GetRenderTarget(a) 01068 #define IDirect3DDevice8_GetDepthStencilSurface(p,a) (p)->GetDepthStencilSurface(a) 01069 #define IDirect3DDevice8_BeginScene(p) (p)->BeginScene() 01070 #define IDirect3DDevice8_EndScene(p) (p)->EndScene() 01071 #define IDirect3DDevice8_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f) 01072 #define IDirect3DDevice8_SetTransform(p,a,b) (p)->SetTransform(a,b) 01073 #define IDirect3DDevice8_GetTransform(p,a,b) (p)->GetTransform(a,b) 01074 #define IDirect3DDevice8_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b) 01075 #define IDirect3DDevice8_SetViewport(p,a) (p)->SetViewport(a) 01076 #define IDirect3DDevice8_GetViewport(p,a) (p)->GetViewport(a) 01077 #define IDirect3DDevice8_SetMaterial(p,a) (p)->SetMaterial(a) 01078 #define IDirect3DDevice8_GetMaterial(p,a) (p)->GetMaterial(a) 01079 #define IDirect3DDevice8_SetLight(p,a,b) (p)->SetLight(a,b) 01080 #define IDirect3DDevice8_GetLight(p,a,b) (p)->GetLight(a,b) 01081 #define IDirect3DDevice8_LightEnable(p,a,b) (p)->LightEnable(a,b) 01082 #define IDirect3DDevice8_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b) 01083 #define IDirect3DDevice8_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b) 01084 #define IDirect3DDevice8_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b) 01085 #define IDirect3DDevice8_SetRenderState(p,a,b) (p)->SetRenderState(a,b) 01086 #define IDirect3DDevice8_GetRenderState(p,a,b) (p)->GetRenderState(a,b) 01087 #define IDirect3DDevice8_BeginStateBlock(p) (p)->BeginStateBlock() 01088 #define IDirect3DDevice8_EndStateBlock(p,a) (p)->EndStateBlock(a) 01089 #define IDirect3DDevice8_ApplyStateBlock(p,a) (p)->ApplyStateBlock(a) 01090 #define IDirect3DDevice8_CaptureStateBlock(p,a) (p)->CaptureStateBlock(a) 01091 #define IDirect3DDevice8_DeleteStateBlock(p,a) (p)->DeleteStateBlock(a) 01092 #define IDirect3DDevice8_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b) 01093 #define IDirect3DDevice8_SetClipStatus(p,a) (p)->SetClipStatus(a) 01094 #define IDirect3DDevice8_GetClipStatus(p,a) (p)->GetClipStatus(a) 01095 #define IDirect3DDevice8_GetTexture(p,a,b) (p)->GetTexture(a,b) 01096 #define IDirect3DDevice8_SetTexture(p,a,b) (p)->SetTexture(a,b) 01097 #define IDirect3DDevice8_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c) 01098 #define IDirect3DDevice8_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c) 01099 #define IDirect3DDevice8_ValidateDevice(p,a) (p)->ValidateDevice(a) 01100 #define IDirect3DDevice8_GetInfo(p,a,b,c) (p)->GetInfo(a,b,c) 01101 #define IDirect3DDevice8_SetPaletteEntries(p,a,b) (p)->SetPaletteEntries(a,b) 01102 #define IDirect3DDevice8_GetPaletteEntries(p,a,b) (p)->GetPaletteEntries(a,b) 01103 #define IDirect3DDevice8_SetCurrentTexturePalette(p,a) (p)->SetCurrentTexturePalette(a) 01104 #define IDirect3DDevice8_GetCurrentTexturePalette(p,a) (p)->GetCurrentTexturePalette(a) 01105 #define IDirect3DDevice8_DrawPrimitive(p,a,b,c) (p)->DrawPrimitive(a,b,c) 01106 #define IDirect3DDevice8_DrawIndexedPrimitive(p,a,b,c,d,e) (p)->DrawIndexedPrimitive(a,b,c,d,e) 01107 #define IDirect3DDevice8_DrawPrimitiveUP(p,a,b,c,d) (p)->DrawPrimitiveUP(a,b,c,d) 01108 #define IDirect3DDevice8_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h) 01109 #define IDirect3DDevice8_ProcessVertices(p,a,b,c,d,e) (p)->processVertices(a,b,c,d,e) 01110 #define IDirect3DDevice8_CreateVertexShader(p,a,b,c,d) (p)->CreateVertexShader(a,b,c,d) 01111 #define IDirect3DDevice8_SetVertexShader(p,a) (p)->SetVertexShader(a) 01112 #define IDirect3DDevice8_GetVertexShader(p,a) (p)->GetVertexShader(a) 01113 #define IDirect3DDevice8_DeleteVertexShader(p,a) (p)->DeleteVertexShader(a) 01114 #define IDirect3DDevice8_SetVertexShaderConstant(p,a,b,c) (p)->SetVertexShaderConstant(a,b,c) 01115 #define IDirect3DDevice8_GetVertexShaderConstant(p,a,b,c) (p)->GetVertexShaderConstant(a,b,c) 01116 #define IDirect3DDevice8_GetVertexShaderDeclaration(p,a,b,c) (p)->GetVertexShaderDeclaration(a,b,c) 01117 #define IDirect3DDevice8_GetVertexShaderFunction(p,a,b,c) (p)->GetVertexShaderFunction(a,b,c) 01118 #define IDirect3DDevice8_SetStreamSource(p,a,b,c) (p)->SetStreamSource(a,b,c) 01119 #define IDirect3DDevice8_GetStreamSource(p,a,b,c) (p)->GetStreamSource(a,b,c) 01120 #define IDirect3DDevice8_SetIndices(p,a,b) (p)->SetIndices(a,b) 01121 #define IDirect3DDevice8_GetIndices(p,a,b) (p)->GetIndices(a,b) 01122 #define IDirect3DDevice8_CreatePixelShader(p,a,b) (p)->CreatePixelShader(a,b) 01123 #define IDirect3DDevice8_SetPixelShader(p,a) (p)->SetPixelShader(a) 01124 #define IDirect3DDevice8_GetPixelShader(p,a) (p)->GetPixelShader(a) 01125 #define IDirect3DDevice8_DeletePixelShader(p,a) (p)->DeletePixelShader(a) 01126 #define IDirect3DDevice8_SetPixelShaderConstant(p,a,b,c) (p)->SetPixelShaderConstant(a,b,c) 01127 #define IDirect3DDevice8_GetPixelShaderConstant(p,a,b,c) (p)->GetPixelShaderConstant(a,b,c) 01128 #define IDirect3DDevice8_GetPixelShaderFunction(p,a,b,c) (p)->GetPixelShaderFunction(a,b,c) 01129 #define IDirect3DDevice8_DrawRectPatch(p,a,b,c) (p)->DrawRectPatch(a,b,c) 01130 #define IDirect3DDevice8_DrawTriPatch(p,a,b,c) (p)->DrawTriPatch(a,b,c) 01131 #define IDirect3DDevice8_DeletePatch(p,a) (p)->DeletePatch(a) 01132 #endif 01133 01134 #ifdef __cplusplus 01135 extern "C" { 01136 #endif /* defined(__cplusplus) */ 01137 01138 /* Define the main entrypoint as well */ 01139 IDirect3D8* WINAPI Direct3DCreate8(UINT SDKVersion); 01140 01141 #ifdef __cplusplus 01142 } /* extern "C" */ 01143 #endif /* defined(__cplusplus) */ 01144 01145 #endif /* __WINE_D3D8_H */ Generated on Sat May 26 2012 04:19:50 for ReactOS by
1.7.6.1
|