ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

d3d8.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.