2 * Copyright (C) 2008 Vijay Kiran Kamuju
3 * Copyright (C) 2010 Christian Costa
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #ifndef __D3DRMOBJ_H__
21 #define __D3DRMOBJ_H__
32 /*****************************************************************************
33 * Predeclare the interfaces
36 DEFINE_GUID(IID_IDirect3DRMObject
, 0xeb16cb00, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
37 DEFINE_GUID(IID_IDirect3DRMVisual
, 0xeb16cb04, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
39 typedef struct IDirect3DRMObject
*LPDIRECT3DRMOBJECT
, **LPLPDIRECT3DRMOBJECT
;
40 typedef struct IDirect3DRMObject2
*LPDIRECT3DRMOBJECT2
, **LPLPDIRECT3DRMOBJECT2
;
41 typedef struct IDirect3DRMDevice
*LPDIRECT3DRMDEVICE
, **LPLPDIRECT3DRMDEVICE
;
42 typedef struct IDirect3DRMDevice2
*LPDIRECT3DRMDEVICE2
, **LPLPDIRECT3DRMDEVICE2
;
43 typedef struct IDirect3DRMDevice3
*LPDIRECT3DRMDEVICE3
, **LPLPDIRECT3DRMDEVICE3
;
44 typedef struct IDirect3DRMViewport
*LPDIRECT3DRMVIEWPORT
, **LPLPDIRECT3DRMVIEWPORT
;
45 typedef struct IDirect3DRMViewport2
*LPDIRECT3DRMVIEWPORT2
, **LPLPDIRECT3DRMVIEWPORT2
;
46 typedef struct IDirect3DRMFrame
*LPDIRECT3DRMFRAME
, **LPLPDIRECT3DRMFRAME
;
47 typedef struct IDirect3DRMFrame2
*LPDIRECT3DRMFRAME2
, **LPLPDIRECT3DRMFRAME2
;
48 typedef struct IDirect3DRMFrame3
*LPDIRECT3DRMFRAME3
, **LPLPDIRECT3DRMFRAME3
;
49 typedef struct IDirect3DRMVisual
*LPDIRECT3DRMVISUAL
, **LPLPDIRECT3DRMVISUAL
;
50 typedef struct IDirect3DRMMesh
*LPDIRECT3DRMMESH
, **LPLPDIRECT3DRMMESH
;
51 typedef struct IDirect3DRMMeshBuilder
*LPDIRECT3DRMMESHBUILDER
, **LPLPDIRECT3DRMMESHBUILDER
;
52 typedef struct IDirect3DRMMeshBuilder2
*LPDIRECT3DRMMESHBUILDER2
, **LPLPDIRECT3DRMMESHBUILDER2
;
53 typedef struct IDirect3DRMMeshBuilder3
*LPDIRECT3DRMMESHBUILDER3
, **LPLPDIRECT3DRMMESHBUILDER3
;
54 typedef struct IDirect3DRMFace
*LPDIRECT3DRMFACE
, **LPLPDIRECT3DRMFACE
;
55 typedef struct IDirect3DRMFace2
*LPDIRECT3DRMFACE2
, **LPLPDIRECT3DRMFACE2
;
56 typedef struct IDirect3DRMLight
*LPDIRECT3DRMLIGHT
, **LPLPDIRECT3DRMLIGHT
;
57 typedef struct IDirect3DRMTexture
*LPDIRECT3DRMTEXTURE
, **LPLPDIRECT3DRMTEXTURE
;
58 typedef struct IDirect3DRMTexture2
*LPDIRECT3DRMTEXTURE2
, **LPLPDIRECT3DRMTEXTURE2
;
59 typedef struct IDirect3DRMTexture3
*LPDIRECT3DRMTEXTURE3
, **LPLPDIRECT3DRMTEXTURE3
;
60 typedef struct IDirect3DRMWrap
*LPDIRECT3DRMWRAP
, **LPLPDIRECT3DRMWRAP
;
61 typedef struct IDirect3DRMMaterial
*LPDIRECT3DRMMATERIAL
, **LPLPDIRECT3DRMMATERIAL
;
62 typedef struct IDirect3DRMMaterial2
*LPDIRECT3DRMMATERIAL2
, **LPLPDIRECT3DRMMATERIAL2
;
63 typedef struct IDirect3DRMAnimation
*LPDIRECT3DRMANIMATION
, **LPLPDIRECT3DRMANIMATION
;
64 typedef struct IDirect3DRMAnimation2
*LPDIRECT3DRMANIMATION2
, **LPLPDIRECT3DRMANIMATION2
;
65 typedef struct IDirect3DRMAnimationSet
*LPDIRECT3DRMANIMATIONSET
, **LPLPDIRECT3DRMANIMATIONSET
;
66 typedef struct IDirect3DRMAnimationSet2
*LPDIRECT3DRMANIMATIONSET2
, **LPLPDIRECT3DRMANIMATIONSET2
;
67 typedef struct IDirect3DRMUserVisual
*LPDIRECT3DRMUSERVISUAL
, **LPLPDIRECT3DRMUSERVISUAL
;
68 typedef struct IDirect3DRMShadow
*LPDIRECT3DRMSHADOW
, **LPLPDIRECT3DRMSHADOW
;
69 typedef struct IDirect3DRMShadow2
*LPDIRECT3DRMSHADOW2
, **LPLPDIRECT3DRMSHADOW2
;
70 typedef struct IDirect3DRMArray
*LPDIRECT3DRMARRAY
, **LPLPDIRECT3DRMARRAY
;
71 typedef struct IDirect3DRMObjectArray
*LPDIRECT3DRMOBJECTARRAY
, **LPLPDIRECT3DRMOBJECTARRAY
;
72 typedef struct IDirect3DRMDeviceArray
*LPDIRECT3DRMDEVICEARRAY
, **LPLPDIRECT3DRMDEVICEARRAY
;
73 typedef struct IDirect3DRMFaceArray
*LPDIRECT3DRMFACEARRAY
, **LPLPDIRECT3DRMFACEARRAY
;
74 typedef struct IDirect3DRMViewportArray
*LPDIRECT3DRMVIEWPORTARRAY
, **LPLPDIRECT3DRMVIEWPORTARRAY
;
75 typedef struct IDirect3DRMFrameArray
*LPDIRECT3DRMFRAMEARRAY
, **LPLPDIRECT3DRMFRAMEARRAY
;
76 typedef struct IDirect3DRMAnimationArray
*LPDIRECT3DRMANIMATIONARRAY
, **LPLPDIRECT3DRMANIMATIONARRAY
;
77 typedef struct IDirect3DRMVisualArray
*LPDIRECT3DRMVISUALARRAY
, **LPLPDIRECT3DRMVISUALARRAY
;
78 typedef struct IDirect3DRMPickedArray
*LPDIRECT3DRMPICKEDARRAY
, **LPLPDIRECT3DRMPICKEDARRAY
;
79 typedef struct IDirect3DRMPicked2Array
*LPDIRECT3DRMPICKED2ARRAY
, **LPLPDIRECT3DRMPICKED2ARRAY
;
80 typedef struct IDirect3DRMLightArray
*LPDIRECT3DRMLIGHTARRAY
, **LPLPDIRECT3DRMLIGHTARRAY
;
81 typedef struct IDirect3DRMProgressiveMesh
*LPDIRECT3DRMPROGRESSIVEMESH
, **LPLPDIRECT3DRMPROGRESSIVEMESH
;
82 typedef struct IDirect3DRMClippedVisual
*LPDIRECT3DRMCLIPPEDVISUAL
, **LPLPDIRECT3DRMCLIPPEDVISUAL
;
84 /* ********************************************************************
86 ******************************************************************** */
88 typedef void (__cdecl
*D3DRMOBJECTCALLBACK
)(LPDIRECT3DRMOBJECT obj
, LPVOID arg
);
89 typedef void (__cdecl
*D3DRMFRAMEMOVECALLBACK
)(LPDIRECT3DRMFRAME obj
, LPVOID arg
, D3DVALUE delta
);
90 typedef void (__cdecl
*D3DRMUPDATECALLBACK
)(LPDIRECT3DRMDEVICE obj
, LPVOID arg
, int, LPD3DRECT
);
91 typedef int (__cdecl
*D3DRMUSERVISUALCALLBACK
)(LPDIRECT3DRMUSERVISUAL obj
, LPVOID arg
,
92 D3DRMUSERVISUALREASON reason
, LPDIRECT3DRMDEVICE dev
, LPDIRECT3DRMVIEWPORT view
);
93 typedef HRESULT (__cdecl
*D3DRMLOADTEXTURECALLBACK
)(char *tex_name
, void *arg
, LPDIRECT3DRMTEXTURE
*);
94 typedef void (__cdecl
*D3DRMLOADCALLBACK
)(LPDIRECT3DRMOBJECT object
, REFIID objectguid
, LPVOID arg
);
96 typedef struct _D3DRMPICKDESC
101 } D3DRMPICKDESC
, *LPD3DRMPICKDESC
;
103 typedef struct _D3DRMPICKDESC2
112 } D3DRMPICKDESC2
, *LPD3DRMPICKDESC2
;
114 /*****************************************************************************
115 * IDirect3DRMObject interface
117 #ifdef WINE_NO_UNICODE_MACROS
120 #define INTERFACE IDirect3DRMObject
121 DECLARE_INTERFACE_(IDirect3DRMObject
,IUnknown
)
123 /*** IUnknown methods ***/
124 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
125 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
126 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
127 /*** IDirect3DRMObject methods ***/
128 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
129 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
130 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
131 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
132 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
133 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
134 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
135 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
139 #if !defined(__cplusplus) || defined(CINTERFACE)
140 /*** IUnknown methods ***/
141 #define IDirect3DRMObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
142 #define IDirect3DRMObject_AddRef(p) (p)->lpVtbl->AddRef(p)
143 #define IDirect3DRMObject_Release(p) (p)->lpVtbl->Release(p)
144 /*** IDirect3DRMObject methods ***/
145 #define IDirect3DRMObject_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
146 #define IDirect3DRMObject_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
147 #define IDirect3DRMObject_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
148 #define IDirect3DRMObject_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
149 #define IDirect3DRMObject_GetAppData(p) (p)->lpVtbl->GetAppData(p)
150 #define IDirect3DRMObject_SetName(p,a) (p)->lpVtbl->SetName(p,a)
151 #define IDirect3DRMObject_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
152 #define IDirect3DRMObject_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
154 /*** IUnknown methods ***/
155 #define IDirect3DRMObject_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
156 #define IDirect3DRMObject_AddRef(p) (p)->AddRef()
157 #define IDirect3DRMObject_Release(p) (p)->Release()
158 /*** IDirect3DRMObject methods ***/
159 #define IDirect3DRMObject_Clone(p,a,b,c) (p)->Clone(a,b,c)
160 #define IDirect3DRMObject_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
161 #define IDirect3DRMObject_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
162 #define IDirect3DRMObject_SetAppData(p,a) (p)->SetAppData(a)
163 #define IDirect3DRMObject_GetAppData(p) (p)->GetAppData()
164 #define IDirect3DRMObject_SetName(p,a) (p)->SetName(a)
165 #define IDirect3DRMObject_GetName(p,a,b) (p)->GetName(a,b)
166 #define IDirect3DRMObject_GetClassName(p,a,b) (p)->GetClassName(a,b)
169 /*****************************************************************************
170 * IDirect3DRMObject2 interface
172 #ifdef WINE_NO_UNICODE_MACROS
175 #define INTERFACE IDirect3DRMObject2
176 DECLARE_INTERFACE_(IDirect3DRMObject2
,IUnknown
)
178 /*** IUnknown methods ***/
179 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
180 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
181 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
182 /*** IDirect3DRMObject2 methods ***/
183 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK pFunc
, LPVOID pArg
) PURE
;
184 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
185 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK pFunc
, LPVOID pArg
) PURE
;
186 STDMETHOD(GetClientData
)(THIS_ DWORD id
, LPVOID
* ppData
) PURE
;
187 STDMETHOD(GetDirect3DRM
)(THIS_ LPDIRECT3DRM
* ppDirect3DRM
) PURE
;
188 STDMETHOD(GetName
)(THIS_ LPDWORD pSize
, LPSTR pName
) PURE
;
189 STDMETHOD(SetClientData
)(THIS_ DWORD id
, LPVOID pData
, DWORD flags
) PURE
;
190 STDMETHOD(SetName
)(THIS_ LPCSTR pName
) PURE
;
191 STDMETHOD(GetAge
)(THIS_ DWORD flags
, LPDWORD pAge
) PURE
;
195 #if !defined(__cplusplus) || defined(CINTERFACE)
196 /*** IUnknown methods ***/
197 #define IDirect3DRMObject2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
198 #define IDirect3DRMObject2_AddRef(p) (p)->lpVtbl->AddRef(p)
199 #define IDirect3DRMObject2_Release(p) (p)->lpVtbl->Release(p)
200 /*** IDirect3DRMObject2 methods ***/
201 #define IDirect3DRMObject2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
202 #define IDirect3DRMObject2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
203 #define IDirect3DRMObject2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
204 #define IDirect3DRMObject2_GetClientData(p,a,b) (p)->lpVtbl->SetClientData(p,a,b)
205 #define IDirect3DRMObject2_GetDirect3DRM(p,a) (p)->lpVtbl->GetDirect3DRM(p,a)
206 #define IDirect3DRMObject2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
207 #define IDirect3DRMObject2_SetClientData(p,a,b,c) (p)->lpVtbl->SetClientData(p,a,b,c)
208 #define IDirect3DRMObject2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
209 #define IDirect3DRMObject2_GetAge(p,a,b) (p)->lpVtbl->GetAge(p,a,b)
211 /*** IUnknown methods ***/
212 #define IDirect3DRMObject2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
213 #define IDirect3DRMObject2_AddRef(p) (p)->AddRef()
214 #define IDirect3DRMObject2_Release(p) (p)->Release()
215 /*** IDirect3DRMObject2 methods ***/
216 #define IDirect3DRMObject2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
217 #define IDirect3DRMObject2_Clone(p,a,b,c) (p)->Clone(a,b,c)
218 #define IDirect3DRMObject2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
219 #define IDirect3DRMObject2_GetClientData(p,a,b) (p)->SetClientData(a,b)
220 #define IDirect3DRMObject2_GetDirect3DRM(p,a) (p)->GetDirect3DRM(a)
221 #define IDirect3DRMObject2_GetName(p,a,b) (p)->GetName(a,b)
222 #define IDirect3DRMObject2_SetClientData(p,a,b,c) (p)->SetClientData(a,b,c)
223 #define IDirect3DRMObject2_SetName(p,a) (p)->SetName(a)
224 #define IDirect3DRMObject2_GetAge(p,a,b) (p)->GetAge(a,b)
227 /*****************************************************************************
228 * IDirect3DRMVisual interface
230 #define INTERFACE IDirect3DRMVisual
231 DECLARE_INTERFACE_(IDirect3DRMVisual
,IDirect3DRMObject
)
233 /*** IUnknown methods ***/
234 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
235 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
236 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
237 /*** IDirect3DRMObject methods ***/
238 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
239 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
240 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
241 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
242 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
243 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
244 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
245 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
249 #if !defined(__cplusplus) || defined(CINTERFACE)
250 /*** IUnknown methods ***/
251 #define IDirect3DRMVisual_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
252 #define IDirect3DRMVisual_AddRef(p) (p)->lpVtbl->AddRef(p)
253 #define IDirect3DRMVisual_Release(p) (p)->lpVtbl->Release(p)
254 /*** IDirect3DRMObject methods ***/
255 #define IDirect3DRMVisual_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
256 #define IDirect3DRMVisual_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
257 #define IDirect3DRMVisual_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
258 #define IDirect3DRMVisual_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
259 #define IDirect3DRMVisual_GetAppData(p) (p)->lpVtbl->GetAppData(p)
260 #define IDirect3DRMVisual_SetName(p,a) (p)->lpVtbl->SetName(p,a)
261 #define IDirect3DRMVisual_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
262 #define IDirect3DRMVisual_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
264 /*** IUnknown methods ***/
265 #define IDirect3DRMVisual_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
266 #define IDirect3DRMVisual_AddRef(p) (p)->AddRef()
267 #define IDirect3DRMVisual_Release(p) (p)->Release()
268 /*** IDirect3DRMObject methods ***/
269 #define IDirect3DRMVisual_Clone(p,a,b,c) (p)->Clone(a,b,c)
270 #define IDirect3DRMVisual_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
271 #define IDirect3DRMVisual_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
272 #define IDirect3DRMVisual_SetAppData(p,a) (p)->SetAppData(a)
273 #define IDirect3DRMVisual_GetAppData(p) (p)->GetAppData()
274 #define IDirect3DRMVisual_SetName(p,a) (p)->SetName(a)
275 #define IDirect3DRMVisual_GetName(p,a,b) (p)->GetName(a,b)
276 #define IDirect3DRMVisual_GetClassName(p,a,b) (p)->GetClassName(a,b)
279 /*****************************************************************************
280 * IDirect3DRMDevice interface
282 #ifdef WINE_NO_UNICODE_MACROS
285 #define INTERFACE IDirect3DRMDevice
286 DECLARE_INTERFACE_(IDirect3DRMDevice
,IUnknown
)
288 /*** IUnknown methods ***/
289 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
290 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
291 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
292 /*** IDirect3DRMObject methods ***/
293 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
294 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK pFunc
, LPVOID pArg
) PURE
;
295 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK pFunc
, LPVOID pArg
) PURE
;
296 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
297 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
298 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
299 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
300 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
301 /*** IDirect3DRMDevice methods ***/
302 STDMETHOD(Init
)(THIS_ ULONG width
, ULONG height
) PURE
;
303 STDMETHOD(InitFromD3D
)(THIS_ LPDIRECT3D pD3D
, LPDIRECT3DDEVICE pD3DDev
) PURE
;
304 STDMETHOD(InitFromClipper
)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper
, LPGUID pGUID
, int width
, int height
) PURE
;
305 STDMETHOD(Update
)(THIS
) PURE
;
306 STDMETHOD(AddUpdateCallback
)(THIS_ D3DRMUPDATECALLBACK
, LPVOID arg
) PURE
;
307 STDMETHOD(DeleteUpdateCallback
)(THIS_ D3DRMUPDATECALLBACK
, LPVOID arg
) PURE
;
308 STDMETHOD(SetBufferCount
)(THIS_ DWORD
) PURE
;
309 STDMETHOD_(DWORD
, GetBufferCount
)(THIS
) PURE
;
310 STDMETHOD(SetDither
)(THIS_ BOOL
) PURE
;
311 STDMETHOD(SetShades
)(THIS_ DWORD
) PURE
;
312 STDMETHOD(SetQuality
)(THIS_ D3DRMRENDERQUALITY
) PURE
;
313 STDMETHOD(SetTextureQuality
)(THIS_ D3DRMTEXTUREQUALITY
) PURE
;
314 STDMETHOD(GetViewports
)(THIS_ LPDIRECT3DRMVIEWPORTARRAY
*return_views
) PURE
;
315 STDMETHOD_(BOOL
, GetDither
)(THIS
) PURE
;
316 STDMETHOD_(DWORD
, GetShades
)(THIS
) PURE
;
317 STDMETHOD_(DWORD
, GetHeight
)(THIS
) PURE
;
318 STDMETHOD_(DWORD
, GetWidth
)(THIS
) PURE
;
319 STDMETHOD_(DWORD
, GetTrianglesDrawn
)(THIS
) PURE
;
320 STDMETHOD_(DWORD
, GetWireframeOptions
)(THIS
) PURE
;
321 STDMETHOD_(D3DRMRENDERQUALITY
, GetQuality
)(THIS
) PURE
;
322 STDMETHOD_(D3DCOLORMODEL
, GetColorModel
)(THIS
) PURE
;
323 STDMETHOD_(D3DRMTEXTUREQUALITY
, GetTextureQuality
)(THIS
) PURE
;
324 STDMETHOD(GetDirect3DDevice
)(THIS_ LPDIRECT3DDEVICE
*) PURE
;
328 #if !defined(__cplusplus) || defined(CINTERFACE)
329 /*** IUnknown methods ***/
330 #define IDirect3DRMDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
331 #define IDirect3DRMDevice_AddRef(p) (p)->lpVtbl->AddRef(p)
332 #define IDirect3DRMDevice_Release(p) (p)->lpVtbl->Release(p)
333 /*** IDirect3DRMObject methods ***/
334 #define IDirect3DRMDevice_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
335 #define IDirect3DRMDevice_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
336 #define IDirect3DRMDevice_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
337 #define IDirect3DRMDevice_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
338 #define IDirect3DRMDevice_GetAppData(p) (p)->lpVtbl->GetAppData(p)
339 #define IDirect3DRMDevice_SetName(p,a) (p)->lpVtbl->SetName(p,a)
340 #define IDirect3DRMDevice_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
341 #define IDirect3DRMDevice_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
342 /*** IDirect3DRMDevice methods ***/
343 #define IDirect3DRMDevice_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
344 #define IDirect3DRMDevice_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
345 #define IDirect3DRMDevice_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
346 #define IDirect3DRMDevice_Update(p) (p)->lpVtbl->Update(p)
347 #define IDirect3DRMDevice_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
348 #define IDirect3DRMDevice_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b,c)
349 #define IDirect3DRMDevice_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
350 #define IDirect3DRMDevice_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
351 #define IDirect3DRMDevice_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
352 #define IDirect3DRMDevice_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
353 #define IDirect3DRMDevice_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
354 #define IDirect3DRMDevice_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
355 #define IDirect3DRMDevice_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
356 #define IDirect3DRMDevice_GetDither(p) (p)->lpVtbl->GetDither(p)
357 #define IDirect3DRMDevice_GetShades(p) (p)->lpVtbl->GetShades(p)
358 #define IDirect3DRMDevice_GetHeight(p) (p)->lpVtbl->GetHeight(p)
359 #define IDirect3DRMDevice_GetWidth(p) (p)->lpVtbl->GetWidth(p)
360 #define IDirect3DRMDevice_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
361 #define IDirect3DRMDevice_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
362 #define IDirect3DRMDevice_GetQuality(p) (p)->lpVtbl->GetQuality(p)
363 #define IDirect3DRMDevice_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
364 #define IDirect3DRMDevice_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
365 #define IDirect3DRMDevice_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
367 /*** IUnknown methods ***/
368 #define IDirect3DRMDevice_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
369 #define IDirect3DRMDevice_AddRef(p) (p)->AddRef()
370 #define IDirect3DRMDevice_Release(p) (p)->Release()
371 /*** IDirect3DRMObject methods ***/
372 #define IDirect3DRMDevice_Clone(p,a,b,c) (p)->Clone(a,b,c)
373 #define IDirect3DRMDevice_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
374 #define IDirect3DRMDevice_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
375 #define IDirect3DRMDevice_SetAppData(p,a) (p)->SetAppData(a)
376 #define IDirect3DRMDevice_GetAppData(p) (p)->GetAppData()
377 #define IDirect3DRMDevice_SetName(p,a) (p)->SetName(a)
378 #define IDirect3DRMDevice_GetName(p,a,b) (p)->GetName(a,b)
379 #define IDirect3DRMDevice_GetClassName(p,a,b) (p)->GetClassName(a,b)
380 /*** IDirect3DRMDevice methods ***/
381 #define IDirect3DRMDevice_Init(p,a,b) (p)->Init(p,a,b)
382 #define IDirect3DRMDevice_InitFromD3D(p,a,b) (p)->InitFromD3D(p,a,b)
383 #define IDirect3DRMDevice_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(p,a,b,c,d)
384 #define IDirect3DRMDevice_Update(p) (p)->Update(p)
385 #define IDirect3DRMDevice_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(p,a,b)
386 #define IDirect3DRMDevice_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(p,a,b,c)
387 #define IDirect3DRMDevice_SetBufferCount(p,a) (p)->SetBufferCount(p,a)
388 #define IDirect3DRMDevice_GetBufferCount(p) (p)->GetBufferCount(p)
389 #define IDirect3DRMDevice_SetDither(p,a) (p)->SetDither(p,a)
390 #define IDirect3DRMDevice_SetShades(p,a) (p)->SetShades(p,a)
391 #define IDirect3DRMDevice_SetQuality(p,a) (p)->SetQuality(p,a)
392 #define IDirect3DRMDevice_SetTextureQuality(p,a) (p)->SetTextureQuality(p,a)
393 #define IDirect3DRMDevice_GetViewports(p,a) (p)->GetViewports(p,a)
394 #define IDirect3DRMDevice_GetDither(p) (p)->GetDither(p)
395 #define IDirect3DRMDevice_GetShades(p) (p)->GetShades(p)
396 #define IDirect3DRMDevice_GetHeight(p) (p)->GetHeight(p)
397 #define IDirect3DRMDevice_GetWidth(p) (p)->GetWidth(p)
398 #define IDirect3DRMDevice_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn(p)
399 #define IDirect3DRMDevice_GetWireframeOptions(p) (p)->GetWireframeOptions(p)
400 #define IDirect3DRMDevice_GetQuality(p) (p)->GetQuality(p)
401 #define IDirect3DRMDevice_GetColorModel(p) (p)->GetColorModel(p)
402 #define IDirect3DRMDevice_GetTextureQuality(p) (p)->GetTextureQuality(p)
403 #define IDirect3DRMDevice_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(p,a)
406 /*****************************************************************************
407 * IDirect3DRMDevice2 interface
409 #ifdef WINE_NO_UNICODE_MACROS
412 #define INTERFACE IDirect3DRMDevice2
413 DECLARE_INTERFACE_(IDirect3DRMDevice2
,IDirect3DRMDevice
)
415 /*** IUnknown methods ***/
416 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
417 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
418 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
419 /*** IDirect3DRMObject methods ***/
420 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
421 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK pFunc
, LPVOID pArg
) PURE
;
422 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK pFunc
, LPVOID pArg
) PURE
;
423 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
424 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
425 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
426 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
427 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
428 /*** IDirect3DRMDevice methods ***/
429 STDMETHOD(Init
)(THIS_ ULONG width
, ULONG height
) PURE
;
430 STDMETHOD(InitFromD3D
)(THIS_ LPDIRECT3D pD3D
, LPDIRECT3DDEVICE pD3DDev
) PURE
;
431 STDMETHOD(InitFromClipper
)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper
, LPGUID pGUID
, int width
, int height
) PURE
;
432 STDMETHOD(Update
)(THIS
) PURE
;
433 STDMETHOD(AddUpdateCallback
)(THIS_ D3DRMUPDATECALLBACK
, LPVOID arg
) PURE
;
434 STDMETHOD(DeleteUpdateCallback
)(THIS_ D3DRMUPDATECALLBACK
, LPVOID arg
) PURE
;
435 STDMETHOD(SetBufferCount
)(THIS_ DWORD
) PURE
;
436 STDMETHOD_(DWORD
, GetBufferCount
)(THIS
) PURE
;
437 STDMETHOD(SetDither
)(THIS_ BOOL
) PURE
;
438 STDMETHOD(SetShades
)(THIS_ DWORD
) PURE
;
439 STDMETHOD(SetQuality
)(THIS_ D3DRMRENDERQUALITY
) PURE
;
440 STDMETHOD(SetTextureQuality
)(THIS_ D3DRMTEXTUREQUALITY
) PURE
;
441 STDMETHOD(GetViewports
)(THIS_ LPDIRECT3DRMVIEWPORTARRAY
*return_views
) PURE
;
442 STDMETHOD_(BOOL
, GetDither
)(THIS
) PURE
;
443 STDMETHOD_(DWORD
, GetShades
)(THIS
) PURE
;
444 STDMETHOD_(DWORD
, GetHeight
)(THIS
) PURE
;
445 STDMETHOD_(DWORD
, GetWidth
)(THIS
) PURE
;
446 STDMETHOD_(DWORD
, GetTrianglesDrawn
)(THIS
) PURE
;
447 STDMETHOD_(DWORD
, GetWireframeOptions
)(THIS
) PURE
;
448 STDMETHOD_(D3DRMRENDERQUALITY
, GetQuality
)(THIS
) PURE
;
449 STDMETHOD_(D3DCOLORMODEL
, GetColorModel
)(THIS
) PURE
;
450 STDMETHOD_(D3DRMTEXTUREQUALITY
, GetTextureQuality
)(THIS
) PURE
;
451 STDMETHOD(GetDirect3DDevice
)(THIS_ LPDIRECT3DDEVICE
*) PURE
;
452 /*** IDirect3DRMDevice2 methods ***/
453 STDMETHOD(InitFromD3D2
)(THIS_ LPDIRECT3D2 pD3D
, LPDIRECT3DDEVICE2 pD3DDev
) PURE
;
454 STDMETHOD(InitFromSurface
)(THIS_ LPGUID pGUID
, LPDIRECTDRAW pDD
, LPDIRECTDRAWSURFACE pDDSBack
) PURE
;
455 STDMETHOD(SetRenderMode
)(THIS_ DWORD flags
) PURE
;
456 STDMETHOD_(DWORD
, GetRenderMode
)(THIS
) PURE
;
457 STDMETHOD(GetDirect3DDevice2
)(THIS_ LPDIRECT3DDEVICE2
*) PURE
;
461 #if !defined(__cplusplus) || defined(CINTERFACE)
462 /*** IUnknown methods ***/
463 #define IDirect3DRMDevice2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
464 #define IDirect3DRMDevice2_AddRef(p) (p)->lpVtbl->AddRef(p)
465 #define IDirect3DRMDevice2_Release(p) (p)->lpVtbl->Release(p)
466 /*** IDirect3DRMObject methods ***/
467 #define IDirect3DRMDevice2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
468 #define IDirect3DRMDevice2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
469 #define IDirect3DRMDevice2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
470 #define IDirect3DRMDevice2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
471 #define IDirect3DRMDevice2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
472 #define IDirect3DRMDevice2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
473 #define IDirect3DRMDevice2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
474 #define IDirect3DRMDevice2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
475 /*** IDirect3DRMDevice methods ***/
476 #define IDirect3DRMDevice2_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
477 #define IDirect3DRMDevice2_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
478 #define IDirect3DRMDevice2_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
479 #define IDirect3DRMDevice2_Update(p) (p)->lpVtbl->Update(p)
480 #define IDirect3DRMDevice2_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
481 #define IDirect3DRMDevice2_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b,c)
482 #define IDirect3DRMDevice2_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
483 #define IDirect3DRMDevice2_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
484 #define IDirect3DRMDevice2_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
485 #define IDirect3DRMDevice2_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
486 #define IDirect3DRMDevice2_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
487 #define IDirect3DRMDevice2_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
488 #define IDirect3DRMDevice2_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
489 #define IDirect3DRMDevice2_GetDither(p) (p)->lpVtbl->GetDither(p)
490 #define IDirect3DRMDevice2_GetShades(p) (p)->lpVtbl->GetShades(p)
491 #define IDirect3DRMDevice2_GetHeight(p) (p)->lpVtbl->GetHeight(p)
492 #define IDirect3DRMDevice2_GetWidth(p) (p)->lpVtbl->GetWidth(p)
493 #define IDirect3DRMDevice2_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
494 #define IDirect3DRMDevice2_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
495 #define IDirect3DRMDevice2_GetQuality(p) (p)->lpVtbl->GetQuality(p)
496 #define IDirect3DRMDevice2_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
497 #define IDirect3DRMDevice2_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
498 #define IDirect3DRMDevice2_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
499 /*** IDirect3DRMDevice2 methods ***/
500 #define IDirect3DRMDevice2_InitFromD3D2(p,a,b) (p)->lpVtbl->InitFromD3D2(p,a,b)
501 #define IDirect3DRMDevice2_InitFromSurface(p,a,b,c) (p)->lpVtbl->InitFromSurface(p,a,b,c)
502 #define IDirect3DRMDevice2_SetRenderMode(p,a) (p)->lpVtbl->SetRenderMode(p,a)
503 #define IDirect3DRMDevice2_GetRenderMode(p) (p)->lpVtbl->GetRenderMode(p)
504 #define IDirect3DRMDevice2_GetDirect3DDevice2(p,a) (p)->lpVtbl->GetDirect3DDevice2(p,a)
506 /*** IUnknown methods ***/
507 #define IDirect3DRMDevice2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
508 #define IDirect3DRMDevice2_AddRef(p) (p)->AddRef()
509 #define IDirect3DRMDevice2_Release(p) (p)->Release()
510 /*** IDirect3DRMObject methods ***/
511 #define IDirect3DRMDevice2_Clone(p,a,b,c) (p)->Clone(a,b,c)
512 #define IDirect3DRMDevice2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
513 #define IDirect3DRMDevice2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
514 #define IDirect3DRMDevice2_SetAppData(p,a) (p)->SetAppData(a)
515 #define IDirect3DRMDevice2_GetAppData(p) (p)->GetAppData()
516 #define IDirect3DRMDevice2_SetName(p,a) (p)->SetName(a)
517 #define IDirect3DRMDevice2_GetName(p,a,b) (p)->GetName(a,b)
518 #define IDirect3DRMDevice2_GetClassName(p,a,b) (p)->GetClassName(a,b)
519 /*** IDirect3DRMDevice methods ***/
520 #define IDirect3DRMDevice2_Init(p,a,b) (p)->Init(p,a,b)
521 #define IDirect3DRMDevice2_InitFromD3D(p,a,b) (p)->InitFromD3D(p,a,b)
522 #define IDirect3DRMDevice2_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(p,a,b,c,d)
523 #define IDirect3DRMDevice2_Update(p) (p)->Update(p)
524 #define IDirect3DRMDevice2_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(p,a,b)
525 #define IDirect3DRMDevice2_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(p,a,b,c)
526 #define IDirect3DRMDevice2_SetBufferCount(p,a) (p)->SetBufferCount(p,a)
527 #define IDirect3DRMDevice2_GetBufferCount(p) (p)->GetBufferCount(p)
528 #define IDirect3DRMDevice2_SetDither(p,a) (p)->SetDither(p,a)
529 #define IDirect3DRMDevice2_SetShades(p,a) (p)->SetShades(p,a)
530 #define IDirect3DRMDevice2_SetQuality(p,a) (p)->SetQuality(p,a)
531 #define IDirect3DRMDevice2_SetTextureQuality(p,a) (p)->SetTextureQuality(p,a)
532 #define IDirect3DRMDevice2_GetViewports(p,a) (p)->GetViewports(p,a)
533 #define IDirect3DRMDevice2_GetDither(p) (p)->GetDither(p)
534 #define IDirect3DRMDevice2_GetShades(p) (p)->GetShades(p)
535 #define IDirect3DRMDevice2_GetHeight(p) (p)->GetHeight(p)
536 #define IDirect3DRMDevice2_GetWidth(p) (p)->GetWidth(p)
537 #define IDirect3DRMDevice2_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn(p)
538 #define IDirect3DRMDevice2_GetWireframeOptions(p) (p)->GetWireframeOptions(p)
539 #define IDirect3DRMDevice2_GetQuality(p) (p)->GetQuality(p)
540 #define IDirect3DRMDevice2_GetColorModel(p) (p)->GetColorModel(p)
541 #define IDirect3DRMDevice2_GetTextureQuality(p) (p)->GetTextureQuality(p)
542 #define IDirect3DRMDevice2_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(p,a)
543 /*** IDirect3DRMDevice2 methods ***/
544 #define IDirect3DRMDevice2_InitFromD3D2(p,a,b) (p)->InitFromD3D2(a,b)
545 #define IDirect3DRMDevice2_InitFromSurface(p,a,b,c) (p)->InitFromSurface(a,b,c)
546 #define IDirect3DRMDevice2_SetRenderMode(p,a) (p)->SetRenderMode(a)
547 #define IDirect3DRMDevice2_GetRenderMode(p) (p)->GetRenderMode()
548 #define IDirect3DRMDevice2_GetDirect3DDevice2(p,a) (p)->GetDirect3DDevice2(a)
551 /*****************************************************************************
552 * IDirect3DRMDevice3 interface
554 #ifdef WINE_NO_UNICODE_MACROS
557 #define INTERFACE IDirect3DRMDevice3
558 DECLARE_INTERFACE_(IDirect3DRMDevice3
,IDirect3DRMObject
)
560 /*** IUnknown methods ***/
561 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
562 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
563 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
564 /*** IDirect3DRMObject methods ***/
565 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
566 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK pFunc
, LPVOID pArg
) PURE
;
567 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK pFunc
, LPVOID pArg
) PURE
;
568 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
569 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
570 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
571 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
572 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
573 /*** IDirect3DRMDevice methods ***/
574 STDMETHOD(Init
)(THIS_ ULONG width
, ULONG height
) PURE
;
575 STDMETHOD(InitFromD3D
)(THIS_ LPDIRECT3D pD3D
, LPDIRECT3DDEVICE pD3DDev
) PURE
;
576 STDMETHOD(InitFromClipper
)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper
, LPGUID pGUID
, int width
, int height
) PURE
;
577 STDMETHOD(Update
)(THIS
) PURE
;
578 STDMETHOD(AddUpdateCallback
)(THIS_ D3DRMUPDATECALLBACK
, LPVOID arg
) PURE
;
579 STDMETHOD(DeleteUpdateCallback
)(THIS_ D3DRMUPDATECALLBACK
, LPVOID arg
) PURE
;
580 STDMETHOD(SetBufferCount
)(THIS_ DWORD
) PURE
;
581 STDMETHOD_(DWORD
, GetBufferCount
)(THIS
) PURE
;
582 STDMETHOD(SetDither
)(THIS_ BOOL
) PURE
;
583 STDMETHOD(SetShades
)(THIS_ DWORD
) PURE
;
584 STDMETHOD(SetQuality
)(THIS_ D3DRMRENDERQUALITY
) PURE
;
585 STDMETHOD(SetTextureQuality
)(THIS_ D3DRMTEXTUREQUALITY
) PURE
;
586 STDMETHOD(GetViewports
)(THIS_ LPDIRECT3DRMVIEWPORTARRAY
*return_views
) PURE
;
587 STDMETHOD_(BOOL
, GetDither
)(THIS
) PURE
;
588 STDMETHOD_(DWORD
, GetShades
)(THIS
) PURE
;
589 STDMETHOD_(DWORD
, GetHeight
)(THIS
) PURE
;
590 STDMETHOD_(DWORD
, GetWidth
)(THIS
) PURE
;
591 STDMETHOD_(DWORD
, GetTrianglesDrawn
)(THIS
) PURE
;
592 STDMETHOD_(DWORD
, GetWireframeOptions
)(THIS
) PURE
;
593 STDMETHOD_(D3DRMRENDERQUALITY
, GetQuality
)(THIS
) PURE
;
594 STDMETHOD_(D3DCOLORMODEL
, GetColorModel
)(THIS
) PURE
;
595 STDMETHOD_(D3DRMTEXTUREQUALITY
, GetTextureQuality
)(THIS
) PURE
;
596 STDMETHOD(GetDirect3DDevice
)(THIS_ LPDIRECT3DDEVICE
*) PURE
;
597 /*** IDirect3DRMDevice2 methods ***/
598 STDMETHOD(InitFromD3D2
)(THIS_ LPDIRECT3D2 pD3D
, LPDIRECT3DDEVICE2 pD3DDev
) PURE
;
599 STDMETHOD(InitFromSurface
)(THIS_ LPGUID pGUID
, LPDIRECTDRAW pDD
, LPDIRECTDRAWSURFACE pDDSBack
) PURE
;
600 STDMETHOD(SetRenderMode
)(THIS_ DWORD flags
) PURE
;
601 STDMETHOD_(DWORD
, GetRenderMode
)(THIS
) PURE
;
602 STDMETHOD(GetDirect3DDevice2
)(THIS_ LPDIRECT3DDEVICE2
*) PURE
;
603 /*** IDirect3DRMDevice3 methods ***/
604 STDMETHOD(FindPreferredTextureFormat
)(THIS_ DWORD BitDepths
, DWORD flags
, LPDDPIXELFORMAT pDDPF
) PURE
;
605 STDMETHOD(RenderStateChange
)(THIS_ D3DRENDERSTATETYPE drsType
, DWORD val
, DWORD flags
) PURE
;
606 STDMETHOD(LightStateChange
)(THIS_ D3DLIGHTSTATETYPE drsType
, DWORD val
, DWORD flags
) PURE
;
607 STDMETHOD(GetStateChangeOptions
)(THIS_ DWORD StateClass
, DWORD StateNum
, LPDWORD pFlags
) PURE
;
608 STDMETHOD(SetStateChangeOptions
)(THIS_ DWORD StateClass
, DWORD StateNum
, DWORD flags
) PURE
;
612 #if !defined(__cplusplus) || defined(CINTERFACE)
613 /*** IUnknown methods ***/
614 #define IDirect3DRMDevice3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
615 #define IDirect3DRMDevice3_AddRef(p) (p)->lpVtbl->AddRef(p)
616 #define IDirect3DRMDevice3_Release(p) (p)->lpVtbl->Release(p)
617 /*** IDirect3DRMObject methods ***/
618 #define IDirect3DRMDevice3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
619 #define IDirect3DRMDevice3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
620 #define IDirect3DRMDevice3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
621 #define IDirect3DRMDevice3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
622 #define IDirect3DRMDevice3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
623 #define IDirect3DRMDevice3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
624 #define IDirect3DRMDevice3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
625 #define IDirect3DRMDevice3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
626 /*** IDirect3DRMDevice methods ***/
627 #define IDirect3DRMDevice3_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
628 #define IDirect3DRMDevice3_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
629 #define IDirect3DRMDevice3_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
630 #define IDirect3DRMDevice3_Update(p) (p)->lpVtbl->Update(p)
631 #define IDirect3DRMDevice3_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
632 #define IDirect3DRMDevice3_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b,c)
633 #define IDirect3DRMDevice3_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
634 #define IDirect3DRMDevice3_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
635 #define IDirect3DRMDevice3_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
636 #define IDirect3DRMDevice3_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
637 #define IDirect3DRMDevice3_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
638 #define IDirect3DRMDevice3_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
639 #define IDirect3DRMDevice3_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
640 #define IDirect3DRMDevice3_GetDither(p) (p)->lpVtbl->GetDither(p)
641 #define IDirect3DRMDevice3_GetShades(p) (p)->lpVtbl->GetShades(p)
642 #define IDirect3DRMDevice3_GetHeight(p) (p)->lpVtbl->GetHeight(p)
643 #define IDirect3DRMDevice3_GetWidth(p) (p)->lpVtbl->GetWidth(p)
644 #define IDirect3DRMDevice3_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
645 #define IDirect3DRMDevice3_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
646 #define IDirect3DRMDevice3_GetQuality(p) (p)->lpVtbl->GetQuality(p)
647 #define IDirect3DRMDevice3_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
648 #define IDirect3DRMDevice3_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
649 #define IDirect3DRMDevice3_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
650 /*** IDirect3DRMDevice2 methods ***/
651 #define IDirect3DRMDevice3_InitFromD3D2(p,a,b) (p)->lpVtbl->InitFromD3D2(p,a,b)
652 #define IDirect3DRMDevice3_InitFromSurface(p,a,b,c) (p)->lpVtbl->InitFromSurface(p,a,b,c)
653 #define IDirect3DRMDevice3_SetRenderMode(p,a) (p)->lpVtbl->SetRenderMode(p,a)
654 #define IDirect3DRMDevice3_GetRenderMode(p) (p)->lpVtbl->GetRenderMode(p)
655 #define IDirect3DRMDevice3_GetDirect3DDevice2(p,a) (p)->lpVtbl->GetDirect3DDevice2(p,a)
656 /*** IDirect3DRMDevice3 methods ***/
657 #define IDirect3DRMDevice3_FindPreferredTextureFormat(p,a,b,c) (p)->lpVtbl->FindPreferredTextureFormat(p,a,b)
658 #define IDirect3DRMDevice3_RenderStateChange(p,a,b,c) (p)->lpVtbl->RenderStateChange(p,a,b)
659 #define IDirect3DRMDevice3_LightStateChange(p,a,b,c) (p)->lpVtbl->LightStateChange(p,a,b)
660 #define IDirect3DRMDevice3_GetStateChangeOptions(p,a,b,c) (p)->lpVtbl->GetStateChangeOptions(p,a,b)
661 #define IDirect3DRMDevice3_SetStateChangeOptions(p,a,b,c) (p)->lpVtbl->SetStateChangeOptions(p,a,b)
663 /*** IUnknown methods ***/
664 #define IDirect3DRMDevice3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
665 #define IDirect3DRMDevice3_AddRef(p) (p)->AddRef()
666 #define IDirect3DRMDevice3_Release(p) (p)->Release()
667 /*** IDirect3DRMObject methods ***/
668 #define IDirect3DRMDevice3_Clone(p,a,b,c) (p)->Clone(a,b,c)
669 #define IDirect3DRMDevice3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
670 #define IDirect3DRMDevice3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
671 #define IDirect3DRMDevice3_SetAppData(p,a) (p)->SetAppData(a)
672 #define IDirect3DRMDevice3_GetAppData(p) (p)->GetAppData()
673 #define IDirect3DRMDevice3_SetName(p,a) (p)->SetName(a)
674 #define IDirect3DRMDevice3_GetName(p,a,b) (p)->GetName(a,b)
675 #define IDirect3DRMDevice3_GetClassName(p,a,b) (p)->GetClassName(a,b)
676 /*** IDirect3DRMDevice methods ***/
677 #define IDirect3DRMDevice3_Init(p,a,b) (p)->Init(p,a,b)
678 #define IDirect3DRMDevice3_InitFromD3D(p,a,b) (p)->InitFromD3D(p,a,b)
679 #define IDirect3DRMDevice3_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(p,a,b,c,d)
680 #define IDirect3DRMDevice3_Update(p) (p)->Update(p)
681 #define IDirect3DRMDevice3_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(p,a,b)
682 #define IDirect3DRMDevice3_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(p,a,b,c)
683 #define IDirect3DRMDevice3_SetBufferCount(p,a) (p)->SetBufferCount(p,a)
684 #define IDirect3DRMDevice3_GetBufferCount(p) (p)->GetBufferCount(p)
685 #define IDirect3DRMDevice3_SetDither(p,a) (p)->SetDither(p,a)
686 #define IDirect3DRMDevice3_SetShades(p,a) (p)->SetShades(p,a)
687 #define IDirect3DRMDevice3_SetQuality(p,a) (p)->SetQuality(p,a)
688 #define IDirect3DRMDevice3_SetTextureQuality(p,a) (p)->SetTextureQuality(p,a)
689 #define IDirect3DRMDevice3_GetViewports(p,a) (p)->GetViewports(p,a)
690 #define IDirect3DRMDevice3_GetDither(p) (p)->GetDither(p)
691 #define IDirect3DRMDevice3_GetShades(p) (p)->GetShades(p)
692 #define IDirect3DRMDevice3_GetHeight(p) (p)->GetHeight(p)
693 #define IDirect3DRMDevice3_GetWidth(p) (p)->GetWidth(p)
694 #define IDirect3DRMDevice3_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn(p)
695 #define IDirect3DRMDevice3_GetWireframeOptions(p) (p)->GetWireframeOptions(p)
696 #define IDirect3DRMDevice3_GetQuality(p) (p)->GetQuality(p)
697 #define IDirect3DRMDevice3_GetColorModel(p) (p)->GetColorModel(p)
698 #define IDirect3DRMDevice3_GetTextureQuality(p) (p)->GetTextureQuality(p)
699 #define IDirect3DRMDevice3_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(p,a)
700 /*** IDirect3DRMDevice2 methods ***/
701 #define IDirect3DRMDevice3_InitFromD3D2(p,a,b) (p)->InitFromD3D2(a,b)
702 #define IDirect3DRMDevice3_InitFromSurface(p,a,b,c) (p)->InitFromSurface(a,b,c)
703 #define IDirect3DRMDevice3_SetRenderMode(p,a) (p)->SetRenderMode(a)
704 #define IDirect3DRMDevice3_GetRenderMode(p) (p)->GetRenderMode()
705 #define IDirect3DRMDevice3_GetDirect3DDevice2(p,a) (p)->GetDirect3DDevice2(a)
706 /*** IDirect3DRMDevice3 methods ***/
707 #define IDirect3DRMDevice3_FindPreferredTextureFormat(p,a,b,c) (p)->FindPreferredTextureFormat(a,b,c)
708 #define IDirect3DRMDevice3_RenderStateChange(p,a,b,c) (p)->RenderStateChange(a,b,c)
709 #define IDirect3DRMDevice3_LightStateChange(p,a,b,c) (p)->LightStateChange(a,b,c)
710 #define IDirect3DRMDevice3_GetStateChangeOptions(p,a,b,c) (p)->GetStateChangeOptions(a,b,c)
711 #define IDirect3DRMDevice3_SetStateChangeOptions(p,a,b,c) (p)->SetStateChangeOptions(a,b,c)
714 /*****************************************************************************
715 * IDirect3DRMViewport interface
717 #define INTERFACE IDirect3DRMViewport
718 DECLARE_INTERFACE_(IDirect3DRMViewport
,IDirect3DRMObject
)
720 /*** IUnknown methods ***/
721 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
722 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
723 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
724 /*** IDirect3DRMObject methods ***/
725 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
726 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
727 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
728 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
729 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
730 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
731 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
732 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
733 /*** IDirect3DRMViewport methods ***/
734 STDMETHOD(Init
) (THIS_ LPDIRECT3DRMDEVICE dev
, LPDIRECT3DRMFRAME camera
, DWORD xpos
, DWORD ypos
,
735 DWORD width
, DWORD height
) PURE
;
736 STDMETHOD(Clear
)(THIS
) PURE
;
737 STDMETHOD(Render
)(THIS_ LPDIRECT3DRMFRAME
) PURE
;
738 STDMETHOD(SetFront
)(THIS_ D3DVALUE
) PURE
;
739 STDMETHOD(SetBack
)(THIS_ D3DVALUE
) PURE
;
740 STDMETHOD(SetField
)(THIS_ D3DVALUE
) PURE
;
741 STDMETHOD(SetUniformScaling
)(THIS_ BOOL
) PURE
;
742 STDMETHOD(SetCamera
)(THIS_ LPDIRECT3DRMFRAME
) PURE
;
743 STDMETHOD(SetProjection
)(THIS_ D3DRMPROJECTIONTYPE
) PURE
;
744 STDMETHOD(Transform
)(THIS_ D3DRMVECTOR4D
*d
, D3DVECTOR
*s
) PURE
;
745 STDMETHOD(InverseTransform
)(THIS_ D3DVECTOR
*d
, D3DRMVECTOR4D
*s
) PURE
;
746 STDMETHOD(Configure
)(THIS_ LONG x
, LONG y
, DWORD width
, DWORD height
) PURE
;
747 STDMETHOD(ForceUpdate
)(THIS_ DWORD x1
, DWORD y1
, DWORD x2
, DWORD y2
) PURE
;
748 STDMETHOD(SetPlane
)(THIS_ D3DVALUE left
, D3DVALUE right
, D3DVALUE bottom
, D3DVALUE top
) PURE
;
749 STDMETHOD(GetCamera
)(THIS_ LPDIRECT3DRMFRAME
*) PURE
;
750 STDMETHOD(GetDevice
)(THIS_ LPDIRECT3DRMDEVICE
*) PURE
;
751 STDMETHOD(GetPlane
)(THIS_ D3DVALUE
*left
, D3DVALUE
*right
, D3DVALUE
*bottom
, D3DVALUE
*top
) PURE
;
752 STDMETHOD(Pick
)(THIS_ LONG x
, LONG y
, LPDIRECT3DRMPICKEDARRAY
*return_visuals
) PURE
;
753 STDMETHOD_(BOOL
, GetUniformScaling
)(THIS
) PURE
;
754 STDMETHOD_(LONG
, GetX
)(THIS
) PURE
;
755 STDMETHOD_(LONG
, GetY
)(THIS
) PURE
;
756 STDMETHOD_(DWORD
, GetWidth
)(THIS
) PURE
;
757 STDMETHOD_(DWORD
, GetHeight
)(THIS
) PURE
;
758 STDMETHOD_(D3DVALUE
, GetField
)(THIS
) PURE
;
759 STDMETHOD_(D3DVALUE
, GetBack
)(THIS
) PURE
;
760 STDMETHOD_(D3DVALUE
, GetFront
)(THIS
) PURE
;
761 STDMETHOD_(D3DRMPROJECTIONTYPE
, GetProjection
)(THIS
) PURE
;
762 STDMETHOD(GetDirect3DViewport
)(THIS_ LPDIRECT3DVIEWPORT
*) PURE
;
766 #if !defined(__cplusplus) || defined(CINTERFACE)
767 /*** IUnknown methods ***/
768 #define IDirect3DRMViewport_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
769 #define IDirect3DRMViewport_AddRef(p) (p)->lpVtbl->AddRef(p)
770 #define IDirect3DRMViewport_Release(p) (p)->lpVtbl->Release(p)
771 /*** IDirect3DRMObject methods ***/
772 #define IDirect3DRMViewport_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
773 #define IDirect3DRMViewport_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
774 #define IDirect3DRMViewport_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
775 #define IDirect3DRMViewport_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
776 #define IDirect3DRMViewport_GetAppData(p) (p)->lpVtbl->GetAppData(p)
777 #define IDirect3DRMViewport_SetName(p,a) (p)->lpVtbl->SetName(p,a)
778 #define IDirect3DRMViewport_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
779 #define IDirect3DRMViewport_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
780 /*** IDirect3DRMViewport methods ***/
781 #define IDirect3DRMViewport_Init(p,a,b,c,d) (p)->lpVtbl->Init(p,a,b,c,d)
782 #define IDirect3DRMViewport_Clear(p) (p)->lpVtbl->Clear(p)
783 #define IDirect3DRMViewport_Render(p,a) (p)->lpVtbl->Render(p,a)
784 #define IDirect3DRMViewport_SetFront(p,a) (p)->lpVtbl->SetFront(p,a)
785 #define IDirect3DRMViewport_SetBack(p,a) (p)->lpVtbl->(p,a)
786 #define IDirect3DRMViewport_SetField(p,a) (p)->lpVtbl->(p,a)
787 #define IDirect3DRMViewport_SetUniformScaling(p,a) (p)->lpVtbl->SetUniformScaling(p,a)
788 #define IDirect3DRMViewport_SetCamera(p,a) (p)->lpVtbl->SetCamera(p,a)
789 #define IDirect3DRMViewport_SetProjection(p,a) (p)->lpVtbl->SetProjection(p,a)
790 #define IDirect3DRMViewport_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
791 #define IDirect3DRMViewport_InverseTransform(p,a,b) (p)->lpVtbl->(p,a,b)
792 #define IDirect3DRMViewport_Configure(p,a,b,c,d) (p)->lpVtbl->Configure(p,a,b,c,d)
793 #define IDirect3DRMViewport_ForceUpdate(p,a,b,c,d) (p)->lpVtbl->ForceUpdate(p,a,b,c,d)
794 #define IDirect3DRMViewport_SetPlane(p,a,b,c,d) (p)->lpVtbl->SetPlane(p,a,b,c,d)
795 #define IDirect3DRMViewport_GetCamera(p,a) (p)->lpVtbl->(p,a)
796 #define IDirect3DRMViewport_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
797 #define IDirect3DRMViewport_GetPlane(p,a,b,c,d) (p)->lpVtbl->GetPlane(p,a,b,c,d)
798 #define IDirect3DRMViewport_Pick(p,a,b,c) (p)->lpVtbl->Pick(p,a,b,c)
799 #define IDirect3DRMViewport_GetUniformScaling(p) (p)->lpVtbl->GetUniformScaling(p)
800 #define IDirect3DRMViewport_GetX(p) (p)->lpVtbl->GetX(p)
801 #define IDirect3DRMViewport_GetY(p) (p)->lpVtbl->GetY(p)
802 #define IDirect3DRMViewport_GetWidth(p) (p)->lpVtbl->GetWidth(p)
803 #define IDirect3DRMViewport_GetHeight(p) (p)->lpVtbl->GetHeight(p)
804 #define IDirect3DRMViewport_GetField(p) (p)->lpVtbl->GetField(p)
805 #define IDirect3DRMViewport_GetBack(p) (p)->lpVtbl->GetBack(p)
806 #define IDirect3DRMViewport_GetFront(p) (p)->lpVtbl->GetFront(p)
807 #define IDirect3DRMViewport_GetProjection(p) (p)->lpVtbl->GetProjection(p)
808 #define IDirect3DRMViewport_GetDirect3DViewport(p,a) (p)->lpVtbl->GetDirect3DViewport(p,a)
810 /*** IUnknown methods ***/
811 #define IDirect3DRMViewport_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
812 #define IDirect3DRMViewport_AddRef(p) (p)->AddRef()
813 #define IDirect3DRMViewport_Release(p) (p)->Release()
814 /*** IDirect3DRMObject methods ***/
815 #define IDirect3DRMViewport_Clone(p,a,b,c) (p)->Clone(a,b,c)
816 #define IDirect3DRMViewport_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
817 #define IDirect3DRMViewport_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
818 #define IDirect3DRMViewport_SetAppData(p,a) (p)->SetAppData(a)
819 #define IDirect3DRMViewport_GetAppData(p) (p)->GetAppData()
820 #define IDirect3DRMViewport_SetName(p,a) (p)->SetName(a)
821 #define IDirect3DRMViewport_GetName(p,a,b) (p)->GetName(a,b)
822 #define IDirect3DRMViewport_GetClassName(p,a,b) (p)->GetClassName(a,b)
823 /*** IDirect3DRMViewport methods ***/
824 #define IDirect3DRMViewport_Init(p,a,b,c,d) (p)->Init(p,a,b,c,d)
825 #define IDirect3DRMViewport_Clear(p) (p)->Clear(p)
826 #define IDirect3DRMViewport_Render(p,a) (p)->Render(p,a)
827 #define IDirect3DRMViewport_SetFront(p,a) (p)->SetFront(p,a)
828 #define IDirect3DRMViewport_SetBack(p,a) (p)->(p,a)
829 #define IDirect3DRMViewport_SetField(p,a) (p)->(p,a)
830 #define IDirect3DRMViewport_SetUniformScaling(p,a) (p)->SetUniformScaling(p,a)
831 #define IDirect3DRMViewport_SetCamera(p,a) (p)->SetCamera(p,a)
832 #define IDirect3DRMViewport_SetProjection(p,a) (p)->SetProjection(p,a)
833 #define IDirect3DRMViewport_Transform(p,a,b) (p)->Transform(p,a,b)
834 #define IDirect3DRMViewport_InverseTransform(p,a,b) (p)->(p,a,b)
835 #define IDirect3DRMViewport_Configure(p,a,b,c,d) (p)->Configure(p,a,b,c,d)
836 #define IDirect3DRMViewport_ForceUpdate(p,a,b,c,d) (p)->ForceUpdate(p,a,b,c,d)
837 #define IDirect3DRMViewport_SetPlane(p,a,b,c,d) (p)->SetPlane(p,a,b,c,d)
838 #define IDirect3DRMViewport_GetCamera(p,a) (p)->GetCamera(p,a)
839 #define IDirect3DRMViewport_GetDevice(p,a) (p)->GetDevice(p,a)
840 #define IDirect3DRMViewport_GetPlane(p,a,b,c,d) (p)->GetPlane(p,a,b,c,d)
841 #define IDirect3DRMViewport_Pick(p,a,b,c) (p)->Pick(p,a,b,c)
842 #define IDirect3DRMViewport_GetUniformScaling(p) (p)->GetUniformScaling(p)
843 #define IDirect3DRMViewport_GetX(p) (p)->GetX(p)
844 #define IDirect3DRMViewport_GetY(p) (p)->GetY(p)
845 #define IDirect3DRMViewport_GetWidth(p) (p)->GetWidth(p)
846 #define IDirect3DRMViewport_GetHeight(p) (p)->GetHeight(p)
847 #define IDirect3DRMViewport_GetField(p) (p)->GetField(p)
848 #define IDirect3DRMViewport_GetBack(p) (p)->GetBack(p)
849 #define IDirect3DRMViewport_GetFront(p) (p)->GetFront(p)
850 #define IDirect3DRMViewport_GetProjection(p) (p)->GetProjection(p)
851 #define IDirect3DRMViewport_GetDirect3DViewport(p,a) (p)->GetDirect3DViewport(p,a)
854 /*****************************************************************************
855 * IDirect3DRMViewport2 interface
857 #define INTERFACE IDirect3DRMViewport2
858 DECLARE_INTERFACE_(IDirect3DRMViewport2
,IDirect3DRMObject
)
860 /*** IUnknown methods ***/
861 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
862 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
863 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
864 /*** IDirect3DRMObject methods ***/
865 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
866 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
867 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
868 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
869 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
870 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
871 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
872 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
873 /*** IDirect3DRMViewport2 methods ***/
874 STDMETHOD(Init
) (THIS_ LPDIRECT3DRMDEVICE3 dev
, LPDIRECT3DRMFRAME3 camera
, DWORD xpos
, DWORD ypos
,
875 DWORD width
, DWORD height
) PURE
;
876 STDMETHOD(Clear
)(THIS_ DWORD flags
) PURE
;
877 STDMETHOD(Render
)(THIS_ LPDIRECT3DRMFRAME3
) PURE
;
878 STDMETHOD(SetFront
)(THIS_ D3DVALUE
) PURE
;
879 STDMETHOD(SetBack
)(THIS_ D3DVALUE
) PURE
;
880 STDMETHOD(SetField
)(THIS_ D3DVALUE
) PURE
;
881 STDMETHOD(SetUniformScaling
)(THIS_ BOOL
) PURE
;
882 STDMETHOD(SetCamera
)(THIS_ LPDIRECT3DRMFRAME3
) PURE
;
883 STDMETHOD(SetProjection
)(THIS_ D3DRMPROJECTIONTYPE
) PURE
;
884 STDMETHOD(Transform
)(THIS_ D3DRMVECTOR4D
*d
, D3DVECTOR
*s
) PURE
;
885 STDMETHOD(InverseTransform
)(THIS_ D3DVECTOR
*d
, D3DRMVECTOR4D
*s
) PURE
;
886 STDMETHOD(Configure
)(THIS_ LONG x
, LONG y
, DWORD width
, DWORD height
) PURE
;
887 STDMETHOD(ForceUpdate
)(THIS_ DWORD x1
, DWORD y1
, DWORD x2
, DWORD y2
) PURE
;
888 STDMETHOD(SetPlane
)(THIS_ D3DVALUE left
, D3DVALUE right
, D3DVALUE bottom
, D3DVALUE top
) PURE
;
889 STDMETHOD(GetCamera
)(THIS_ LPDIRECT3DRMFRAME3
*) PURE
;
890 STDMETHOD(GetDevice
)(THIS_ LPDIRECT3DRMDEVICE3
*) PURE
;
891 STDMETHOD(GetPlane
)(THIS_ D3DVALUE
*left
, D3DVALUE
*right
, D3DVALUE
*bottom
, D3DVALUE
*top
) PURE
;
892 STDMETHOD(Pick
)(THIS_ LONG x
, LONG y
, LPDIRECT3DRMPICKEDARRAY
*return_visuals
) PURE
;
893 STDMETHOD_(BOOL
, GetUniformScaling
)(THIS
) PURE
;
894 STDMETHOD_(LONG
, GetX
)(THIS
) PURE
;
895 STDMETHOD_(LONG
, GetY
)(THIS
) PURE
;
896 STDMETHOD_(DWORD
, GetWidth
)(THIS
) PURE
;
897 STDMETHOD_(DWORD
, GetHeight
)(THIS
) PURE
;
898 STDMETHOD_(D3DVALUE
, GetField
)(THIS
) PURE
;
899 STDMETHOD_(D3DVALUE
, GetBack
)(THIS
) PURE
;
900 STDMETHOD_(D3DVALUE
, GetFront
)(THIS
) PURE
;
901 STDMETHOD_(D3DRMPROJECTIONTYPE
, GetProjection
)(THIS
) PURE
;
902 STDMETHOD(GetDirect3DViewport
)(THIS_ LPDIRECT3DVIEWPORT
*) PURE
;
903 STDMETHOD(TransformVectors
)(THIS_ DWORD NumVectors
, LPD3DRMVECTOR4D pDstVectors
,
904 LPD3DVECTOR pSrcVectors
) PURE
;
905 STDMETHOD(InverseTransformVectors
)(THIS_ DWORD NumVectors
, LPD3DVECTOR pDstVectors
,
906 LPD3DRMVECTOR4D pSrcVectors
) PURE
;
910 #if !defined(__cplusplus) || defined(CINTERFACE)
911 /*** IUnknown methods ***/
912 #define IDirect3DRMViewport2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
913 #define IDirect3DRMViewport2_AddRef(p) (p)->lpVtbl->AddRef(p)
914 #define IDirect3DRMViewport2_Release(p) (p)->lpVtbl->Release(p)
915 /*** IDirect3DRMObject methods ***/
916 #define IDirect3DRMViewport_2Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
917 #define IDirect3DRMViewport2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
918 #define IDirect3DRMViewport2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
919 #define IDirect3DRMViewport2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
920 #define IDirect3DRMViewport2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
921 #define IDirect3DRMViewport2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
922 #define IDirect3DRMViewport2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
923 #define IDirect3DRMViewport2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
924 /*** IDirect3DRMViewport2 methods ***/
925 #define IDirect3DRMViewport2_Init(p,a,b,c,d,e,f) (p)->lpVtbl->Init(p,a,b,c,d,e,f)
926 #define IDirect3DRMViewport2_Clear(p,a) (p)->lpVtbl->Clear(p,a)
927 #define IDirect3DRMViewport2_Render(p,a) (p)->lpVtbl->Render(p,a)
928 #define IDirect3DRMViewport2_SetFront(p,a) (p)->lpVtbl->SetFront(p,a)
929 #define IDirect3DRMViewport2_SetBack(p,a) (p)->lpVtbl->(p,a)
930 #define IDirect3DRMViewport2_SetField(p,a) (p)->lpVtbl->(p,a)
931 #define IDirect3DRMViewport2_SetUniformScaling(p,a) (p)->lpVtbl->SetUniformScaling(p,a)
932 #define IDirect3DRMViewport2_SetCamera(p,a) (p)->lpVtbl->SetCamera(p,a)
933 #define IDirect3DRMViewport2_SetProjection(p,a) (p)->lpVtbl->SetProjection(p,a)
934 #define IDirect3DRMViewport2_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
935 #define IDirect3DRMViewport2_InverseTransform(p,a,b) (p)->lpVtbl->(p,a,b)
936 #define IDirect3DRMViewport2_Configure(p,a,b,c,d) (p)->lpVtbl->Configure(p,a,b,c,d)
937 #define IDirect3DRMViewport2_ForceUpdate(p,a,b,c,d) (p)->lpVtbl->ForceUpdate(p,a,b,c,d)
938 #define IDirect3DRMViewport2_SetPlane(p,a,b,c,d) (p)->lpVtbl->SetPlane(p,a,b,c,d)
939 #define IDirect3DRMViewport2_GetCamera(p,a) (p)->lpVtbl->(p,a)
940 #define IDirect3DRMViewport2_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
941 #define IDirect3DRMViewport2_GetPlane(p,a,b,c,d) (p)->lpVtbl->GetPlane(p,a,b,c,d)
942 #define IDirect3DRMViewport2_Pick(p,a,b,c) (p)->lpVtbl->Pick(p,a,b,c)
943 #define IDirect3DRMViewport2_GetUniformScaling(p) (p)->lpVtbl->GetUniformScaling(p)
944 #define IDirect3DRMViewport2_GetX(p) (p)->lpVtbl->GetX(p)
945 #define IDirect3DRMViewport2_GetY(p) (p)->lpVtbl->GetY(p)
946 #define IDirect3DRMViewport2_GetWidth(p) (p)->lpVtbl->GetWidth(p)
947 #define IDirect3DRMViewport2_GetHeight(p) (p)->lpVtbl->GetHeight(p)
948 #define IDirect3DRMViewport2_GetField(p) (p)->lpVtbl->GetField(p)
949 #define IDirect3DRMViewport2_GetBack(p) (p)->lpVtbl->GetBack(p)
950 #define IDirect3DRMViewport2_GetFront(p) (p)->lpVtbl->GetFront(p)
951 #define IDirect3DRMViewport2_GetProjection(p) (p)->lpVtbl->GetProjection(p)
952 #define IDirect3DRMViewport2_GetDirect3DViewport(p,a) (p)->lpVtbl->GetDirect3DViewport(p,a)
953 #define IDirect3DRMViewport2_TransformVectors(p,a,b,c) (p)->lpVtbl->TransformVectors(p,a,b,c)
954 #define IDirect3DRMViewport2_InverseTransformVectors(p,a,b,c) (p)->lpVtbl->InverseTransformVectors(p,ab,c)
956 /*** IUnknown methods ***/
957 #define IDirect3DRMViewport2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
958 #define IDirect3DRMViewport2_AddRef(p) (p)->AddRef()
959 #define IDirect3DRMViewport2_Release(p) (p)->Release()
960 /*** IDirect3DRMObject methods ***/
961 #define IDirect3DRMViewport2_Clone(p,a,b,c) (p)->Clone(a,b,c)
962 #define IDirect3DRMViewport2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
963 #define IDirect3DRMViewport2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
964 #define IDirect3DRMViewport2_SetAppData(p,a) (p)->SetAppData(a)
965 #define IDirect3DRMViewport2_GetAppData(p) (p)->GetAppData()
966 #define IDirect3DRMViewport2_SetName(p,a) (p)->SetName(a)
967 #define IDirect3DRMViewport2_GetName(p,a,b) (p)->GetName(a,b)
968 #define IDirect3DRMViewport2_GetClassName(p,a,b) (p)->GetClassName(a,b)
969 /*** IDirect3DRMViewport2 methods ***/
970 #define IDirect3DRMViewport2_Init(p,a,b,c,d) (p)->Init(p,a,b,c,d)
971 #define IDirect3DRMViewport2_Clear(p) (p)->Clear(p)
972 #define IDirect3DRMViewport2_Render(p,a) (p)->Render(p,a)
973 #define IDirect3DRMViewport2_SetFront(p,a) (p)->SetFront(p,a)
974 #define IDirect3DRMViewport2_SetBack(p,a) (p)->(p,a)
975 #define IDirect3DRMViewport2_SetField(p,a) (p)->(p,a)
976 #define IDirect3DRMViewport2_SetUniformScaling(p,a) (p)->SetUniformScaling(p,a)
977 #define IDirect3DRMViewport2_SetCamera(p,a) (p)->SetCamera(p,a)
978 #define IDirect3DRMViewport2_SetProjection(p,a) (p)->SetProjection(p,a)
979 #define IDirect3DRMViewport2_Transform(p,a,b) (p)->Transform(p,a,b)
980 #define IDirect3DRMViewport2_InverseTransform(p,a,b) (p)->(p,a,b)
981 #define IDirect3DRMViewport2_Configure(p,a,b,c,d) (p)->Configure(p,a,b,c,d)
982 #define IDirect3DRMViewport2_ForceUpdate(p,a,b,c,d) (p)->ForceUpdate(p,a,b,c,d)
983 #define IDirect3DRMViewport2_SetPlane(p,a,b,c,d) (p)->SetPlane(p,a,b,c,d)
984 #define IDirect3DRMViewport2_GetCamera(p,a) (p)->GetCamera(p,a)
985 #define IDirect3DRMViewport2_GetDevice(p,a) (p)->GetDevice(p,a)
986 #define IDirect3DRMViewport2_GetPlane(p,a,b,c,d) (p)->GetPlane(p,a,b,c,d)
987 #define IDirect3DRMViewport2_Pick(p,a,b,c) (p)->Pick(p,a,b,c)
988 #define IDirect3DRMViewport2_GetUniformScaling(p) (p)->GetUniformScaling(p)
989 #define IDirect3DRMViewport2_GetX(p) (p)->GetX(p)
990 #define IDirect3DRMViewport2_GetY(p) (p)->GetY(p)
991 #define IDirect3DRMViewport2_GetWidth(p) (p)->GetWidth(p)
992 #define IDirect3DRMViewport2_GetHeight(p) (p)->GetHeight(p)
993 #define IDirect3DRMViewport2_GetField(p) (p)->GetField(p)
994 #define IDirect3DRMViewport2_GetBack(p) (p)->GetBack(p)
995 #define IDirect3DRMViewport2_GetFront(p) (p)->GetFront(p)
996 #define IDirect3DRMViewport2_GetProjection(p) (p)->GetProjection(p)
997 #define IDirect3DRMViewport2_GetDirect3DViewport(p,a) (p)->GetDirect3DViewport(p,a)
998 #define IDirect3DRMViewport2_TransformVectors(p,a,b,c) (p)->TransformVectors(a,b,c)
999 #define IDirect3DRMViewport2_InverseTransformVectors(p,a,b,c) (p)->InverseTransformVectors(ab,c)
1002 /*****************************************************************************
1003 * IDirect3DRMFrame interface
1005 #define INTERFACE IDirect3DRMFrame
1006 DECLARE_INTERFACE_(IDirect3DRMFrame
,IDirect3DRMVisual
)
1008 /*** IUnknown methods ***/
1009 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
1010 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
1011 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
1012 /*** IDirect3DRMObject methods ***/
1013 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
1014 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
1015 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
1016 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
1017 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
1018 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
1019 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
1020 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
1021 /*** IDirect3DRMFrame methods ***/
1022 STDMETHOD(AddChild
)(THIS_ LPDIRECT3DRMFRAME child
) PURE
;
1023 STDMETHOD(AddLight
)(THIS_ LPDIRECT3DRMLIGHT
) PURE
;
1024 STDMETHOD(AddMoveCallback
)(THIS_ D3DRMFRAMEMOVECALLBACK
, VOID
*arg
) PURE
;
1025 STDMETHOD(AddTransform
)(THIS_ D3DRMCOMBINETYPE
, D3DRMMATRIX4D
) PURE
;
1026 STDMETHOD(AddTranslation
)(THIS_ D3DRMCOMBINETYPE
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
) PURE
;
1027 STDMETHOD(AddScale
)(THIS_ D3DRMCOMBINETYPE
, D3DVALUE sx
, D3DVALUE sy
, D3DVALUE sz
) PURE
;
1028 STDMETHOD(AddRotation
)(THIS_ D3DRMCOMBINETYPE
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
, D3DVALUE theta
) PURE
;
1029 STDMETHOD(AddVisual
)(THIS_ LPDIRECT3DRMVISUAL
) PURE
;
1030 STDMETHOD(GetChildren
)(THIS_ LPDIRECT3DRMFRAMEARRAY
*children
) PURE
;
1031 STDMETHOD_(D3DCOLOR
, GetColor
)(THIS
) PURE
;
1032 STDMETHOD(GetLights
)(THIS_ LPDIRECT3DRMLIGHTARRAY
*lights
) PURE
;
1033 STDMETHOD_(D3DRMMATERIALMODE
, GetMaterialMode
)(THIS
) PURE
;
1034 STDMETHOD(GetParent
)(THIS_ LPDIRECT3DRMFRAME
*) PURE
;
1035 STDMETHOD(GetPosition
)(THIS_ LPDIRECT3DRMFRAME reference
, LPD3DVECTOR return_position
) PURE
;
1036 STDMETHOD(GetRotation
)(THIS_ LPDIRECT3DRMFRAME reference
, LPD3DVECTOR axis
, LPD3DVALUE return_theta
) PURE
;
1037 STDMETHOD(GetScene
)(THIS_ LPDIRECT3DRMFRAME
*) PURE
;
1038 STDMETHOD_(D3DRMSORTMODE
, GetSortMode
)(THIS
) PURE
;
1039 STDMETHOD(GetTexture
)(THIS_ LPDIRECT3DRMTEXTURE
*) PURE
;
1040 STDMETHOD(GetTransform
)(THIS_ D3DRMMATRIX4D return_matrix
) PURE
;
1041 STDMETHOD(GetVelocity
)(THIS_ LPDIRECT3DRMFRAME reference
, LPD3DVECTOR return_velocity
, BOOL with_rotation
) PURE
;
1042 STDMETHOD(GetOrientation
)(THIS_ LPDIRECT3DRMFRAME reference
, LPD3DVECTOR dir
, LPD3DVECTOR up
) PURE
;
1043 STDMETHOD(GetVisuals
)(THIS_ LPDIRECT3DRMVISUALARRAY
*visuals
) PURE
;
1044 STDMETHOD(GetTextureTopology
)(THIS_ BOOL
*wrap_u
, BOOL
*wrap_v
) PURE
;
1045 STDMETHOD(InverseTransform
)(THIS_ D3DVECTOR
*d
, D3DVECTOR
*s
) PURE
;
1046 STDMETHOD(Load
)(THIS_ LPVOID filename
, LPVOID name
, D3DRMLOADOPTIONS loadflags
, D3DRMLOADTEXTURECALLBACK
,
1048 STDMETHOD(LookAt
)(THIS_ LPDIRECT3DRMFRAME target
, LPDIRECT3DRMFRAME reference
, D3DRMFRAMECONSTRAINT
) PURE
;
1049 STDMETHOD(Move
)(THIS_ D3DVALUE delta
) PURE
;
1050 STDMETHOD(DeleteChild
)(THIS_ LPDIRECT3DRMFRAME
) PURE
;
1051 STDMETHOD(DeleteLight
)(THIS_ LPDIRECT3DRMLIGHT
) PURE
;
1052 STDMETHOD(DeleteMoveCallback
)(THIS_ D3DRMFRAMEMOVECALLBACK
, VOID
*arg
) PURE
;
1053 STDMETHOD(DeleteVisual
)(THIS_ LPDIRECT3DRMVISUAL
) PURE
;
1054 STDMETHOD_(D3DCOLOR
, GetSceneBackground
)(THIS
) PURE
;
1055 STDMETHOD(GetSceneBackgroundDepth
)(THIS_ LPDIRECTDRAWSURFACE
*) PURE
;
1056 STDMETHOD_(D3DCOLOR
, GetSceneFogColor
)(THIS
) PURE
;
1057 STDMETHOD_(BOOL
, GetSceneFogEnable
)(THIS
) PURE
;
1058 STDMETHOD_(D3DRMFOGMODE
, GetSceneFogMode
)(THIS
) PURE
;
1059 STDMETHOD(GetSceneFogParams
)(THIS_ D3DVALUE
*return_start
, D3DVALUE
*return_end
, D3DVALUE
*return_density
) PURE
;
1060 STDMETHOD(SetSceneBackground
)(THIS_ D3DCOLOR
) PURE
;
1061 STDMETHOD(SetSceneBackgroundRGB
)(THIS_ D3DVALUE red
, D3DVALUE green
, D3DVALUE blue
) PURE
;
1062 STDMETHOD(SetSceneBackgroundDepth
)(THIS_ LPDIRECTDRAWSURFACE
) PURE
;
1063 STDMETHOD(SetSceneBackgroundImage
)(THIS_ LPDIRECT3DRMTEXTURE
) PURE
;
1064 STDMETHOD(SetSceneFogEnable
)(THIS_ BOOL
) PURE
;
1065 STDMETHOD(SetSceneFogColor
)(THIS_ D3DCOLOR
) PURE
;
1066 STDMETHOD(SetSceneFogMode
)(THIS_ D3DRMFOGMODE
) PURE
;
1067 STDMETHOD(SetSceneFogParams
)(THIS_ D3DVALUE start
, D3DVALUE end
, D3DVALUE density
) PURE
;
1068 STDMETHOD(SetColor
)(THIS_ D3DCOLOR
) PURE
;
1069 STDMETHOD(SetColorRGB
)(THIS_ D3DVALUE red
, D3DVALUE green
, D3DVALUE blue
) PURE
;
1070 STDMETHOD_(D3DRMZBUFFERMODE
, GetZbufferMode
)(THIS
) PURE
;
1071 STDMETHOD(SetMaterialMode
)(THIS_ D3DRMMATERIALMODE
) PURE
;
1072 STDMETHOD(SetOrientation
)(THIS_ LPDIRECT3DRMFRAME reference
, D3DVALUE dx
, D3DVALUE dy
, D3DVALUE dz
,
1073 D3DVALUE ux
, D3DVALUE uy
, D3DVALUE uz
) PURE
;
1074 STDMETHOD(SetPosition
)(THIS_ LPDIRECT3DRMFRAME reference
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
) PURE
;
1075 STDMETHOD(SetRotation
)(THIS_ LPDIRECT3DRMFRAME reference
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
, D3DVALUE theta
) PURE
;
1076 STDMETHOD(SetSortMode
)(THIS_ D3DRMSORTMODE
) PURE
;
1077 STDMETHOD(SetTexture
)(THIS_ LPDIRECT3DRMTEXTURE
) PURE
;
1078 STDMETHOD(SetTextureTopology
)(THIS_ BOOL wrap_u
, BOOL wrap_v
) PURE
;
1079 STDMETHOD(SetVelocity
)(THIS_ LPDIRECT3DRMFRAME reference
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
, BOOL with_rotation
) PURE
;
1080 STDMETHOD(SetZbufferMode
)(THIS_ D3DRMZBUFFERMODE
) PURE
;
1081 STDMETHOD(Transform
)(THIS_ D3DVECTOR
*d
, D3DVECTOR
*s
) PURE
;
1085 #if !defined(__cplusplus) || defined(CINTERFACE)
1086 /*** IUnknown methods ***/
1087 #define IDirect3DRMFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1088 #define IDirect3DRMFrame_AddRef(p) (p)->lpVtbl->AddRef(p)
1089 #define IDirect3DRMFrame_Release(p) (p)->lpVtbl->Release(p)
1090 /*** IDirect3DRMObject methods ***/
1091 #define IDirect3DRMFrame_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
1092 #define IDirect3DRMFrame_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
1093 #define IDirect3DRMFrame_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
1094 #define IDirect3DRMFrame_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
1095 #define IDirect3DRMFrame_GetAppData(p) (p)->lpVtbl->GetAppData(p)
1096 #define IDirect3DRMFrame_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1097 #define IDirect3DRMFrame_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
1098 #define IDirect3DRMFrame_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
1099 /*** IDirect3DRMFrame methods ***/
1100 #define IDirect3DRMFrame_AddChild(p,a) (p)->lpVtbl->AddChild(p,a)
1101 #define IDirect3DRMFrame_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
1102 #define IDirect3DRMFrame_AddMoveCallback(p,a,b) (p)->lpVtbl->AddMoveCallback(p,a,b)
1103 #define IDirect3DRMFrame_AddTransform(p,a,b) (p)->lpVtbl->AddTransform(p,a,b)
1104 #define IDirect3DRMFrame_AddTranslation(p,a,b,c,d) (p)->lpVtbl->AddTranslation(p,a,b,c,d)
1105 #define IDirect3DRMFrame_AddScale(p,a,b,c,d) (p)->lpVtbl->AddScale(p,a,b,c,d)
1106 #define IDirect3DRMFrame_AddRotation(p,a,b,c,d,e) (p)->lpVtbl->AddRotation(p,a,b,c,d,e)
1107 #define IDirect3DRMFrame_AddVisual(p,a) (p)->lpVtbl->AddVisual(p,a)
1108 #define IDirect3DRMFrame_GetChildren(p,a) (p)->lpVtbl->GetChildren(p,a)
1109 #define IDirect3DRMFrame_GetColor(p) (p)->lpVtbl->GetColor(p)
1110 #define IDirect3DRMFrame_GetLights(p,a) (p)->lpVtbl->GetLights(p,a)
1111 #define IDirect3DRMFrame_GetMaterialMode(p) (p)->lpVtbl->GetMaterialMode(p)
1112 #define IDirect3DRMFrame_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
1113 #define IDirect3DRMFrame_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
1114 #define IDirect3DRMFrame_GetRotation(p,a,b,c) (p)->lpVtbl->GetRotation(p,a,b,c)
1115 #define IDirect3DRMFrame_GetScene(p,a) (p)->lpVtbl->GetScene(p,a)
1116 #define IDirect3DRMFrame_GetSortMode(p) (p)->lpVtbl->GetSortMode(p)
1117 #define IDirect3DRMFrame_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
1118 #define IDirect3DRMFrame_GetTransform(p,a) (p)->lpVtbl->GetTransform(p,a)
1119 #define IDirect3DRMFrame_GetVelocity(p,a,b,c) (p)->lpVtbl->GetVelocity(p,a,b,c)
1120 #define IDirect3DRMFrame_GetOrientation(p,a,b,c) (p)->lpVtbl->GetOrientation(p,a,b,c)
1121 #define IDirect3DRMFrame_GetVisuals(p,a) (p)->lpVtbl->GetVisuals(p,a)
1122 #define IDirect3DRMFrame_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
1123 #define IDirect3DRMFrame_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
1124 #define IDirect3DRMFrame_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
1125 #define IDirect3DRMFrame_LookAt(p,a,b,c) (p)->lpVtbl->LookAt(p,a,b,c)
1126 #define IDirect3DRMFrame_Move(p,a) (p)->lpVtbl->Move(p,a)
1127 #define IDirect3DRMFrame_DeleteChild(p,a) (p)->lpVtbl->DeleteChild(p,a)
1128 #define IDirect3DRMFrame_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
1129 #define IDirect3DRMFrame_DeleteMoveCallback(p,a,b) (p)->lpVtbl->DeleteMoveCallback(p,a,b)
1130 #define IDirect3DRMFrame_DeleteVisual(p,a) (p)->lpVtbl->DeleteVisual(p,a)
1131 #define IDirect3DRMFrame_GetSceneBackground(p) (p)->lpVtbl->GetSceneBackground(p)
1132 #define IDirect3DRMFrame_GetSceneBackgroundDepth(p,a) (p)->lpVtbl->GetSceneBackgroundDepth(p,a)
1133 #define IDirect3DRMFrame_GetSceneFogColor(p) (p)->lpVtbl->GetSceneFogColor(p)
1134 #define IDirect3DRMFrame_GetSceneFogEnable(p) (p)->lpVtbl->GetSceneFogEnable(p)
1135 #define IDirect3DRMFrame_GetSceneFogMode(p) (p)->lpVtbl->GetSceneFogMode(p)
1136 #define IDirect3DRMFrame_GetSceneFogParams(p,a,b,c) (p)->lpVtbl->GetSceneFogParams(p,a,b,c)
1137 #define IDirect3DRMFrame_SetSceneBackground(p,a) (p)->lpVtbl->SetSceneBackground(p,a)
1138 #define IDirect3DRMFrame_SetSceneBackgroundRGB(p,a,b,c) (p)->lpVtbl->SetSceneBackgroundRGB(p,a,b,c)
1139 #define IDirect3DRMFrame_SetSceneBackgroundDepth(p,a) (p)->lpVtbl->SetSceneBackgroundDepth(p,a)
1140 #define IDirect3DRMFrame_SetSceneBackgroundImage(p,a) (p)->lpVtbl->SetSceneBackgroundImage(p,a)
1141 #define IDirect3DRMFrame_SetSceneFogEnable(p,a) (p)->lpVtbl->SetSceneFogEnable(p,a)
1142 #define IDirect3DRMFrame_SetSceneFogColor(p,a) (p)->lpVtbl->SetSceneFogColor(p,a)
1143 #define IDirect3DRMFrame_SetSceneFogMode(p,a) (p)->lpVtbl->SetSceneFogMode(p,a)
1144 #define IDirect3DRMFrame_SetSceneFogParams(p,a,b,c) (p)->lpVtbl->SetSceneFogParams(p,a,b,c)
1145 #define IDirect3DRMFrame_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
1146 #define IDirect3DRMFrame_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
1147 #define IDirect3DRMFrame_GetZbufferMode(p) (p)->lpVtbl->GetZbufferMode(p)
1148 #define IDirect3DRMFrame_SetMaterialMode(p,a) (p)->lpVtbl->SetMaterialMode(p,a)
1149 #define IDirect3DRMFrame_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
1150 #define IDirect3DRMFrame_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
1151 #define IDirect3DRMFrame_SetRotation(p,a,b,c,d,e) (p)->lpVtbl->SetRotation(p,a,b,c,d,e)
1152 #define IDirect3DRMFrame_SetSortMode(p,a) (p)->lpVtbl->SetSortMode(p,a)
1153 #define IDirect3DRMFrame_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
1154 #define IDirect3DRMFrame_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
1155 #define IDirect3DRMFrame_SetVelocity(p,a,b,c,d,e) (p)->lpVtbl->SetVelocity(p,a,b,c,d,e)
1156 #define IDirect3DRMFrame_SetZbufferMode(p,a) (p)->lpVtbl->SetZbufferMode(p,a)
1157 #define IDirect3DRMFrame_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
1159 /*** IUnknown methods ***/
1160 #define IDirect3DRMFrame_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1161 #define IDirect3DRMFrame_AddRef(p) (p)->AddRef()
1162 #define IDirect3DRMFrame_Release(p) (p)->Release()
1163 /*** IDirect3DRMObject methods ***/
1164 #define IDirect3DRMFrame_Clone(p,a,b,c) (p)->Clone(a,b,c)
1165 #define IDirect3DRMFrame_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
1166 #define IDirect3DRMFrame_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
1167 #define IDirect3DRMFrame_SetAppData(p,a) (p)->SetAppData(a)
1168 #define IDirect3DRMFrame_GetAppData(p) (p)->GetAppData()
1169 #define IDirect3DRMFrame_SetName(p,a) (p)->SetName(a)
1170 #define IDirect3DRMFrame_GetName(p,a,b) (p)->GetName(a,b)
1171 #define IDirect3DRMFrame_GetClassName(p,a,b) (p)->GetClassName(a,b)
1172 /*** IDirect3DRMFrame methods ***/
1173 #define IDirect3DRMFrame_AddChild(p,a) (p)->AddChild(a)
1174 #define IDirect3DRMFrame_AddLight(p,a) (p)->AddLight(a)
1175 #define IDirect3DRMFrame_AddMoveCallback(p,a,b) (p)->AddMoveCallback(a,b)
1176 #define IDirect3DRMFrame_AddTransform(p,a,b) (p)->AddTransform(a,b)
1177 #define IDirect3DRMFrame_AddTranslation(p,a,b,c,d) (p)->AddTranslation(a,b,c,d)
1178 #define IDirect3DRMFrame_AddScale(p,a,b,c,d) (p)->AddScale(a,b,c,d)
1179 #define IDirect3DRMFrame_AddRotation(p,a,b,c,d,e) (p)->AddRotation(a,b,c,d,e)
1180 #define IDirect3DRMFrame_AddVisual(p,a) (p)->AddVisual(a)
1181 #define IDirect3DRMFrame_GetChildren(p,a) (p)->GetChildren(a)
1182 #define IDirect3DRMFrame_GetColor(p) (p)->GetColor()
1183 #define IDirect3DRMFrame_GetLights(p,a) (p)->GetLights(a)
1184 #define IDirect3DRMFrame_GetMaterialMode(p) (p)->GetMaterialMode()
1185 #define IDirect3DRMFrame_GetParent(p,a) (p)->GetParent(a)
1186 #define IDirect3DRMFrame_GetPosition(p,a,b) (p)->GetPosition(a,b)
1187 #define IDirect3DRMFrame_GetRotation(p,a,b,c) (p)->GetRotation(a,b,c)
1188 #define IDirect3DRMFrame_GetScene(p,a) (p)->GetScene(a)
1189 #define IDirect3DRMFrame_GetSortMode(p) (p)->GetSortMode()
1190 #define IDirect3DRMFrame_GetTexture(p,a) (p)->GetTexture(a)
1191 #define IDirect3DRMFrame_GetTransform(p,a) (p)->GetTransform(a)
1192 #define IDirect3DRMFrame_GetVelocity(p,a,b,c) (p)->GetVelocity(a,b,c)
1193 #define IDirect3DRMFrame_GetOrientation(p,a,b,c) (p)->GetOrientation(a,b,c)
1194 #define IDirect3DRMFrame_GetVisuals(p,a) (p)->GetVisuals(a)
1195 #define IDirect3DRMFrame_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
1196 #define IDirect3DRMFrame_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
1197 #define IDirect3DRMFrame_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
1198 #define IDirect3DRMFrame_LookAt(p,a,b,c) (p)->LookAt(a,b,c)
1199 #define IDirect3DRMFrame_Move(p,a) (p)->Move(a)
1200 #define IDirect3DRMFrame_DeleteChild(p,a) (p)->DeleteChild(a)
1201 #define IDirect3DRMFrame_DeleteLight(p,a) (p)->DeleteLight(a)
1202 #define IDirect3DRMFrame_DeleteMoveCallback(p,a,b) (p)->DeleteMoveCallback(a,b)
1203 #define IDirect3DRMFrame_DeleteVisual(p,a) (p)->DeleteVisual(a)
1204 #define IDirect3DRMFrame_GetSceneBackground(p) (p)->GetSceneBackground()
1205 #define IDirect3DRMFrame_GetSceneBackgroundDepth(p,a) (p)->GetSceneBackgroundDepth(a)
1206 #define IDirect3DRMFrame_GetSceneFogColor(p) (p)->GetSceneFogColor()
1207 #define IDirect3DRMFrame_GetSceneFogEnable(p) (p)->GetSceneFogEnable()
1208 #define IDirect3DRMFrame_GetSceneFogMode(p) (p)->GetSceneFogMode()
1209 #define IDirect3DRMFrame_GetSceneFogParams(p,a,b,c) (p)->GetSceneFogParams(a,b,c)
1210 #define IDirect3DRMFrame_SetSceneBackground(p,a) (p)->SetSceneBackground(a)
1211 #define IDirect3DRMFrame_SetSceneBackgroundRGB(p,a,b,c) (p)->SetSceneBackgroundRGB(a,b,c)
1212 #define IDirect3DRMFrame_SetSceneBackgroundDepth(p,a) (p)->SetSceneBackgroundDepth(a)
1213 #define IDirect3DRMFrame_SetSceneBackgroundImage(p,a) (p)->SetSceneBackgroundImage(a)
1214 #define IDirect3DRMFrame_SetSceneFogEnable(p,a) (p)->SetSceneFogEnable(a)
1215 #define IDirect3DRMFrame_SetSceneFogColor(p,a) (p)->SetSceneFogColor(a)
1216 #define IDirect3DRMFrame_SetSceneFogMode(p,a) (p)->SetSceneFogMode(a)
1217 #define IDirect3DRMFrame_SetSceneFogParams(p,a,b,c) (p)->SetSceneFogParams(a,b,c)
1218 #define IDirect3DRMFrame_SetColor(p,a) (p)->SetColor(a)
1219 #define IDirect3DRMFrame_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
1220 #define IDirect3DRMFrame_GetZbufferMode(p) (p)->GetZbufferMode()
1221 #define IDirect3DRMFrame_SetMaterialMode(p,a) (p)->SetMaterialMode(a)
1222 #define IDirect3DRMFrame_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
1223 #define IDirect3DRMFrame_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
1224 #define IDirect3DRMFrame_SetRotation(p,a,b,c,d,e) (p)->SetRotation(a,b,c,d,e)
1225 #define IDirect3DRMFrame_SetSortMode(p,a) (p)->SetSortMode(a)
1226 #define IDirect3DRMFrame_SetTexture(p,a) (p)->SetTexture(a)
1227 #define IDirect3DRMFrame_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
1228 #define IDirect3DRMFrame_SetVelocity(p,a,b,c,d,e) (p)->SetVelocity(a,b,c,d,e)
1229 #define IDirect3DRMFrame_SetZbufferMode(p,a) (p)->SetZbufferMode(a)
1230 #define IDirect3DRMFrame_Transform(p,a,b) (p)->Transform(a,b)
1237 #endif /* __D3DRMOBJ_H__ */