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