ReactOS 0.4.17-dev-966-gf06eace
d3d8.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2002 Jason Edmeades
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19#ifndef __WINE_D3D8_H
20#define __WINE_D3D8_H
21
22#ifndef DIRECT3D_VERSION
23#define DIRECT3D_VERSION 0x0800
24#endif
25
26#include <stdlib.h>
27
28#define COM_NO_WINDOWS_H
29#include <objbase.h>
30#include <windows.h>
31#include <d3d8types.h>
32#include <d3d8caps.h>
33
34/*****************************************************************************
35 * Behavior Flags for IDirect3D8::CreateDevice
36 */
37#define D3DCREATE_FPU_PRESERVE __MSABI_LONG(0x00000002)
38#define D3DCREATE_MULTITHREADED __MSABI_LONG(0x00000004)
39#define D3DCREATE_PUREDEVICE __MSABI_LONG(0x00000010)
40#define D3DCREATE_SOFTWARE_VERTEXPROCESSING __MSABI_LONG(0x00000020)
41#define D3DCREATE_HARDWARE_VERTEXPROCESSING __MSABI_LONG(0x00000040)
42#define D3DCREATE_MIXED_VERTEXPROCESSING __MSABI_LONG(0x00000080)
43
44/*****************************************************************************
45 * Flags for SetPrivateData
46 */
47#define D3DSPD_IUNKNOWN __MSABI_LONG(0x00000001)
48
49/*****************************************************************************
50 * #defines and error codes
51 */
52#define D3D_SDK_VERSION 220
53#define D3DADAPTER_DEFAULT 0
54#define D3DENUM_NO_WHQL_LEVEL 2
55
56#define _FACD3D 0x876
57#define MAKE_D3DHRESULT( code ) MAKE_HRESULT( 1, _FACD3D, code )
58
59/*
60 * Direct3D Errors
61 */
62#define D3D_OK S_OK
63#define D3DERR_WRONGTEXTUREFORMAT MAKE_D3DHRESULT(2072)
64#define D3DERR_UNSUPPORTEDCOLOROPERATION MAKE_D3DHRESULT(2073)
65#define D3DERR_UNSUPPORTEDCOLORARG MAKE_D3DHRESULT(2074)
66#define D3DERR_UNSUPPORTEDALPHAOPERATION MAKE_D3DHRESULT(2075)
67#define D3DERR_UNSUPPORTEDALPHAARG MAKE_D3DHRESULT(2076)
68#define D3DERR_TOOMANYOPERATIONS MAKE_D3DHRESULT(2077)
69#define D3DERR_CONFLICTINGTEXTUREFILTER MAKE_D3DHRESULT(2078)
70#define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_D3DHRESULT(2079)
71#define D3DERR_CONFLICTINGRENDERSTATE MAKE_D3DHRESULT(2081)
72#define D3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_D3DHRESULT(2082)
73#define D3DERR_CONFLICTINGTEXTUREPALETTE MAKE_D3DHRESULT(2086)
74#define D3DERR_DRIVERINTERNALERROR MAKE_D3DHRESULT(2087)
75
76#define D3DERR_NOTFOUND MAKE_D3DHRESULT(2150)
77#define D3DERR_MOREDATA MAKE_D3DHRESULT(2151)
78#define D3DERR_DEVICELOST MAKE_D3DHRESULT(2152)
79#define D3DERR_DEVICENOTRESET MAKE_D3DHRESULT(2153)
80#define D3DERR_NOTAVAILABLE MAKE_D3DHRESULT(2154)
81#define D3DERR_OUTOFVIDEOMEMORY MAKE_D3DHRESULT(380)
82#define D3DERR_INVALIDDEVICE MAKE_D3DHRESULT(2155)
83#define D3DERR_INVALIDCALL MAKE_D3DHRESULT(2156)
84#define D3DERR_DRIVERINVALIDCALL MAKE_D3DHRESULT(2157)
85
86/*****************************************************************************
87 * Predeclare the interfaces
88 */
89DEFINE_GUID(IID_IDirect3D8, 0x1DD9E8DA,0x1C77,0x4D40,0xB0,0xCF,0x98,0xFE,0xFD,0xFF,0x95,0x12);
90typedef struct IDirect3D8 *LPDIRECT3D8;
91
92DEFINE_GUID(IID_IDirect3DDevice8, 0x7385E5DF,0x8FE8,0x41D5,0x86,0xB6,0xD7,0xB4,0x85,0x47,0xB6,0xCF);
93typedef struct IDirect3DDevice8 *LPDIRECT3DDEVICE8;
94
95DEFINE_GUID(IID_IDirect3DResource8, 0x1B36BB7B,0x09B7,0x410A,0xB4,0x45,0x7D,0x14,0x30,0xD7,0xB3,0x3F);
96typedef struct IDirect3DResource8 *LPDIRECT3DRESOURCE8, *PDIRECT3DRESOURCE8;
97
98DEFINE_GUID(IID_IDirect3DVertexBuffer8, 0x8AEEEAC7,0x05F9,0x44D4,0xB5,0x91,0x00,0x0B,0x0D,0xF1,0xCB,0x95);
99typedef struct IDirect3DVertexBuffer8 *LPDIRECT3DVERTEXBUFFER8, *PDIRECT3DVERTEXBUFFER8;
100
101DEFINE_GUID(IID_IDirect3DVolume8, 0xBD7349F5,0x14F1,0x42E4,0x9C,0x79,0x97,0x23,0x80,0xDB,0x40,0xC0);
102typedef struct IDirect3DVolume8 *LPDIRECT3DVOLUME8, *PDIRECT3DVOLUME8;
103
104DEFINE_GUID(IID_IDirect3DSwapChain8, 0x928C088B,0x76B9,0x4C6B,0xA5,0x36,0xA5,0x90,0x85,0x38,0x76,0xCD);
105typedef struct IDirect3DSwapChain8 *LPDIRECT3DSWAPCHAIN8, *PDIRECT3DSWAPCHAIN8;
106
107DEFINE_GUID(IID_IDirect3DSurface8, 0xB96EEBCA,0xB326,0x4EA5,0x88,0x2F,0x2F,0xF5,0xBA,0xE0,0x21,0xDD);
108typedef struct IDirect3DSurface8 *LPDIRECT3DSURFACE8, *PDIRECT3DSURFACE8;
109
110DEFINE_GUID(IID_IDirect3DIndexBuffer8, 0x0E689C9A,0x053D,0x44A0,0x9D,0x92,0xDB,0x0E,0x3D,0x75,0x0F,0x86);
111typedef struct IDirect3DIndexBuffer8 *LPDIRECT3DINDEXBUFFER8, *PDIRECT3DINDEXBUFFER8;
112
113DEFINE_GUID(IID_IDirect3DBaseTexture8, 0xB4211CFA,0x51B9,0x4A9F,0xAB,0x78,0xDB,0x99,0xB2,0xBB,0x67,0x8E);
114typedef struct IDirect3DBaseTexture8 *LPDIRECT3DBASETEXTURE8, *PDIRECT3DBASETEXTURE8;
115
116DEFINE_GUID(IID_IDirect3DTexture8, 0xE4CDD575,0x2866,0x4F01,0xB1,0x2E,0x7E,0xEC,0xE1,0xEC,0x93,0x58);
117typedef struct IDirect3DTexture8 *LPDIRECT3DTEXTURE8, *PDIRECT3DTEXTURE8;
118
119DEFINE_GUID(IID_IDirect3DCubeTexture8, 0x3EE5B968,0x2ACA,0x4C34,0x8B,0xB5,0x7E,0x0C,0x3D,0x19,0xB7,0x50);
120typedef struct IDirect3DCubeTexture8 *LPDIRECT3DCUBETEXTURE8, *PDIRECT3DCUBETEXTURE8;
121
122DEFINE_GUID(IID_IDirect3DVolumeTexture8, 0x4B8AAAFA,0x140F,0x42BA,0x91,0x31,0x59,0x7E,0xAF,0xAA,0x2E,0xAD);
123typedef struct IDirect3DVolumeTexture8 *LPDIRECT3DVOLUMETEXTURE8, *PDIRECT3DVOLUMETEXTURE8;
124
125/*****************************************************************************
126 * IDirect3D8 interface
127 */
128#undef INTERFACE
129#define INTERFACE IDirect3D8
131{
132 /*** IUnknown methods ***/
136 /*** IDirect3D8 methods ***/
137 STDMETHOD(RegisterSoftwareDevice)(THIS_ void * pInitializeFunction) PURE;
138 STDMETHOD_(UINT,GetAdapterCount )(THIS) PURE;
139 STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER8 * pIdentifier) PURE;
140 STDMETHOD_(UINT,GetAdapterModeCount)(THIS_ UINT Adapter) PURE;
141 STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter, UINT Mode, D3DDISPLAYMODE * pMode) PURE;
142 STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter, D3DDISPLAYMODE * pMode) PURE;
143 STDMETHOD(CheckDeviceType)(THIS_ UINT Adapter, D3DDEVTYPE CheckType, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL Windowed) PURE;
145 STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType) PURE;
146 STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat) PURE;
149 STDMETHOD(CreateDevice)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType,HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS * pPresentationParameters, struct IDirect3DDevice8 ** ppReturnedDeviceInterface) PURE;
150};
151#undef INTERFACE
152
153#if !defined(__cplusplus) || defined(CINTERFACE)
154/*** IUnknown methods ***/
155#define IDirect3D8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
156#define IDirect3D8_AddRef(p) (p)->lpVtbl->AddRef(p)
157#define IDirect3D8_Release(p) (p)->lpVtbl->Release(p)
158/*** IDirect3D8 methods ***/
159#define IDirect3D8_RegisterSoftwareDevice(p,a) (p)->lpVtbl->RegisterSoftwareDevice(p,a)
160#define IDirect3D8_GetAdapterCount(p) (p)->lpVtbl->GetAdapterCount(p)
161#define IDirect3D8_GetAdapterIdentifier(p,a,b,c) (p)->lpVtbl->GetAdapterIdentifier(p,a,b,c)
162#define IDirect3D8_GetAdapterModeCount(p,a) (p)->lpVtbl->GetAdapterModeCount(p,a)
163#define IDirect3D8_EnumAdapterModes(p,a,b,c) (p)->lpVtbl->EnumAdapterModes(p,a,b,c)
164#define IDirect3D8_GetAdapterDisplayMode(p,a,b) (p)->lpVtbl->GetAdapterDisplayMode(p,a,b)
165#define IDirect3D8_CheckDeviceType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e)
166#define IDirect3D8_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f)
167#define IDirect3D8_CheckDeviceMultiSampleType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e)
168#define IDirect3D8_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e)
169#define IDirect3D8_GetDeviceCaps(p,a,b,c) (p)->lpVtbl->GetDeviceCaps(p,a,b,c)
170#define IDirect3D8_GetAdapterMonitor(p,a) (p)->lpVtbl->GetAdapterMonitor(p,a)
171#define IDirect3D8_CreateDevice(p,a,b,c,d,e,f) (p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f)
172#else
173/*** IUnknown methods ***/
174#define IDirect3D8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
175#define IDirect3D8_AddRef(p) (p)->AddRef()
176#define IDirect3D8_Release(p) (p)->Release()
177/*** IDirect3D8 methods ***/
178#define IDirect3D8_RegisterSoftwareDevice(p,a) (p)->RegisterSoftwareDevice(a)
179#define IDirect3D8_GetAdapterCount(p) (p)->GetAdapterCount()
180#define IDirect3D8_GetAdapterIdentifier(p,a,b,c) (p)->GetAdapterIdentifier(a,b,c)
181#define IDirect3D8_GetAdapterModeCount(p,a) (p)->GetAdapterModeCount(a)
182#define IDirect3D8_EnumAdapterModes(p,a,b,c) (p)->EnumAdapterModes(a,b,c)
183#define IDirect3D8_GetAdapterDisplayMode(p,a,b) (p)->GetAdapterDisplayMode(a,b)
184#define IDirect3D8_CheckDeviceType(p,a,b,c,d,e) (p)->CheckDeviceType(a,b,c,d,e)
185#define IDirect3D8_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->CheckDeviceFormat(a,b,c,d,e,f)
186#define IDirect3D8_CheckDeviceMultiSampleType(p,a,b,c,d,e) (p)->CheckDeviceMultiSampleType(a,b,c,d,e)
187#define IDirect3D8_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->CheckDepthStencilMatch(a,b,c,d,e)
188#define IDirect3D8_GetDeviceCaps(p,a,b,c) (p)->GetDeviceCaps(a,b,c)
189#define IDirect3D8_GetAdapterMonitor(p,a) (p)->GetAdapterMonitor(a)
190#define IDirect3D8_CreateDevice(p,a,b,c,d,e,f) (p)->CreateDevice(a,b,c,d,e,f)
191#endif
192
193/*****************************************************************************
194 * IDirect3DVolume8 interface
195 */
196#define INTERFACE IDirect3DVolume8
198{
199 /*** IUnknown methods ***/
203 /*** IDirect3DVolume8 methods ***/
204 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
205 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
206 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void * pData, DWORD * pSizeOfData) PURE;
207 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
208 STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE;
209 STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC * pDesc) PURE;
210 STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX *locked_box, const D3DBOX *box, DWORD flags) PURE;
211 STDMETHOD(UnlockBox)(THIS) PURE;
212};
213#undef INTERFACE
214
215#if !defined(__cplusplus) || defined(CINTERFACE)
216/*** IUnknown methods ***/
217#define IDirect3DVolume8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
218#define IDirect3DVolume8_AddRef(p) (p)->lpVtbl->AddRef(p)
219#define IDirect3DVolume8_Release(p) (p)->lpVtbl->Release(p)
220/*** IDirect3DVolume8 methods ***/
221#define IDirect3DVolume8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
222#define IDirect3DVolume8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
223#define IDirect3DVolume8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
224#define IDirect3DVolume8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
225#define IDirect3DVolume8_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
226#define IDirect3DVolume8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
227#define IDirect3DVolume8_LockBox(p,a,b,c) (p)->lpVtbl->LockBox(p,a,b,c)
228#define IDirect3DVolume8_UnlockBox(p) (p)->lpVtbl->UnlockBox(p)
229#else
230/*** IUnknown methods ***/
231#define IDirect3DVolume8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
232#define IDirect3DVolume8_AddRef(p) (p)->AddRef()
233#define IDirect3DVolume8_Release(p) (p)->Release()
234/*** IDirect3DVolume8 methods ***/
235#define IDirect3DVolume8_GetDevice(p,a) (p)->GetDevice(a)
236#define IDirect3DVolume8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
237#define IDirect3DVolume8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
238#define IDirect3DVolume8_FreePrivateData(p,a) (p)->FreePrivateData(a)
239#define IDirect3DVolume8_GetContainer(p,a,b) (p)->GetContainer(a,b)
240#define IDirect3DVolume8_GetDesc(p,a) (p)->GetDesc(a)
241#define IDirect3DVolume8_LockBox(p,a,b,c) (p)->LockBox(a,b,c)
242#define IDirect3DVolume8_UnlockBox(p) (p)->UnlockBox()
243#endif
244
245/*****************************************************************************
246 * IDirect3DSwapChain8 interface
247 */
248#define INTERFACE IDirect3DSwapChain8
249DECLARE_INTERFACE_(IDirect3DSwapChain8,IUnknown)
250{
251 /*** IUnknown methods ***/
255 /*** IDirect3DSwapChain8 methods ***/
256 STDMETHOD(Present)(THIS_ const RECT *src_rect, const RECT *dst_rect, HWND dst_window_override,
257 const RGNDATA *dirty_region) PURE;
258 STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer, D3DBACKBUFFER_TYPE Type, struct IDirect3DSurface8 ** ppBackBuffer) PURE;
259};
260#undef INTERFACE
261
262#if !defined(__cplusplus) || defined(CINTERFACE)
263/*** IUnknown methods ***/
264#define IDirect3DSwapChain8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
265#define IDirect3DSwapChain8_AddRef(p) (p)->lpVtbl->AddRef(p)
266#define IDirect3DSwapChain8_Release(p) (p)->lpVtbl->Release(p)
267/*** IDirect3DSwapChain8 methods ***/
268#define IDirect3DSwapChain8_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d)
269#define IDirect3DSwapChain8_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c)
270#else
271/*** IUnknown methods ***/
272#define IDirect3DSwapChain8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
273#define IDirect3DSwapChain8_AddRef(p) (p)->AddRef()
274#define IDirect3DSwapChain8_Release(p) (p)->Release()
275/*** IDirect3DSwapChain8 methods ***/
276#define IDirect3DSwapChain8_Present(p,a,b,c,d) (p)->Present(a,b,c,d)
277#define IDirect3DSwapChain8_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c)
278#endif
279
280/*****************************************************************************
281 * IDirect3DSurface8 interface
282 */
283#define INTERFACE IDirect3DSurface8
284DECLARE_INTERFACE_(IDirect3DSurface8,IUnknown)
285{
286 /*** IUnknown methods ***/
290 /*** IDirect3DSurface8 methods ***/
291 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
292 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
293 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void * pData,DWORD * pSizeOfData) PURE;
294 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
295 STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE;
296 STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC * pDesc) PURE;
297 STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT *locked_rect, const RECT *rect, DWORD flags) PURE;
298 STDMETHOD(UnlockRect)(THIS) PURE;
299};
300#undef INTERFACE
301
302#if !defined(__cplusplus) || defined(CINTERFACE)
303/*** IUnknown methods ***/
304#define IDirect3DSurface8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
305#define IDirect3DSurface8_AddRef(p) (p)->lpVtbl->AddRef(p)
306#define IDirect3DSurface8_Release(p) (p)->lpVtbl->Release(p)
307/*** IDirect3DSurface8 methods ***/
308#define IDirect3DSurface8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
309#define IDirect3DSurface8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
310#define IDirect3DSurface8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
311#define IDirect3DSurface8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
312#define IDirect3DSurface8_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
313#define IDirect3DSurface8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
314#define IDirect3DSurface8_LockRect(p,a,b,c) (p)->lpVtbl->LockRect(p,a,b,c)
315#define IDirect3DSurface8_UnlockRect(p) (p)->lpVtbl->UnlockRect(p)
316#else
317/*** IUnknown methods ***/
318#define IDirect3DSurface8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
319#define IDirect3DSurface8_AddRef(p) (p)->AddRef()
320#define IDirect3DSurface8_Release(p) (p)->Release()
321/*** IDirect3DSurface8 methods ***/
322#define IDirect3DSurface8_GetDevice(p,a) (p)->GetDevice(a)
323#define IDirect3DSurface8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
324#define IDirect3DSurface8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
325#define IDirect3DSurface8_FreePrivateData(p,a) (p)->FreePrivateData(a)
326#define IDirect3DSurface8_GetContainer(p,a,b) (p)->GetContainer(a,b)
327#define IDirect3DSurface8_GetDesc(p,a) (p)->GetDesc(a)
328#define IDirect3DSurface8_LockRect(p,a,b,c) (p)->LockRect(a,b,c)
329#define IDirect3DSurface8_UnlockRect(p) (p)->UnlockRect()
330#endif
331
332/*****************************************************************************
333 * IDirect3DResource8 interface
334 */
335#define INTERFACE IDirect3DResource8
336DECLARE_INTERFACE_(IDirect3DResource8,IUnknown)
337{
338 /*** IUnknown methods ***/
342 /*** IDirect3DResource8 methods ***/
343 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
344 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
345 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
346 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
348 STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
349 STDMETHOD_(void,PreLoad)(THIS) PURE;
351};
352#undef INTERFACE
353
354#if !defined(__cplusplus) || defined(CINTERFACE)
355/*** IUnknown methods ***/
356#define IDirect3DResource8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
357#define IDirect3DResource8_AddRef(p) (p)->lpVtbl->AddRef(p)
358#define IDirect3DResource8_Release(p) (p)->lpVtbl->Release(p)
359/*** IDirect3DResource8 methods ***/
360#define IDirect3DResource8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
361#define IDirect3DResource8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
362#define IDirect3DResource8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
363#define IDirect3DResource8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
364#define IDirect3DResource8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
365#define IDirect3DResource8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
366#define IDirect3DResource8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
367#define IDirect3DResource8_GetType(p) (p)->lpVtbl->GetType(p)
368#else
369/*** IUnknown methods ***/
370#define IDirect3DResource8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
371#define IDirect3DResource8_AddRef(p) (p)->AddRef()
372#define IDirect3DResource8_Release(p) (p)->Release()
373/*** IDirect3DResource8 methods ***/
374#define IDirect3DResource8_GetDevice(p,a) (p)->GetDevice(a)
375#define IDirect3DResource8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
376#define IDirect3DResource8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
377#define IDirect3DResource8_FreePrivateData(p,a) (p)->FreePrivateData(a)
378#define IDirect3DResource8_SetPriority(p,a) (p)->SetPriority(a)
379#define IDirect3DResource8_GetPriority(p) (p)->GetPriority()
380#define IDirect3DResource8_PreLoad(p) (p)->PreLoad()
381#define IDirect3DResource8_GetType(p) (p)->GetType()
382#endif
383
384/*****************************************************************************
385 * IDirect3DVertexBuffer8 interface
386 */
387#define INTERFACE IDirect3DVertexBuffer8
388DECLARE_INTERFACE_(IDirect3DVertexBuffer8,IDirect3DResource8)
389{
390 /*** IUnknown methods ***/
394 /*** IDirect3DResource8 methods ***/
395 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
396 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
397 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
398 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
400 STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
401 STDMETHOD_(void,PreLoad)(THIS) PURE;
403 /*** IDirect3DVertexBuffer8 methods ***/
404 STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, BYTE ** ppbData, DWORD Flags) PURE;
406 STDMETHOD(GetDesc)(THIS_ D3DVERTEXBUFFER_DESC * pDesc) PURE;
407};
408#undef INTERFACE
409
410#if !defined(__cplusplus) || defined(CINTERFACE)
411/*** IUnknown methods ***/
412#define IDirect3DVertexBuffer8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
413#define IDirect3DVertexBuffer8_AddRef(p) (p)->lpVtbl->AddRef(p)
414#define IDirect3DVertexBuffer8_Release(p) (p)->lpVtbl->Release(p)
415/*** IDirect3DVertexBuffer8 methods: IDirect3DResource8 ***/
416#define IDirect3DVertexBuffer8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
417#define IDirect3DVertexBuffer8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
418#define IDirect3DVertexBuffer8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
419#define IDirect3DVertexBuffer8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
420#define IDirect3DVertexBuffer8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
421#define IDirect3DVertexBuffer8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
422#define IDirect3DVertexBuffer8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
423#define IDirect3DVertexBuffer8_GetType(p) (p)->lpVtbl->GetType(p)
424/*** IDirect3DVertexBuffer8 methods ***/
425#define IDirect3DVertexBuffer8_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
426#define IDirect3DVertexBuffer8_Unlock(p) (p)->lpVtbl->Unlock(p)
427#define IDirect3DVertexBuffer8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
428#else
429/*** IUnknown methods ***/
430#define IDirect3DVertexBuffer8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
431#define IDirect3DVertexBuffer8_AddRef(p) (p)->AddRef()
432#define IDirect3DVertexBuffer8_Release(p) (p)->Release()
433/*** IDirect3DVertexBuffer8 methods: IDirect3DResource8 ***/
434#define IDirect3DVertexBuffer8_GetDevice(p,a) (p)->GetDevice(a)
435#define IDirect3DVertexBuffer8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
436#define IDirect3DVertexBuffer8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
437#define IDirect3DVertexBuffer8_FreePrivateData(p,a) (p)->FreePrivateData(a)
438#define IDirect3DVertexBuffer8_SetPriority(p,a) (p)->SetPriority(a)
439#define IDirect3DVertexBuffer8_GetPriority(p) (p)->GetPriority()
440#define IDirect3DVertexBuffer8_PreLoad(p) (p)->PreLoad()
441#define IDirect3DVertexBuffer8_GetType(p) (p)->GetType()
442/*** IDirect3DVertexBuffer8 methods ***/
443#define IDirect3DVertexBuffer8_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
444#define IDirect3DVertexBuffer8_Unlock(p) (p)->Unlock()
445#define IDirect3DVertexBuffer8_GetDesc(p,a) (p)->GetDesc(a)
446#endif
447
448/*****************************************************************************
449 * IDirect3DIndexBuffer8 interface
450 */
451#define INTERFACE IDirect3DIndexBuffer8
452DECLARE_INTERFACE_(IDirect3DIndexBuffer8,IDirect3DResource8)
453{
454 /*** IUnknown methods ***/
458 /*** IDirect3DResource8 methods ***/
459 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
460 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
461 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
462 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
464 STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
465 STDMETHOD_(void,PreLoad)(THIS) PURE;
467 /*** IDirect3DIndexBuffer8 methods ***/
468 STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, BYTE ** ppbData, DWORD Flags) PURE;
470 STDMETHOD(GetDesc)(THIS_ D3DINDEXBUFFER_DESC * pDesc) PURE;
471};
472#undef INTERFACE
473
474#if !defined(__cplusplus) || defined(CINTERFACE)
475/*** IUnknown methods ***/
476#define IDirect3DIndexBuffer8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
477#define IDirect3DIndexBuffer8_AddRef(p) (p)->lpVtbl->AddRef(p)
478#define IDirect3DIndexBuffer8_Release(p) (p)->lpVtbl->Release(p)
479/*** IDirect3DIndexBuffer8 methods: IDirect3DResource8 ***/
480#define IDirect3DIndexBuffer8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
481#define IDirect3DIndexBuffer8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
482#define IDirect3DIndexBuffer8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
483#define IDirect3DIndexBuffer8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
484#define IDirect3DIndexBuffer8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
485#define IDirect3DIndexBuffer8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
486#define IDirect3DIndexBuffer8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
487#define IDirect3DIndexBuffer8_GetType(p) (p)->lpVtbl->GetType(p)
488/*** IDirect3DIndexBuffer8 methods ***/
489#define IDirect3DIndexBuffer8_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
490#define IDirect3DIndexBuffer8_Unlock(p) (p)->lpVtbl->Unlock(p)
491#define IDirect3DIndexBuffer8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
492#else
493/*** IUnknown methods ***/
494#define IDirect3DIndexBuffer8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
495#define IDirect3DIndexBuffer8_AddRef(p) (p)->AddRef()
496#define IDirect3DIndexBuffer8_Release(p) (p)->Release()
497/*** IDirect3DIndexBuffer8 methods: IDirect3DResource8 ***/
498#define IDirect3DIndexBuffer8_GetDevice(p,a) (p)->GetDevice(a)
499#define IDirect3DIndexBuffer8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
500#define IDirect3DIndexBuffer8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
501#define IDirect3DIndexBuffer8_FreePrivateData(p,a) (p)->FreePrivateData(a)
502#define IDirect3DIndexBuffer8_SetPriority(p,a) (p)->SetPriority(a)
503#define IDirect3DIndexBuffer8_GetPriority(p) (p)->GetPriority()
504#define IDirect3DIndexBuffer8_PreLoad(p) (p)->PreLoad()
505#define IDirect3DIndexBuffer8_GetType(p) (p)->GetType()
506/*** IDirect3DIndexBuffer8 methods ***/
507#define IDirect3DIndexBuffer8_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
508#define IDirect3DIndexBuffer8_Unlock(p) (p)->Unlock()
509#define IDirect3DIndexBuffer8_GetDesc(p,a) (p)->GetDesc(a)
510#endif
511
512/*****************************************************************************
513 * IDirect3DBaseTexture8 interface
514 */
515#define INTERFACE IDirect3DBaseTexture8
516DECLARE_INTERFACE_(IDirect3DBaseTexture8,IDirect3DResource8)
517{
518 /*** IUnknown methods ***/
522 /*** IDirect3DResource8 methods ***/
523 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
524 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
525 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
526 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
528 STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
529 STDMETHOD_(void,PreLoad)(THIS) PURE;
531 /*** IDirect3DBaseTexture8 methods ***/
532 STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE;
533 STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
534 STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
535};
536#undef INTERFACE
537
538#if !defined(__cplusplus) || defined(CINTERFACE)
539/*** IUnknown methods ***/
540#define IDirect3DBaseTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
541#define IDirect3DBaseTexture8_AddRef(p) (p)->lpVtbl->AddRef(p)
542#define IDirect3DBaseTexture8_Release(p) (p)->lpVtbl->Release(p)
543/*** IDirect3DBaseTexture8 methods: IDirect3DResource8 ***/
544#define IDirect3DBaseTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
545#define IDirect3DBaseTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
546#define IDirect3DBaseTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
547#define IDirect3DBaseTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
548#define IDirect3DBaseTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
549#define IDirect3DBaseTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
550#define IDirect3DBaseTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
551#define IDirect3DBaseTexture8_GetType(p) (p)->lpVtbl->GetType(p)
552/*** IDirect3DBaseTexture8 methods ***/
553#define IDirect3DBaseTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
554#define IDirect3DBaseTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p)
555#define IDirect3DBaseTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
556#else
557/*** IUnknown methods ***/
558#define IDirect3DBaseTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
559#define IDirect3DBaseTexture8_AddRef(p) (p)->AddRef()
560#define IDirect3DBaseTexture8_Release(p) (p)->Release()
561/*** IDirect3DBaseTexture8 methods: IDirect3DResource8 ***/
562#define IDirect3DBaseTexture8_GetDevice(p,a) (p)->GetDevice(a)
563#define IDirect3DBaseTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
564#define IDirect3DBaseTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
565#define IDirect3DBaseTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a)
566#define IDirect3DBaseTexture8_SetPriority(p,a) (p)->SetPriority(a)
567#define IDirect3DBaseTexture8_GetPriority(p) (p)->GetPriority()
568#define IDirect3DBaseTexture8_PreLoad(p) (p)->PreLoad()
569#define IDirect3DBaseTexture8_GetType(p) (p)->GetType()
570/*** IDirect3DBaseTexture8 methods ***/
571#define IDirect3DBaseTexture8_SetLOD(p,a) (p)->SetLOD(a)
572#define IDirect3DBaseTexture8_GetLOD(p) (p)->GetLOD()
573#define IDirect3DBaseTexture8_GetLevelCount(p) (p)->GetLevelCount()
574#endif
575
576/*****************************************************************************
577 * IDirect3DCubeTexture8 interface
578 */
579#define INTERFACE IDirect3DCubeTexture8
580DECLARE_INTERFACE_(IDirect3DCubeTexture8,IDirect3DBaseTexture8)
581{
582 /*** IUnknown methods ***/
586 /*** IDirect3DResource8 methods ***/
587 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
588 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
589 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
590 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
592 STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
593 STDMETHOD_(void,PreLoad)(THIS) PURE;
595 /*** IDirect3DBaseTexture8 methods ***/
596 STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE;
597 STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
598 STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
599 /*** IDirect3DCubeTexture8 methods ***/
600 STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC * pDesc) PURE;
601 STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,IDirect3DSurface8 ** ppCubeMapSurface) PURE;
603 const RECT *rect, DWORD flags) PURE;
604 STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level) PURE;
605 STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES face, const RECT *dirty_rect) PURE;
606};
607#undef INTERFACE
608
609#if !defined(__cplusplus) || defined(CINTERFACE)
610/*** IUnknown methods ***/
611#define IDirect3DCubeTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
612#define IDirect3DCubeTexture8_AddRef(p) (p)->lpVtbl->AddRef(p)
613#define IDirect3DCubeTexture8_Release(p) (p)->lpVtbl->Release(p)
614/*** IDirect3DCubeTexture8 methods: IDirect3DResource8 ***/
615#define IDirect3DCubeTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
616#define IDirect3DCubeTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
617#define IDirect3DCubeTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
618#define IDirect3DCubeTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
619#define IDirect3DCubeTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
620#define IDirect3DCubeTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
621#define IDirect3DCubeTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
622#define IDirect3DCubeTexture8_GetType(p) (p)->lpVtbl->GetType(p)
623/*** IDirect3DCubeTexture8 methods: IDirect3DBaseTexture8 ***/
624#define IDirect3DCubeTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
625#define IDirect3DCubeTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p)
626#define IDirect3DCubeTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
627/*** IDirect3DCubeTexture8 methods ***/
628#define IDirect3DCubeTexture8_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
629#define IDirect3DCubeTexture8_GetCubeMapSurface(p,a,b,c) (p)->lpVtbl->GetCubeMapSurface(p,a,b,c)
630#define IDirect3DCubeTexture8_LockRect(p,a,b,c,d,e) (p)->lpVtbl->LockRect(p,a,b,c,d,e)
631#define IDirect3DCubeTexture8_UnlockRect(p,a,b) (p)->lpVtbl->UnlockRect(p,a,b)
632#define IDirect3DCubeTexture8_AddDirtyRect(p,a,b) (p)->lpVtbl->AddDirtyRect(p,a,b)
633#else
634/*** IUnknown methods ***/
635#define IDirect3DCubeTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
636#define IDirect3DCubeTexture8_AddRef(p) (p)->AddRef()
637#define IDirect3DCubeTexture8_Release(p) (p)->Release()
638/*** IDirect3DCubeTexture8 methods: IDirect3DResource8 ***/
639#define IDirect3DCubeTexture8_GetDevice(p,a) (p)->GetDevice(a)
640#define IDirect3DCubeTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
641#define IDirect3DCubeTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
642#define IDirect3DCubeTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a)
643#define IDirect3DCubeTexture8_SetPriority(p,a) (p)->SetPriority(a)
644#define IDirect3DCubeTexture8_GetPriority(p) (p)->GetPriority()
645#define IDirect3DCubeTexture8_PreLoad(p) (p)->PreLoad()
646#define IDirect3DCubeTexture8_GetType(p) (p)->GetType()
647/*** IDirect3DCubeTexture8 methods: IDirect3DBaseTexture8 ***/
648#define IDirect3DCubeTexture8_SetLOD(p,a) (p)->SetLOD(a)
649#define IDirect3DCubeTexture8_GetLOD(p) (p)->GetLOD()
650#define IDirect3DCubeTexture8_GetLevelCount(p) (p)->GetLevelCount()
651/*** IDirect3DCubeTexture8 methods ***/
652#define IDirect3DCubeTexture8_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
653#define IDirect3DCubeTexture8_GetCubeMapSurface(p,a,b,c) (p)->GetCubeMapSurface(a,b,c)
654#define IDirect3DCubeTexture8_LockRect(p,a,b,c,d,e) (p)->LockRect(a,b,c,d,e)
655#define IDirect3DCubeTexture8_UnlockRect(p,a,b) (p)->UnlockRect(a,b)
656#define IDirect3DCubeTexture8_AddDirtyRect(p,a,b) (p)->AddDirtyRect(a,b)
657#endif
658
659/*****************************************************************************
660 * IDirect3DTexture8 interface
661 */
662#define INTERFACE IDirect3DTexture8
663DECLARE_INTERFACE_(IDirect3DTexture8,IDirect3DBaseTexture8)
664{
665 /*** IUnknown methods ***/
669 /*** IDirect3DResource8 methods ***/
670 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
671 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
672 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
673 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
675 STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
676 STDMETHOD_(void,PreLoad)(THIS) PURE;
678 /*** IDirect3DBaseTexture8 methods ***/
679 STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE;
680 STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
681 STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
682 /*** IDirect3DTexture8 methods ***/
683 STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC * pDesc) PURE;
684 STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level,IDirect3DSurface8 ** ppSurfaceLevel) PURE;
685 STDMETHOD(LockRect)(THIS_ UINT level, D3DLOCKED_RECT *locked_rect, const RECT *rect, DWORD flags) PURE;
686 STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE;
687 STDMETHOD(AddDirtyRect)(THIS_ const RECT *dirty_rect) PURE;
688};
689#undef INTERFACE
690
691#if !defined(__cplusplus) || defined(CINTERFACE)
692/*** IUnknown methods ***/
693#define IDirect3DTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
694#define IDirect3DTexture8_AddRef(p) (p)->lpVtbl->AddRef(p)
695#define IDirect3DTexture8_Release(p) (p)->lpVtbl->Release(p)
696/*** IDirect3DTexture8 methods: IDirect3DResource8 ***/
697#define IDirect3DTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
698#define IDirect3DTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
699#define IDirect3DTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
700#define IDirect3DTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
701#define IDirect3DTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
702#define IDirect3DTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
703#define IDirect3DTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
704#define IDirect3DTexture8_GetType(p) (p)->lpVtbl->GetType(p)
705/*** IDirect3DTexture8 methods: IDirect3DBaseTexture8 ***/
706#define IDirect3DTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
707#define IDirect3DTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p)
708#define IDirect3DTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
709/*** IDirect3DTexture8 methods ***/
710#define IDirect3DTexture8_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
711#define IDirect3DTexture8_GetSurfaceLevel(p,a,b) (p)->lpVtbl->GetSurfaceLevel(p,a,b)
712#define IDirect3DTexture8_LockRect(p,a,b,c,d) (p)->lpVtbl->LockRect(p,a,b,c,d)
713#define IDirect3DTexture8_UnlockRect(p,a) (p)->lpVtbl->UnlockRect(p,a)
714#define IDirect3DTexture8_AddDirtyRect(p,a) (p)->lpVtbl->AddDirtyRect(p,a)
715#else
716/*** IUnknown methods ***/
717#define IDirect3DTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
718#define IDirect3DTexture8_AddRef(p) (p)->AddRef()
719#define IDirect3DTexture8_Release(p) (p)->Release()
720/*** IDirect3DTexture8 methods: IDirect3DResource8 ***/
721#define IDirect3DTexture8_GetDevice(p,a) (p)->GetDevice(a)
722#define IDirect3DTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
723#define IDirect3DTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
724#define IDirect3DTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a)
725#define IDirect3DTexture8_SetPriority(p,a) (p)->SetPriority(a)
726#define IDirect3DTexture8_GetPriority(p) (p)->GetPriority()
727#define IDirect3DTexture8_PreLoad(p) (p)->PreLoad()
728#define IDirect3DTexture8_GetType(p) (p)->GetType()
729/*** IDirect3DTexture8 methods: IDirect3DBaseTexture8 ***/
730#define IDirect3DTexture8_SetLOD(p,a) (p)->SetLOD(a)
731#define IDirect3DTexture8_GetLOD(p) (p)->GetLOD()
732#define IDirect3DTexture8_GetLevelCount(p) (p)->GetLevelCount()
733/*** IDirect3DTexture8 methods ***/
734#define IDirect3DTexture8_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
735#define IDirect3DTexture8_GetSurfaceLevel(p,a,b) (p)->GetSurfaceLevel(a,b)
736#define IDirect3DTexture8_LockRect(p,a,b,c,d) (p)->LockRect(a,b,c,d)
737#define IDirect3DTexture8_UnlockRect(p,a) (p)->UnlockRect(a)
738#define IDirect3DTexture8_AddDirtyRect(p,a) (p)->AddDirtyRect(a)
739#endif
740
741/*****************************************************************************
742 * IDirect3DVolumeTexture8 interface
743 */
744#define INTERFACE IDirect3DVolumeTexture8
745DECLARE_INTERFACE_(IDirect3DVolumeTexture8,IDirect3DBaseTexture8)
746{
747 /*** IUnknown methods ***/
751 /*** IDirect3DResource8 methods ***/
752 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
753 STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, const void *data, DWORD data_size, DWORD flags) PURE;
754 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
755 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
757 STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
758 STDMETHOD_(void,PreLoad)(THIS) PURE;
760 /*** IDirect3DBaseTexture8 methods ***/
761 STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE;
762 STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
763 STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
764 /*** IDirect3DVolumeTexture8 methods ***/
765 STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DVOLUME_DESC * pDesc) PURE;
766 STDMETHOD(GetVolumeLevel)(THIS_ UINT Level,IDirect3DVolume8 ** ppVolumeLevel) PURE;
767 STDMETHOD(LockBox)(THIS_ UINT level, D3DLOCKED_BOX *locked_box, const D3DBOX *box, DWORD flags) PURE;
768 STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE;
769 STDMETHOD(AddDirtyBox)(THIS_ const D3DBOX *dirty_box) PURE;
770};
771#undef INTERFACE
772
773#if !defined(__cplusplus) || defined(CINTERFACE)
774/*** IUnknown methods ***/
775#define IDirect3DVolumeTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
776#define IDirect3DVolumeTexture8_AddRef(p) (p)->lpVtbl->AddRef(p)
777#define IDirect3DVolumeTexture8_Release(p) (p)->lpVtbl->Release(p)
778/*** IDirect3DVolumeTexture8 methods: IDirect3DResource8 ***/
779#define IDirect3DVolumeTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
780#define IDirect3DVolumeTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
781#define IDirect3DVolumeTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
782#define IDirect3DVolumeTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
783#define IDirect3DVolumeTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
784#define IDirect3DVolumeTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
785#define IDirect3DVolumeTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
786#define IDirect3DVolumeTexture8_GetType(p) (p)->lpVtbl->GetType(p)
787/*** IDirect3DVolumeTexture8 methods: IDirect3DBaseTexture8 ***/
788#define IDirect3DVolumeTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
789#define IDirect3DVolumeTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p)
790#define IDirect3DVolumeTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
791/*** IDirect3DVolumeTexture8 methods ***/
792#define IDirect3DVolumeTexture8_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
793#define IDirect3DVolumeTexture8_GetVolumeLevel(p,a,b) (p)->lpVtbl->GetVolumeLevel(p,a,b)
794#define IDirect3DVolumeTexture8_LockBox(p,a,b,c,d) (p)->lpVtbl->LockBox(p,a,b,c,d)
795#define IDirect3DVolumeTexture8_UnlockBox(p,a) (p)->lpVtbl->UnlockBox(p,a)
796#define IDirect3DVolumeTexture8_AddDirtyBox(p,a) (p)->lpVtbl->AddDirtyBox(p,a)
797#else
798/*** IUnknown methods ***/
799#define IDirect3DVolumeTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
800#define IDirect3DVolumeTexture8_AddRef(p) (p)->AddRef()
801#define IDirect3DVolumeTexture8_Release(p) (p)->Release()
802/*** IDirect3DVolumeTexture8 methods: IDirect3DResource8 ***/
803#define IDirect3DVolumeTexture8_GetDevice(p,a) (p)->GetDevice(a)
804#define IDirect3DVolumeTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
805#define IDirect3DVolumeTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
806#define IDirect3DVolumeTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a)
807#define IDirect3DVolumeTexture8_SetPriority(p,a) (p)->SetPriority(a)
808#define IDirect3DVolumeTexture8_GetPriority(p) (p)->GetPriority()
809#define IDirect3DVolumeTexture8_PreLoad(p) (p)->PreLoad()
810#define IDirect3DVolumeTexture8_GetType(p) (p)->GetType()
811/*** IDirect3DVolumeTexture8 methods: IDirect3DBaseTexture8 ***/
812#define IDirect3DVolumeTexture8_SetLOD(p,a) (p)->SetLOD(a)
813#define IDirect3DVolumeTexture8_GetLOD(p) (p)->GetLOD()
814#define IDirect3DVolumeTexture8_GetLevelCount(p) (p)->GetLevelCount()
815/*** IDirect3DVolumeTexture8 methods ***/
816#define IDirect3DVolumeTexture8_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
817#define IDirect3DVolumeTexture8_GetVolumeLevel(p,a,b) (p)->GetVolumeLevel(a,b)
818#define IDirect3DVolumeTexture8_LockBox(p,a,b,c,d) (p)->LockBox(a,b,c,d)
819#define IDirect3DVolumeTexture8_UnlockBox(p,a) (p)->UnlockBox(a)
820#define IDirect3DVolumeTexture8_AddDirtyBox(p,a) (p)->AddDirtyBox(a)
821#endif
822
823/*****************************************************************************
824 * IDirect3DDevice8 interface
825 */
826#define INTERFACE IDirect3DDevice8
828{
829 /*** IUnknown methods ***/
833 /*** IDirect3DDevice8 methods ***/
834 STDMETHOD(TestCooperativeLevel)(THIS) PURE;
835 STDMETHOD_(UINT,GetAvailableTextureMem)(THIS) PURE;
836 STDMETHOD(ResourceManagerDiscardBytes)(THIS_ DWORD Bytes) PURE;
837 STDMETHOD(GetDirect3D)(THIS_ IDirect3D8 ** ppD3D8) PURE;
839 STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE * pMode) PURE;
840 STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS * pParameters) PURE;
841 STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot, UINT YHotSpot, IDirect3DSurface8 * pCursorBitmap) PURE;
842 STDMETHOD_(void,SetCursorPosition)(THIS_ UINT XScreenSpace, UINT YScreenSpace,DWORD Flags) PURE;
844 STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS * pPresentationParameters, IDirect3DSwapChain8 ** pSwapChain) PURE;
845 STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS * pPresentationParameters) PURE;
846 STDMETHOD(Present)(THIS_ const RECT *src_rect, const RECT *dst_rect, HWND dst_window_override,
847 const RGNDATA *dirty_region) PURE;
848 STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface8 ** ppBackBuffer) PURE;
849 STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS * pRasterStatus) PURE;
850 STDMETHOD_(void, SetGammaRamp)(THIS_ DWORD flags, const D3DGAMMARAMP *ramp) PURE;
851 STDMETHOD_(void,GetGammaRamp)(THIS_ D3DGAMMARAMP * pRamp) PURE;
852 STDMETHOD(CreateTexture)(THIS_ UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DTexture8 ** ppTexture) PURE;
853 STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width,UINT Height,UINT Depth,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DVolumeTexture8 ** ppVolumeTexture) PURE;
854 STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DCubeTexture8 ** ppCubeTexture) PURE;
855 STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length,DWORD Usage,DWORD FVF,D3DPOOL Pool,IDirect3DVertexBuffer8 ** ppVertexBuffer) PURE;
856 STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DIndexBuffer8 ** ppIndexBuffer) PURE;
857 STDMETHOD(CreateRenderTarget)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,BOOL Lockable,IDirect3DSurface8 ** ppSurface) PURE;
858 STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,IDirect3DSurface8 ** ppSurface) PURE;
859 STDMETHOD(CreateImageSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,IDirect3DSurface8 ** ppSurface) PURE;
860 STDMETHOD(CopyRects)(THIS_ IDirect3DSurface8 *src_surface, const RECT *src_rects,
861 UINT rect_count, IDirect3DSurface8 *dst_surface, const POINT *dst_points) PURE;
862 STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture8 * pSourceTexture,IDirect3DBaseTexture8 * pDestinationTexture) PURE;
863 STDMETHOD(GetFrontBuffer)(THIS_ IDirect3DSurface8 * pDestSurface) PURE;
864 STDMETHOD(SetRenderTarget)(THIS_ IDirect3DSurface8 * pRenderTarget,IDirect3DSurface8 * pNewZStencil) PURE;
865 STDMETHOD(GetRenderTarget)(THIS_ IDirect3DSurface8 ** ppRenderTarget) PURE;
866 STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface8 ** ppZStencilSurface) PURE;
867 STDMETHOD(BeginScene)(THIS) PURE;
868 STDMETHOD(EndScene)(THIS) PURE;
869 STDMETHOD(Clear)(THIS_ DWORD rect_count, const D3DRECT *rects, DWORD flags, D3DCOLOR color,
870 float z, DWORD stencil) PURE;
873 STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE state, const D3DMATRIX *matrix) PURE;
874 STDMETHOD(SetViewport)(THIS_ const D3DVIEWPORT8 *viewport) PURE;
875 STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT8 * pViewport) PURE;
876 STDMETHOD(SetMaterial)(THIS_ const D3DMATERIAL8 *material) PURE;
877 STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL8 *pMaterial) PURE;
878 STDMETHOD(SetLight)(THIS_ DWORD index, const D3DLIGHT8 *light) PURE;
879 STDMETHOD(GetLight)(THIS_ DWORD Index,D3DLIGHT8 * pLight) PURE;
880 STDMETHOD(LightEnable)(THIS_ DWORD Index,BOOL Enable) PURE;
881 STDMETHOD(GetLightEnable)(THIS_ DWORD Index,BOOL * pEnable) PURE;
882 STDMETHOD(SetClipPlane)(THIS_ DWORD index, const float *plane) PURE;
883 STDMETHOD(GetClipPlane)(THIS_ DWORD Index,float * pPlane) PURE;
886 STDMETHOD(BeginStateBlock)(THIS) PURE;
887 STDMETHOD(EndStateBlock)(THIS_ DWORD * pToken) PURE;
888 STDMETHOD(ApplyStateBlock)(THIS_ DWORD Token) PURE;
889 STDMETHOD(CaptureStateBlock)(THIS_ DWORD Token) PURE;
890 STDMETHOD(DeleteStateBlock)(THIS_ DWORD Token) PURE;
891 STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type,DWORD * pToken) PURE;
892 STDMETHOD(SetClipStatus)(THIS_ const D3DCLIPSTATUS8 *clip_status) PURE;
893 STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS8 * pClipStatus) PURE;
894 STDMETHOD(GetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8 ** ppTexture) PURE;
895 STDMETHOD(SetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8 * pTexture) PURE;
896 STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD * pValue) PURE;
897 STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD Value) PURE;
898 STDMETHOD(ValidateDevice)(THIS_ DWORD * pNumPasses) PURE;
899 STDMETHOD(GetInfo)(THIS_ DWORD DevInfoID,void * pDevInfoStruct,DWORD DevInfoStructSize) PURE;
900 STDMETHOD(SetPaletteEntries)(THIS_ UINT palette_idx, const PALETTEENTRY *entries) PURE;
901 STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY * pEntries) PURE;
902 STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE;
903 STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT * PaletteNumber) PURE;
904 STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT StartVertex,UINT PrimitiveCount) PURE;
905 STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT minIndex,UINT NumVertices,UINT startIndex,UINT primCount) PURE;
906 STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE primitive_type, UINT primitive_count,
907 const void *data, UINT stride) PURE;
908 STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE primitive_type, UINT min_vertex_idx,
909 UINT vertex_count, UINT primitive_count, const void *index_data, D3DFORMAT index_format,
910 const void *data, UINT stride) PURE;
911 STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex,UINT DestIndex,UINT VertexCount,IDirect3DVertexBuffer8 * pDestBuffer,DWORD Flags) PURE;
912 STDMETHOD(CreateVertexShader)(THIS_ const DWORD *declaration, const DWORD *byte_code,
914 STDMETHOD(SetVertexShader)(THIS_ DWORD Handle) PURE;
915 STDMETHOD(GetVertexShader)(THIS_ DWORD * pHandle) PURE;
916 STDMETHOD(DeleteVertexShader)(THIS_ DWORD Handle) PURE;
917 STDMETHOD(SetVertexShaderConstant)(THIS_ DWORD reg_idx, const void *data, DWORD count) PURE;
918 STDMETHOD(GetVertexShaderConstant)(THIS_ DWORD Register,void * pConstantData,DWORD ConstantCount) PURE;
919 STDMETHOD(GetVertexShaderDeclaration)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE;
920 STDMETHOD(GetVertexShaderFunction)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE;
921 STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer8 * pStreamData,UINT Stride) PURE;
922 STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer8 ** ppStreamData,UINT * pStride) PURE;
923 STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer8 * pIndexData,UINT BaseVertexIndex) PURE;
924 STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer8 ** ppIndexData,UINT * pBaseVertexIndex) PURE;
925 STDMETHOD(CreatePixelShader)(THIS_ const DWORD *byte_code, DWORD *shader) PURE;
926 STDMETHOD(SetPixelShader)(THIS_ DWORD Handle) PURE;
927 STDMETHOD(GetPixelShader)(THIS_ DWORD * pHandle) PURE;
928 STDMETHOD(DeletePixelShader)(THIS_ DWORD Handle) PURE;
929 STDMETHOD(SetPixelShaderConstant)(THIS_ DWORD reg_idx, const void *data, DWORD count) PURE;
930 STDMETHOD(GetPixelShaderConstant)(THIS_ DWORD Register,void * pConstantData,DWORD ConstantCount) PURE;
931 STDMETHOD(GetPixelShaderFunction)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE;
932 STDMETHOD(DrawRectPatch)(THIS_ UINT handle, const float *segment_count,
933 const D3DRECTPATCH_INFO *patch_info) PURE;
934 STDMETHOD(DrawTriPatch)(THIS_ UINT handle, const float *segment_count,
935 const D3DTRIPATCH_INFO *patch_info) PURE;
936 STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE;
937};
938#undef INTERFACE
939
940#if !defined(__cplusplus) || defined(CINTERFACE)
941/*** IUnknown methods ***/
942#define IDirect3DDevice8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
943#define IDirect3DDevice8_AddRef(p) (p)->lpVtbl->AddRef(p)
944#define IDirect3DDevice8_Release(p) (p)->lpVtbl->Release(p)
945/*** IDirect3DDevice8 methods ***/
946#define IDirect3DDevice8_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p)
947#define IDirect3DDevice8_GetAvailableTextureMem(p) (p)->lpVtbl->GetAvailableTextureMem(p)
948#define IDirect3DDevice8_ResourceManagerDiscardBytes(p,a) (p)->lpVtbl->ResourceManagerDiscardBytes(p,a)
949#define IDirect3DDevice8_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
950#define IDirect3DDevice8_GetDeviceCaps(p,a) (p)->lpVtbl->GetDeviceCaps(p,a)
951#define IDirect3DDevice8_GetDisplayMode(p,a) (p)->lpVtbl->GetDisplayMode(p,a)
952#define IDirect3DDevice8_GetCreationParameters(p,a) (p)->lpVtbl->GetCreationParameters(p,a)
953#define IDirect3DDevice8_SetCursorProperties(p,a,b,c) (p)->lpVtbl->SetCursorProperties(p,a,b,c)
954#define IDirect3DDevice8_SetCursorPosition(p,a,b,c) (p)->lpVtbl->SetCursorPosition(p,a,b,c)
955#define IDirect3DDevice8_ShowCursor(p,a) (p)->lpVtbl->ShowCursor(p,a)
956#define IDirect3DDevice8_CreateAdditionalSwapChain(p,a,b) (p)->lpVtbl->CreateAdditionalSwapChain(p,a,b)
957#define IDirect3DDevice8_Reset(p,a) (p)->lpVtbl->Reset(p,a)
958#define IDirect3DDevice8_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d)
959#define IDirect3DDevice8_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c)
960#define IDirect3DDevice8_GetRasterStatus(p,a) (p)->lpVtbl->GetRasterStatus(p,a)
961#define IDirect3DDevice8_SetGammaRamp(p,a,b) (p)->lpVtbl->SetGammaRamp(p,a,b)
962#define IDirect3DDevice8_GetGammaRamp(p,a) (p)->lpVtbl->GetGammaRamp(p,a)
963#define IDirect3DDevice8_CreateTexture(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g)
964#define IDirect3DDevice8_CreateVolumeTexture(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateVolumeTexture(p,a,b,c,d,e,f,g,h)
965#define IDirect3DDevice8_CreateCubeTexture(p,a,b,c,d,e,f) (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f)
966#define IDirect3DDevice8_CreateVertexBuffer(p,a,b,c,d,e) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e)
967#define IDirect3DDevice8_CreateIndexBuffer(p,a,b,c,d,e) (p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e)
968#define IDirect3DDevice8_CreateRenderTarget(p,a,b,c,d,e,f) (p)->lpVtbl->CreateRenderTarget(p,a,b,c,d,e,f)
969#define IDirect3DDevice8_CreateDepthStencilSurface(p,a,b,c,d,e) (p)->lpVtbl->CreateDepthStencilSurface(p,a,b,c,d,e)
970#define IDirect3DDevice8_CreateImageSurface(p,a,b,c,d) (p)->lpVtbl->CreateImageSurface(p,a,b,c,d)
971#define IDirect3DDevice8_CopyRects(p,a,b,c,d,e) (p)->lpVtbl->CopyRects(p,a,b,c,d,e)
972#define IDirect3DDevice8_UpdateTexture(p,a,b) (p)->lpVtbl->UpdateTexture(p,a,b)
973#define IDirect3DDevice8_GetFrontBuffer(p,a) (p)->lpVtbl->GetFrontBuffer(p,a)
974#define IDirect3DDevice8_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
975#define IDirect3DDevice8_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a)
976#define IDirect3DDevice8_GetDepthStencilSurface(p,a) (p)->lpVtbl->GetDepthStencilSurface(p,a)
977#define IDirect3DDevice8_BeginScene(p) (p)->lpVtbl->BeginScene(p)
978#define IDirect3DDevice8_EndScene(p) (p)->lpVtbl->EndScene(p)
979#define IDirect3DDevice8_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
980#define IDirect3DDevice8_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
981#define IDirect3DDevice8_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
982#define IDirect3DDevice8_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
983#define IDirect3DDevice8_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
984#define IDirect3DDevice8_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
985#define IDirect3DDevice8_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
986#define IDirect3DDevice8_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
987#define IDirect3DDevice8_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
988#define IDirect3DDevice8_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b)
989#define IDirect3DDevice8_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b)
990#define IDirect3DDevice8_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b)
991#define IDirect3DDevice8_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b)
992#define IDirect3DDevice8_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b)
993#define IDirect3DDevice8_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
994#define IDirect3DDevice8_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
995#define IDirect3DDevice8_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p)
996#define IDirect3DDevice8_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a)
997#define IDirect3DDevice8_ApplyStateBlock(p,a) (p)->lpVtbl->ApplyStateBlock(p,a)
998#define IDirect3DDevice8_CaptureStateBlock(p,a) (p)->lpVtbl->CaptureStateBlock(p,a)
999#define IDirect3DDevice8_DeleteStateBlock(p,a) (p)->lpVtbl->DeleteStateBlock(p,a)
1000#define IDirect3DDevice8_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b)
1001#define IDirect3DDevice8_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
1002#define IDirect3DDevice8_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
1003#define IDirect3DDevice8_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
1004#define IDirect3DDevice8_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
1005#define IDirect3DDevice8_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
1006#define IDirect3DDevice8_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
1007#define IDirect3DDevice8_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
1008#define IDirect3DDevice8_GetInfo(p,a,b,c) (p)->lpVtbl->GetInfo(p,a,b,c)
1009#define IDirect3DDevice8_SetPaletteEntries(p,a,b) (p)->lpVtbl->SetPaletteEntries(p,a,b)
1010#define IDirect3DDevice8_GetPaletteEntries(p,a,b) (p)->lpVtbl->GetPaletteEntries(p,a,b)
1011#define IDirect3DDevice8_SetCurrentTexturePalette(p,a) (p)->lpVtbl->SetCurrentTexturePalette(p,a)
1012#define IDirect3DDevice8_GetCurrentTexturePalette(p,a) (p)->lpVtbl->GetCurrentTexturePalette(p,a)
1013#define IDirect3DDevice8_DrawPrimitive(p,a,b,c) (p)->lpVtbl->DrawPrimitive(p,a,b,c)
1014#define IDirect3DDevice8_DrawIndexedPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e)
1015#define IDirect3DDevice8_DrawPrimitiveUP(p,a,b,c,d) (p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d)
1016#define IDirect3DDevice8_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)
1017#define IDirect3DDevice8_ProcessVertices(p,a,b,c,d,e) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e)
1018#define IDirect3DDevice8_CreateVertexShader(p,a,b,c,d) (p)->lpVtbl->CreateVertexShader(p,a,b,c,d)
1019#define IDirect3DDevice8_SetVertexShader(p,a) (p)->lpVtbl->SetVertexShader(p,a)
1020#define IDirect3DDevice8_GetVertexShader(p,a) (p)->lpVtbl->GetVertexShader(p,a)
1021#define IDirect3DDevice8_DeleteVertexShader(p,a) (p)->lpVtbl->DeleteVertexShader(p,a)
1022#define IDirect3DDevice8_SetVertexShaderConstant(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstant(p,a,b,c)
1023#define IDirect3DDevice8_GetVertexShaderConstant(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstant(p,a,b,c)
1024#define IDirect3DDevice8_GetVertexShaderDeclaration(p,a,b,c) (p)->lpVtbl->GetVertexShaderDeclaration(p,a,b,c)
1025#define IDirect3DDevice8_GetVertexShaderFunction(p,a,b,c) (p)->lpVtbl->GetVertexShaderFunction(p,a,b,c)
1026#define IDirect3DDevice8_SetStreamSource(p,a,b,c) (p)->lpVtbl->SetStreamSource(p,a,b,c)
1027#define IDirect3DDevice8_GetStreamSource(p,a,b,c) (p)->lpVtbl->GetStreamSource(p,a,b,c)
1028#define IDirect3DDevice8_SetIndices(p,a,b) (p)->lpVtbl->SetIndices(p,a,b)
1029#define IDirect3DDevice8_GetIndices(p,a,b) (p)->lpVtbl->GetIndices(p,a,b)
1030#define IDirect3DDevice8_CreatePixelShader(p,a,b) (p)->lpVtbl->CreatePixelShader(p,a,b)
1031#define IDirect3DDevice8_SetPixelShader(p,a) (p)->lpVtbl->SetPixelShader(p,a)
1032#define IDirect3DDevice8_GetPixelShader(p,a) (p)->lpVtbl->GetPixelShader(p,a)
1033#define IDirect3DDevice8_DeletePixelShader(p,a) (p)->lpVtbl->DeletePixelShader(p,a)
1034#define IDirect3DDevice8_SetPixelShaderConstant(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstant(p,a,b,c)
1035#define IDirect3DDevice8_GetPixelShaderConstant(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstant(p,a,b,c)
1036#define IDirect3DDevice8_GetPixelShaderFunction(p,a,b,c) (p)->lpVtbl->GetPixelShaderFunction(p,a,b,c)
1037#define IDirect3DDevice8_DrawRectPatch(p,a,b,c) (p)->lpVtbl->DrawRectPatch(p,a,b,c)
1038#define IDirect3DDevice8_DrawTriPatch(p,a,b,c) (p)->lpVtbl->DrawTriPatch(p,a,b,c)
1039#define IDirect3DDevice8_DeletePatch(p,a) (p)->lpVtbl->DeletePatch(p,a)
1040#else
1041/*** IUnknown methods ***/
1042#define IDirect3DDevice8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1043#define IDirect3DDevice8_AddRef(p) (p)->AddRef()
1044#define IDirect3DDevice8_Release(p) (p)->Release()
1045/*** IDirect3DDevice8 methods ***/
1046#define IDirect3DDevice8_TestCooperativeLevel(p) (p)->TestCooperativeLevel()
1047#define IDirect3DDevice8_GetAvailableTextureMem(p) (p)->GetAvailableTextureMem()
1048#define IDirect3DDevice8_ResourceManagerDiscardBytes(p,a) (p)->ResourceManagerDiscardBytes(a)
1049#define IDirect3DDevice8_GetDirect3D(p,a) (p)->GetDirect3D(a)
1050#define IDirect3DDevice8_GetDeviceCaps(p,a) (p)->GetDeviceCaps(a)
1051#define IDirect3DDevice8_GetDisplayMode(p,a) (p)->GetDisplayMode(a)
1052#define IDirect3DDevice8_GetCreationParameters(p,a) (p)->GetCreationParameters(a)
1053#define IDirect3DDevice8_SetCursorProperties(p,a,b,c) (p)->SetCursorProperties(a,b,c)
1054#define IDirect3DDevice8_SetCursorPosition(p,a,b,c) (p)->SetCursorPosition(a,b,c)
1055#define IDirect3DDevice8_ShowCursor(p,a) (p)->ShowCursor(a)
1056#define IDirect3DDevice8_CreateAdditionalSwapChain(p,a,b) (p)->CreateAdditionalSwapChain(a,b)
1057#define IDirect3DDevice8_Reset(p,a) (p)->Reset(a)
1058#define IDirect3DDevice8_Present(p,a,b,c,d) (p)->Present(a,b,c,d)
1059#define IDirect3DDevice8_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c)
1060#define IDirect3DDevice8_GetRasterStatus(p,a) (p)->GetRasterStatus(a)
1061#define IDirect3DDevice8_SetGammaRamp(p,a,b) (p)->SetGammaRamp(a,b)
1062#define IDirect3DDevice8_GetGammaRamp(p,a) (p)->GetGammaRamp(a)
1063#define IDirect3DDevice8_CreateTexture(p,a,b,c,d,e,f,g) (p)->CreateTexture(a,b,c,d,e,f,g)
1064#define IDirect3DDevice8_CreateVolumeTexture(p,a,b,c,d,e,f,g,h) (p)->CreateVolumeTexture(a,b,c,d,e,f,g,h)
1065#define IDirect3DDevice8_CreateCubeTexture(p,a,b,c,d,e,f) (p)->CreateCubeTexture(a,b,c,d,e,f)
1066#define IDirect3DDevice8_CreateVertexBuffer(p,a,b,c,d,e) (p)->CreateVertexBuffer(a,b,c,d,e)
1067#define IDirect3DDevice8_CreateIndexBuffer(p,a,b,c,d,e) (p)->CreateIndexBuffer(a,b,c,d,e)
1068#define IDirect3DDevice8_CreateRenderTarget(p,a,b,c,d,e,f) (p)->CreateRenderTarget(a,b,c,d,e,f)
1069#define IDirect3DDevice8_CreateDepthStencilSurface(p,a,b,c,d,e) (p)->CreateDepthStencilSurface(a,b,c,d,e)
1070#define IDirect3DDevice8_CreateImageSurface(p,a,b,c,d) (p)->CreateImageSurface(a,b,c,d)
1071#define IDirect3DDevice8_CopyRects(p,a,b,c,d,e) (p)->CopyRects(a,b,c,d,e)
1072#define IDirect3DDevice8_UpdateTexture(p,a,b) (p)->UpdateTexture(a,b)
1073#define IDirect3DDevice8_GetFrontBuffer(p,a) (p)->GetFrontBuffer(a)
1074#define IDirect3DDevice8_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
1075#define IDirect3DDevice8_GetRenderTarget(p,a) (p)->GetRenderTarget(a)
1076#define IDirect3DDevice8_GetDepthStencilSurface(p,a) (p)->GetDepthStencilSurface(a)
1077#define IDirect3DDevice8_BeginScene(p) (p)->BeginScene()
1078#define IDirect3DDevice8_EndScene(p) (p)->EndScene()
1079#define IDirect3DDevice8_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f)
1080#define IDirect3DDevice8_SetTransform(p,a,b) (p)->SetTransform(a,b)
1081#define IDirect3DDevice8_GetTransform(p,a,b) (p)->GetTransform(a,b)
1082#define IDirect3DDevice8_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
1083#define IDirect3DDevice8_SetViewport(p,a) (p)->SetViewport(a)
1084#define IDirect3DDevice8_GetViewport(p,a) (p)->GetViewport(a)
1085#define IDirect3DDevice8_SetMaterial(p,a) (p)->SetMaterial(a)
1086#define IDirect3DDevice8_GetMaterial(p,a) (p)->GetMaterial(a)
1087#define IDirect3DDevice8_SetLight(p,a,b) (p)->SetLight(a,b)
1088#define IDirect3DDevice8_GetLight(p,a,b) (p)->GetLight(a,b)
1089#define IDirect3DDevice8_LightEnable(p,a,b) (p)->LightEnable(a,b)
1090#define IDirect3DDevice8_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b)
1091#define IDirect3DDevice8_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b)
1092#define IDirect3DDevice8_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b)
1093#define IDirect3DDevice8_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
1094#define IDirect3DDevice8_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
1095#define IDirect3DDevice8_BeginStateBlock(p) (p)->BeginStateBlock()
1096#define IDirect3DDevice8_EndStateBlock(p,a) (p)->EndStateBlock(a)
1097#define IDirect3DDevice8_ApplyStateBlock(p,a) (p)->ApplyStateBlock(a)
1098#define IDirect3DDevice8_CaptureStateBlock(p,a) (p)->CaptureStateBlock(a)
1099#define IDirect3DDevice8_DeleteStateBlock(p,a) (p)->DeleteStateBlock(a)
1100#define IDirect3DDevice8_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b)
1101#define IDirect3DDevice8_SetClipStatus(p,a) (p)->SetClipStatus(a)
1102#define IDirect3DDevice8_GetClipStatus(p,a) (p)->GetClipStatus(a)
1103#define IDirect3DDevice8_GetTexture(p,a,b) (p)->GetTexture(a,b)
1104#define IDirect3DDevice8_SetTexture(p,a,b) (p)->SetTexture(a,b)
1105#define IDirect3DDevice8_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
1106#define IDirect3DDevice8_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
1107#define IDirect3DDevice8_ValidateDevice(p,a) (p)->ValidateDevice(a)
1108#define IDirect3DDevice8_GetInfo(p,a,b,c) (p)->GetInfo(a,b,c)
1109#define IDirect3DDevice8_SetPaletteEntries(p,a,b) (p)->SetPaletteEntries(a,b)
1110#define IDirect3DDevice8_GetPaletteEntries(p,a,b) (p)->GetPaletteEntries(a,b)
1111#define IDirect3DDevice8_SetCurrentTexturePalette(p,a) (p)->SetCurrentTexturePalette(a)
1112#define IDirect3DDevice8_GetCurrentTexturePalette(p,a) (p)->GetCurrentTexturePalette(a)
1113#define IDirect3DDevice8_DrawPrimitive(p,a,b,c) (p)->DrawPrimitive(a,b,c)
1114#define IDirect3DDevice8_DrawIndexedPrimitive(p,a,b,c,d,e) (p)->DrawIndexedPrimitive(a,b,c,d,e)
1115#define IDirect3DDevice8_DrawPrimitiveUP(p,a,b,c,d) (p)->DrawPrimitiveUP(a,b,c,d)
1116#define IDirect3DDevice8_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h)
1117#define IDirect3DDevice8_ProcessVertices(p,a,b,c,d,e) (p)->processVertices(a,b,c,d,e)
1118#define IDirect3DDevice8_CreateVertexShader(p,a,b,c,d) (p)->CreateVertexShader(a,b,c,d)
1119#define IDirect3DDevice8_SetVertexShader(p,a) (p)->SetVertexShader(a)
1120#define IDirect3DDevice8_GetVertexShader(p,a) (p)->GetVertexShader(a)
1121#define IDirect3DDevice8_DeleteVertexShader(p,a) (p)->DeleteVertexShader(a)
1122#define IDirect3DDevice8_SetVertexShaderConstant(p,a,b,c) (p)->SetVertexShaderConstant(a,b,c)
1123#define IDirect3DDevice8_GetVertexShaderConstant(p,a,b,c) (p)->GetVertexShaderConstant(a,b,c)
1124#define IDirect3DDevice8_GetVertexShaderDeclaration(p,a,b,c) (p)->GetVertexShaderDeclaration(a,b,c)
1125#define IDirect3DDevice8_GetVertexShaderFunction(p,a,b,c) (p)->GetVertexShaderFunction(a,b,c)
1126#define IDirect3DDevice8_SetStreamSource(p,a,b,c) (p)->SetStreamSource(a,b,c)
1127#define IDirect3DDevice8_GetStreamSource(p,a,b,c) (p)->GetStreamSource(a,b,c)
1128#define IDirect3DDevice8_SetIndices(p,a,b) (p)->SetIndices(a,b)
1129#define IDirect3DDevice8_GetIndices(p,a,b) (p)->GetIndices(a,b)
1130#define IDirect3DDevice8_CreatePixelShader(p,a,b) (p)->CreatePixelShader(a,b)
1131#define IDirect3DDevice8_SetPixelShader(p,a) (p)->SetPixelShader(a)
1132#define IDirect3DDevice8_GetPixelShader(p,a) (p)->GetPixelShader(a)
1133#define IDirect3DDevice8_DeletePixelShader(p,a) (p)->DeletePixelShader(a)
1134#define IDirect3DDevice8_SetPixelShaderConstant(p,a,b,c) (p)->SetPixelShaderConstant(a,b,c)
1135#define IDirect3DDevice8_GetPixelShaderConstant(p,a,b,c) (p)->GetPixelShaderConstant(a,b,c)
1136#define IDirect3DDevice8_GetPixelShaderFunction(p,a,b,c) (p)->GetPixelShaderFunction(a,b,c)
1137#define IDirect3DDevice8_DrawRectPatch(p,a,b,c) (p)->DrawRectPatch(a,b,c)
1138#define IDirect3DDevice8_DrawTriPatch(p,a,b,c) (p)->DrawTriPatch(a,b,c)
1139#define IDirect3DDevice8_DeletePatch(p,a) (p)->DeletePatch(a)
1140#endif
1141
1142#ifdef __cplusplus
1143extern "C" {
1144#endif /* defined(__cplusplus) */
1145
1146/* Define the main entrypoint as well */
1147IDirect3D8* WINAPI Direct3DCreate8(UINT SDKVersion);
1148
1149#ifdef __cplusplus
1150} /* extern "C" */
1151#endif /* defined(__cplusplus) */
1152
1153#endif /* __WINE_D3D8_H */
static T & Reset(T &sei, UINT flags=SEE_MASK_FLAG_NO_UI)
Type
Definition: Type.h:7
static int state
Definition: maze.c:121
#define index(s, c)
Definition: various.h:29
#define DECLARE_INTERFACE_(i, b)
Definition: basetyps.h:78
#define PURE
Definition: basetyps.h:64
#define THIS_
Definition: basetyps.h:65
#define THIS
Definition: basetyps.h:66
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
#define STDMETHOD(m)
Definition: basetyps.h:62
_In_ BOOLEAN Release
Definition: cdrom.h:920
Definition: bufpool.h:50
RECT rect
Definition: combotst.c:67
UINT Depth
Definition: d3d12.idl:4644
enum _D3DTEXTURESTAGESTATETYPE D3DTEXTURESTAGESTATETYPE
enum _D3DBACKBUFFER_TYPE D3DBACKBUFFER_TYPE
enum _D3DRESOURCETYPE D3DRESOURCETYPE
enum _D3DDEVTYPE D3DDEVTYPE
enum _D3DPOOL D3DPOOL
enum _D3DTRANSFORMSTATETYPE D3DTRANSFORMSTATETYPE
enum _D3DFORMAT D3DFORMAT
enum _D3DCUBEMAP_FACES D3DCUBEMAP_FACES
enum _D3DMULTISAMPLE_TYPE D3DMULTISAMPLE_TYPE
enum _D3DSTATEBLOCKTYPE D3DSTATEBLOCKTYPE
D3DPRIMITIVETYPE
Definition: d3dtypes.h:822
D3DRENDERSTATETYPE
Definition: d3dtypes.h:874
_Check_return_ _In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ PDXGKARG_SYSTEM_DISPLAY_ENABLE_FLAGS _Out_ UINT _Out_ UINT * Height
Definition: dispmprt.h:1445
_Check_return_ _In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ PDXGKARG_SYSTEM_DISPLAY_ENABLE_FLAGS _Out_ UINT * Width
Definition: dispmprt.h:1444
_In_ ULONG _In_ UCHAR Level
Definition: dispmprt.h:1329
_Check_return_ _In_ PQUERY_INTERFACE QueryInterface
Definition: dispmprt.h:1318
_In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ ULONG _In_ ULONG Flags
Definition: dispmprt.h:245
HMONITOR GetAdapterMonitor(LPCSTR lpszDeviceName)
Definition: adapter.c:393
HRESULT CheckDeviceType(LPD3D9_DRIVERCAPS pDriverCaps, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL Windowed)
Definition: format.c:224
HRESULT CheckDepthStencilMatch(LPD3D9_DRIVERCAPS pDriverCaps, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat)
Definition: format.c:539
HRESULT CheckDeviceFormat(LPD3D9_DRIVERCAPS pDriverCaps, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat)
Definition: format.c:326
WORD face[3]
Definition: mesh.c:4854
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
static PUCHAR BackBuffer
Definition: bootvid.c:38
return pList GetDevice()
PWCHAR pValue
ULONG Handle
Definition: gdb_input.c:15
GLint level
Definition: gl.h:1546
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLsizei stride
Definition: glext.h:5848
GLuint color
Definition: glext.h:6243
GLuint shader
Definition: glext.h:6030
GLuint GLenum matrix
Definition: glext.h:9407
GLbitfield flags
Definition: glext.h:7161
GLsizeiptr const GLvoid GLenum usage
Definition: glext.h:5919
GLint GLfloat GLint stencil
Definition: glext.h:6260
GLdouble GLdouble z
Definition: glext.h:5874
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint GLenum GLenum GLenum GLint GLuint GLenum GLenum GLfloat GLenum GLfloat GLenum GLint const GLfloat GLenum GLint const GLushort GLint GLint GLsizei GLsizei GLenum GLsizei GLsizei GLenum GLenum const GLvoid GLenum plane
Definition: glfuncs.h:270
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum light
Definition: glfuncs.h:170
unsigned int UINT
Definition: sysinfo.c:13
@ SetPriority
Definition: halhw.h:216
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE Usage
Definition: hidpi.h:384
_In_ ULONG Mode
Definition: hubbusif.h:303
REFIID riid
Definition: atlbase.h:39
_In_ UINT Bytes
Definition: mmcopy.h:9
DeviceType
Definition: mmdrv.h:42
static void Clear(void)
Definition: treeview.c:388
int vertex_count
Definition: d3drm.c:3528
static const BYTE ramp[17]
Definition: dib.c:2957
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:83
static LRESULT GetInfo(const CodecInfo *pi, ICINFO *icinfo, DWORD dwSize)
Definition: msrle32.c:1168
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:142
void DrawPrimitive(IN HDC hDC, IN const RECT &RPrimitive, IN OutPrimitive PrimitiveID)
Definition: primitives.cpp:80
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition: guiddef.h:68
#define REFIID
Definition: guiddef.h:118
@ Unlock
Definition: ntsecapi.h:294
int WINAPI ShowCursor(_In_ BOOL)
Definition: cursoricon.c:3081
struct IDirect3DSurface8 * PDIRECT3DSURFACE8
Definition: d3d8.h:108
struct IDirect3DTexture8 * LPDIRECT3DTEXTURE8
Definition: d3d8.h:117
struct IDirect3DVertexBuffer8 * PDIRECT3DVERTEXBUFFER8
Definition: d3d8.h:99
struct IDirect3DVertexBuffer8 * LPDIRECT3DVERTEXBUFFER8
Definition: d3d8.h:99
struct IDirect3DTexture8 * PDIRECT3DTEXTURE8
Definition: d3d8.h:117
struct IDirect3DBaseTexture8 * LPDIRECT3DBASETEXTURE8
Definition: d3d8.h:114
struct IDirect3D8 * LPDIRECT3D8
Definition: d3d8.h:90
struct IDirect3DVolume8 * LPDIRECT3DVOLUME8
Definition: d3d8.h:102
struct IDirect3DBaseTexture8 * PDIRECT3DBASETEXTURE8
Definition: d3d8.h:114
struct IDirect3DDevice8 * LPDIRECT3DDEVICE8
Definition: d3d8.h:93
struct IDirect3DSwapChain8 * LPDIRECT3DSWAPCHAIN8
Definition: d3d8.h:105
struct IDirect3DIndexBuffer8 * LPDIRECT3DINDEXBUFFER8
Definition: d3d8.h:111
struct IDirect3DResource8 * PDIRECT3DRESOURCE8
Definition: d3d8.h:96
struct IDirect3DVolume8 * PDIRECT3DVOLUME8
Definition: d3d8.h:102
struct IDirect3DVolumeTexture8 * PDIRECT3DVOLUMETEXTURE8
Definition: d3d8.h:123
struct IDirect3DVolumeTexture8 * LPDIRECT3DVOLUMETEXTURE8
Definition: d3d8.h:123
struct IDirect3DResource8 * LPDIRECT3DRESOURCE8
Definition: d3d8.h:96
struct IDirect3DIndexBuffer8 * PDIRECT3DINDEXBUFFER8
Definition: d3d8.h:111
struct IDirect3DSurface8 * LPDIRECT3DSURFACE8
Definition: d3d8.h:108
struct IDirect3DCubeTexture8 * LPDIRECT3DCUBETEXTURE8
Definition: d3d8.h:120
IDirect3D8 *WINAPI Direct3DCreate8(UINT SDKVersion)
Definition: d3d8.c:30
struct IDirect3DSwapChain8 * PDIRECT3DSWAPCHAIN8
Definition: d3d8.h:105
struct IDirect3DCubeTexture8 * PDIRECT3DCUBETEXTURE8
Definition: d3d8.h:120
Definition: dcommon.idl:28
Definition: scsiwmi.h:51
Definition: palette.c:466
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1830
uint32_t ULONG
Definition: typedefs.h:59
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
Definition: wdfsync.h:127
UINT WINAPI GetPaletteEntries(HPALETTE hpal, UINT iStartIndex, UINT cEntries, LPPALETTEENTRY ppe)
Definition: palette.c:64
#define GetType(This)
Definition: conio.h:54
#define WINAPI
Definition: msvc.h:6
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
BOOL WINAPI GetTransform(HDC, DWORD, XFORM *)
UINT WINAPI SetPaletteEntries(_In_ HPALETTE hpal, _In_ UINT iStart, _In_ UINT cEntries, _In_reads_(cEntries) CONST PALETTEENTRY *pPalEntries)
unsigned char BYTE
Definition: xxhash.c:193