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
*D3DRMFRAME3MOVECALLBACK
)(LPDIRECT3DRMFRAME3 obj
, LPVOID arg
, D3DVALUE delta
);
91 typedef void (__cdecl
*D3DRMUPDATECALLBACK
)(LPDIRECT3DRMDEVICE obj
, LPVOID arg
, int, LPD3DRECT
);
92 typedef int (__cdecl
*D3DRMUSERVISUALCALLBACK
)(LPDIRECT3DRMUSERVISUAL obj
, LPVOID arg
,
93 D3DRMUSERVISUALREASON reason
, LPDIRECT3DRMDEVICE dev
, LPDIRECT3DRMVIEWPORT view
);
94 typedef HRESULT (__cdecl
*D3DRMLOADTEXTURECALLBACK
)(char *tex_name
, void *arg
, LPDIRECT3DRMTEXTURE
*);
95 typedef HRESULT (__cdecl
*D3DRMLOADTEXTURE3CALLBACK
)(char *tex_name
, void *arg
, LPDIRECT3DRMTEXTURE3
*);
96 typedef void (__cdecl
*D3DRMLOADCALLBACK
)(LPDIRECT3DRMOBJECT object
, REFIID objectguid
, LPVOID arg
);
98 typedef struct _D3DRMPICKDESC
103 } D3DRMPICKDESC
, *LPD3DRMPICKDESC
;
105 typedef struct _D3DRMPICKDESC2
114 } D3DRMPICKDESC2
, *LPD3DRMPICKDESC2
;
116 /*****************************************************************************
117 * IDirect3DRMObject interface
119 #ifdef WINE_NO_UNICODE_MACROS
122 #define INTERFACE IDirect3DRMObject
123 DECLARE_INTERFACE_(IDirect3DRMObject
,IUnknown
)
125 /*** IUnknown methods ***/
126 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
127 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
128 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
129 /*** IDirect3DRMObject methods ***/
130 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
131 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
132 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
133 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
134 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
135 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
136 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
137 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
141 #if !defined(__cplusplus) || defined(CINTERFACE)
142 /*** IUnknown methods ***/
143 #define IDirect3DRMObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
144 #define IDirect3DRMObject_AddRef(p) (p)->lpVtbl->AddRef(p)
145 #define IDirect3DRMObject_Release(p) (p)->lpVtbl->Release(p)
146 /*** IDirect3DRMObject methods ***/
147 #define IDirect3DRMObject_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
148 #define IDirect3DRMObject_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
149 #define IDirect3DRMObject_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
150 #define IDirect3DRMObject_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
151 #define IDirect3DRMObject_GetAppData(p) (p)->lpVtbl->GetAppData(p)
152 #define IDirect3DRMObject_SetName(p,a) (p)->lpVtbl->SetName(p,a)
153 #define IDirect3DRMObject_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
154 #define IDirect3DRMObject_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
156 /*** IUnknown methods ***/
157 #define IDirect3DRMObject_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
158 #define IDirect3DRMObject_AddRef(p) (p)->AddRef()
159 #define IDirect3DRMObject_Release(p) (p)->Release()
160 /*** IDirect3DRMObject methods ***/
161 #define IDirect3DRMObject_Clone(p,a,b,c) (p)->Clone(a,b,c)
162 #define IDirect3DRMObject_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
163 #define IDirect3DRMObject_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
164 #define IDirect3DRMObject_SetAppData(p,a) (p)->SetAppData(a)
165 #define IDirect3DRMObject_GetAppData(p) (p)->GetAppData()
166 #define IDirect3DRMObject_SetName(p,a) (p)->SetName(a)
167 #define IDirect3DRMObject_GetName(p,a,b) (p)->GetName(a,b)
168 #define IDirect3DRMObject_GetClassName(p,a,b) (p)->GetClassName(a,b)
171 /*****************************************************************************
172 * IDirect3DRMObject2 interface
174 #ifdef WINE_NO_UNICODE_MACROS
177 #define INTERFACE IDirect3DRMObject2
178 DECLARE_INTERFACE_(IDirect3DRMObject2
,IUnknown
)
180 /*** IUnknown methods ***/
181 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
182 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
183 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
184 /*** IDirect3DRMObject2 methods ***/
185 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK pFunc
, LPVOID pArg
) PURE
;
186 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
187 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK pFunc
, LPVOID pArg
) PURE
;
188 STDMETHOD(GetClientData
)(THIS_ DWORD id
, LPVOID
* ppData
) PURE
;
189 STDMETHOD(GetDirect3DRM
)(THIS_ LPDIRECT3DRM
* ppDirect3DRM
) PURE
;
190 STDMETHOD(GetName
)(THIS_ LPDWORD pSize
, LPSTR pName
) PURE
;
191 STDMETHOD(SetClientData
)(THIS_ DWORD id
, LPVOID pData
, DWORD flags
) PURE
;
192 STDMETHOD(SetName
)(THIS_ LPCSTR pName
) PURE
;
193 STDMETHOD(GetAge
)(THIS_ DWORD flags
, LPDWORD pAge
) PURE
;
197 #if !defined(__cplusplus) || defined(CINTERFACE)
198 /*** IUnknown methods ***/
199 #define IDirect3DRMObject2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
200 #define IDirect3DRMObject2_AddRef(p) (p)->lpVtbl->AddRef(p)
201 #define IDirect3DRMObject2_Release(p) (p)->lpVtbl->Release(p)
202 /*** IDirect3DRMObject2 methods ***/
203 #define IDirect3DRMObject2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
204 #define IDirect3DRMObject2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
205 #define IDirect3DRMObject2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
206 #define IDirect3DRMObject2_GetClientData(p,a,b) (p)->lpVtbl->SetClientData(p,a,b)
207 #define IDirect3DRMObject2_GetDirect3DRM(p,a) (p)->lpVtbl->GetDirect3DRM(p,a)
208 #define IDirect3DRMObject2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
209 #define IDirect3DRMObject2_SetClientData(p,a,b,c) (p)->lpVtbl->SetClientData(p,a,b,c)
210 #define IDirect3DRMObject2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
211 #define IDirect3DRMObject2_GetAge(p,a,b) (p)->lpVtbl->GetAge(p,a,b)
213 /*** IUnknown methods ***/
214 #define IDirect3DRMObject2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
215 #define IDirect3DRMObject2_AddRef(p) (p)->AddRef()
216 #define IDirect3DRMObject2_Release(p) (p)->Release()
217 /*** IDirect3DRMObject2 methods ***/
218 #define IDirect3DRMObject2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
219 #define IDirect3DRMObject2_Clone(p,a,b,c) (p)->Clone(a,b,c)
220 #define IDirect3DRMObject2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
221 #define IDirect3DRMObject2_GetClientData(p,a,b) (p)->SetClientData(a,b)
222 #define IDirect3DRMObject2_GetDirect3DRM(p,a) (p)->GetDirect3DRM(a)
223 #define IDirect3DRMObject2_GetName(p,a,b) (p)->GetName(a,b)
224 #define IDirect3DRMObject2_SetClientData(p,a,b,c) (p)->SetClientData(a,b,c)
225 #define IDirect3DRMObject2_SetName(p,a) (p)->SetName(a)
226 #define IDirect3DRMObject2_GetAge(p,a,b) (p)->GetAge(a,b)
229 /*****************************************************************************
230 * IDirect3DRMVisual interface
232 #define INTERFACE IDirect3DRMVisual
233 DECLARE_INTERFACE_(IDirect3DRMVisual
,IDirect3DRMObject
)
235 /*** IUnknown methods ***/
236 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
237 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
238 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
239 /*** IDirect3DRMObject methods ***/
240 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
241 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
242 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
243 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
244 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
245 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
246 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
247 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
251 #if !defined(__cplusplus) || defined(CINTERFACE)
252 /*** IUnknown methods ***/
253 #define IDirect3DRMVisual_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
254 #define IDirect3DRMVisual_AddRef(p) (p)->lpVtbl->AddRef(p)
255 #define IDirect3DRMVisual_Release(p) (p)->lpVtbl->Release(p)
256 /*** IDirect3DRMObject methods ***/
257 #define IDirect3DRMVisual_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
258 #define IDirect3DRMVisual_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
259 #define IDirect3DRMVisual_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
260 #define IDirect3DRMVisual_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
261 #define IDirect3DRMVisual_GetAppData(p) (p)->lpVtbl->GetAppData(p)
262 #define IDirect3DRMVisual_SetName(p,a) (p)->lpVtbl->SetName(p,a)
263 #define IDirect3DRMVisual_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
264 #define IDirect3DRMVisual_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
266 /*** IUnknown methods ***/
267 #define IDirect3DRMVisual_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
268 #define IDirect3DRMVisual_AddRef(p) (p)->AddRef()
269 #define IDirect3DRMVisual_Release(p) (p)->Release()
270 /*** IDirect3DRMObject methods ***/
271 #define IDirect3DRMVisual_Clone(p,a,b,c) (p)->Clone(a,b,c)
272 #define IDirect3DRMVisual_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
273 #define IDirect3DRMVisual_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
274 #define IDirect3DRMVisual_SetAppData(p,a) (p)->SetAppData(a)
275 #define IDirect3DRMVisual_GetAppData(p) (p)->GetAppData()
276 #define IDirect3DRMVisual_SetName(p,a) (p)->SetName(a)
277 #define IDirect3DRMVisual_GetName(p,a,b) (p)->GetName(a,b)
278 #define IDirect3DRMVisual_GetClassName(p,a,b) (p)->GetClassName(a,b)
281 /*****************************************************************************
282 * IDirect3DRMDevice interface
284 #ifdef WINE_NO_UNICODE_MACROS
287 #define INTERFACE IDirect3DRMDevice
288 DECLARE_INTERFACE_(IDirect3DRMDevice
,IUnknown
)
290 /*** IUnknown methods ***/
291 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
292 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
293 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
294 /*** IDirect3DRMObject methods ***/
295 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
296 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK pFunc
, LPVOID pArg
) PURE
;
297 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK pFunc
, LPVOID pArg
) PURE
;
298 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
299 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
300 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
301 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
302 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
303 /*** IDirect3DRMDevice methods ***/
304 STDMETHOD(Init
)(THIS_ ULONG width
, ULONG height
) PURE
;
305 STDMETHOD(InitFromD3D
)(THIS_ LPDIRECT3D pD3D
, LPDIRECT3DDEVICE pD3DDev
) PURE
;
306 STDMETHOD(InitFromClipper
)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper
, LPGUID pGUID
, int width
, int height
) PURE
;
307 STDMETHOD(Update
)(THIS
) PURE
;
308 STDMETHOD(AddUpdateCallback
)(THIS_ D3DRMUPDATECALLBACK
, LPVOID arg
) PURE
;
309 STDMETHOD(DeleteUpdateCallback
)(THIS_ D3DRMUPDATECALLBACK
, LPVOID arg
) PURE
;
310 STDMETHOD(SetBufferCount
)(THIS_ DWORD
) PURE
;
311 STDMETHOD_(DWORD
, GetBufferCount
)(THIS
) PURE
;
312 STDMETHOD(SetDither
)(THIS_ BOOL
) PURE
;
313 STDMETHOD(SetShades
)(THIS_ DWORD
) PURE
;
314 STDMETHOD(SetQuality
)(THIS_ D3DRMRENDERQUALITY
) PURE
;
315 STDMETHOD(SetTextureQuality
)(THIS_ D3DRMTEXTUREQUALITY
) PURE
;
316 STDMETHOD(GetViewports
)(THIS_ LPDIRECT3DRMVIEWPORTARRAY
*return_views
) PURE
;
317 STDMETHOD_(BOOL
, GetDither
)(THIS
) PURE
;
318 STDMETHOD_(DWORD
, GetShades
)(THIS
) PURE
;
319 STDMETHOD_(DWORD
, GetHeight
)(THIS
) PURE
;
320 STDMETHOD_(DWORD
, GetWidth
)(THIS
) PURE
;
321 STDMETHOD_(DWORD
, GetTrianglesDrawn
)(THIS
) PURE
;
322 STDMETHOD_(DWORD
, GetWireframeOptions
)(THIS
) PURE
;
323 STDMETHOD_(D3DRMRENDERQUALITY
, GetQuality
)(THIS
) PURE
;
324 STDMETHOD_(D3DCOLORMODEL
, GetColorModel
)(THIS
) PURE
;
325 STDMETHOD_(D3DRMTEXTUREQUALITY
, GetTextureQuality
)(THIS
) PURE
;
326 STDMETHOD(GetDirect3DDevice
)(THIS_ LPDIRECT3DDEVICE
*) PURE
;
330 #if !defined(__cplusplus) || defined(CINTERFACE)
331 /*** IUnknown methods ***/
332 #define IDirect3DRMDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
333 #define IDirect3DRMDevice_AddRef(p) (p)->lpVtbl->AddRef(p)
334 #define IDirect3DRMDevice_Release(p) (p)->lpVtbl->Release(p)
335 /*** IDirect3DRMObject methods ***/
336 #define IDirect3DRMDevice_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
337 #define IDirect3DRMDevice_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
338 #define IDirect3DRMDevice_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
339 #define IDirect3DRMDevice_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
340 #define IDirect3DRMDevice_GetAppData(p) (p)->lpVtbl->GetAppData(p)
341 #define IDirect3DRMDevice_SetName(p,a) (p)->lpVtbl->SetName(p,a)
342 #define IDirect3DRMDevice_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
343 #define IDirect3DRMDevice_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
344 /*** IDirect3DRMDevice methods ***/
345 #define IDirect3DRMDevice_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
346 #define IDirect3DRMDevice_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
347 #define IDirect3DRMDevice_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
348 #define IDirect3DRMDevice_Update(p) (p)->lpVtbl->Update(p)
349 #define IDirect3DRMDevice_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
350 #define IDirect3DRMDevice_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b,c)
351 #define IDirect3DRMDevice_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
352 #define IDirect3DRMDevice_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
353 #define IDirect3DRMDevice_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
354 #define IDirect3DRMDevice_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
355 #define IDirect3DRMDevice_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
356 #define IDirect3DRMDevice_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
357 #define IDirect3DRMDevice_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
358 #define IDirect3DRMDevice_GetDither(p) (p)->lpVtbl->GetDither(p)
359 #define IDirect3DRMDevice_GetShades(p) (p)->lpVtbl->GetShades(p)
360 #define IDirect3DRMDevice_GetHeight(p) (p)->lpVtbl->GetHeight(p)
361 #define IDirect3DRMDevice_GetWidth(p) (p)->lpVtbl->GetWidth(p)
362 #define IDirect3DRMDevice_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
363 #define IDirect3DRMDevice_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
364 #define IDirect3DRMDevice_GetQuality(p) (p)->lpVtbl->GetQuality(p)
365 #define IDirect3DRMDevice_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
366 #define IDirect3DRMDevice_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
367 #define IDirect3DRMDevice_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
369 /*** IUnknown methods ***/
370 #define IDirect3DRMDevice_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
371 #define IDirect3DRMDevice_AddRef(p) (p)->AddRef()
372 #define IDirect3DRMDevice_Release(p) (p)->Release()
373 /*** IDirect3DRMObject methods ***/
374 #define IDirect3DRMDevice_Clone(p,a,b,c) (p)->Clone(a,b,c)
375 #define IDirect3DRMDevice_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
376 #define IDirect3DRMDevice_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
377 #define IDirect3DRMDevice_SetAppData(p,a) (p)->SetAppData(a)
378 #define IDirect3DRMDevice_GetAppData(p) (p)->GetAppData()
379 #define IDirect3DRMDevice_SetName(p,a) (p)->SetName(a)
380 #define IDirect3DRMDevice_GetName(p,a,b) (p)->GetName(a,b)
381 #define IDirect3DRMDevice_GetClassName(p,a,b) (p)->GetClassName(a,b)
382 /*** IDirect3DRMDevice methods ***/
383 #define IDirect3DRMDevice_Init(p,a,b) (p)->Init(p,a,b)
384 #define IDirect3DRMDevice_InitFromD3D(p,a,b) (p)->InitFromD3D(p,a,b)
385 #define IDirect3DRMDevice_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(p,a,b,c,d)
386 #define IDirect3DRMDevice_Update(p) (p)->Update(p)
387 #define IDirect3DRMDevice_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(p,a,b)
388 #define IDirect3DRMDevice_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(p,a,b,c)
389 #define IDirect3DRMDevice_SetBufferCount(p,a) (p)->SetBufferCount(p,a)
390 #define IDirect3DRMDevice_GetBufferCount(p) (p)->GetBufferCount(p)
391 #define IDirect3DRMDevice_SetDither(p,a) (p)->SetDither(p,a)
392 #define IDirect3DRMDevice_SetShades(p,a) (p)->SetShades(p,a)
393 #define IDirect3DRMDevice_SetQuality(p,a) (p)->SetQuality(p,a)
394 #define IDirect3DRMDevice_SetTextureQuality(p,a) (p)->SetTextureQuality(p,a)
395 #define IDirect3DRMDevice_GetViewports(p,a) (p)->GetViewports(p,a)
396 #define IDirect3DRMDevice_GetDither(p) (p)->GetDither(p)
397 #define IDirect3DRMDevice_GetShades(p) (p)->GetShades(p)
398 #define IDirect3DRMDevice_GetHeight(p) (p)->GetHeight(p)
399 #define IDirect3DRMDevice_GetWidth(p) (p)->GetWidth(p)
400 #define IDirect3DRMDevice_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn(p)
401 #define IDirect3DRMDevice_GetWireframeOptions(p) (p)->GetWireframeOptions(p)
402 #define IDirect3DRMDevice_GetQuality(p) (p)->GetQuality(p)
403 #define IDirect3DRMDevice_GetColorModel(p) (p)->GetColorModel(p)
404 #define IDirect3DRMDevice_GetTextureQuality(p) (p)->GetTextureQuality(p)
405 #define IDirect3DRMDevice_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(p,a)
408 /*****************************************************************************
409 * IDirect3DRMDevice2 interface
411 #ifdef WINE_NO_UNICODE_MACROS
414 #define INTERFACE IDirect3DRMDevice2
415 DECLARE_INTERFACE_(IDirect3DRMDevice2
,IDirect3DRMDevice
)
417 /*** IUnknown methods ***/
418 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
419 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
420 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
421 /*** IDirect3DRMObject methods ***/
422 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
423 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK pFunc
, LPVOID pArg
) PURE
;
424 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK pFunc
, LPVOID pArg
) PURE
;
425 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
426 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
427 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
428 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
429 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
430 /*** IDirect3DRMDevice methods ***/
431 STDMETHOD(Init
)(THIS_ ULONG width
, ULONG height
) PURE
;
432 STDMETHOD(InitFromD3D
)(THIS_ LPDIRECT3D pD3D
, LPDIRECT3DDEVICE pD3DDev
) PURE
;
433 STDMETHOD(InitFromClipper
)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper
, LPGUID pGUID
, int width
, int height
) PURE
;
434 STDMETHOD(Update
)(THIS
) PURE
;
435 STDMETHOD(AddUpdateCallback
)(THIS_ D3DRMUPDATECALLBACK
, LPVOID arg
) PURE
;
436 STDMETHOD(DeleteUpdateCallback
)(THIS_ D3DRMUPDATECALLBACK
, LPVOID arg
) PURE
;
437 STDMETHOD(SetBufferCount
)(THIS_ DWORD
) PURE
;
438 STDMETHOD_(DWORD
, GetBufferCount
)(THIS
) PURE
;
439 STDMETHOD(SetDither
)(THIS_ BOOL
) PURE
;
440 STDMETHOD(SetShades
)(THIS_ DWORD
) PURE
;
441 STDMETHOD(SetQuality
)(THIS_ D3DRMRENDERQUALITY
) PURE
;
442 STDMETHOD(SetTextureQuality
)(THIS_ D3DRMTEXTUREQUALITY
) PURE
;
443 STDMETHOD(GetViewports
)(THIS_ LPDIRECT3DRMVIEWPORTARRAY
*return_views
) PURE
;
444 STDMETHOD_(BOOL
, GetDither
)(THIS
) PURE
;
445 STDMETHOD_(DWORD
, GetShades
)(THIS
) PURE
;
446 STDMETHOD_(DWORD
, GetHeight
)(THIS
) PURE
;
447 STDMETHOD_(DWORD
, GetWidth
)(THIS
) PURE
;
448 STDMETHOD_(DWORD
, GetTrianglesDrawn
)(THIS
) PURE
;
449 STDMETHOD_(DWORD
, GetWireframeOptions
)(THIS
) PURE
;
450 STDMETHOD_(D3DRMRENDERQUALITY
, GetQuality
)(THIS
) PURE
;
451 STDMETHOD_(D3DCOLORMODEL
, GetColorModel
)(THIS
) PURE
;
452 STDMETHOD_(D3DRMTEXTUREQUALITY
, GetTextureQuality
)(THIS
) PURE
;
453 STDMETHOD(GetDirect3DDevice
)(THIS_ LPDIRECT3DDEVICE
*) PURE
;
454 /*** IDirect3DRMDevice2 methods ***/
455 STDMETHOD(InitFromD3D2
)(THIS_ LPDIRECT3D2 pD3D
, LPDIRECT3DDEVICE2 pD3DDev
) PURE
;
456 STDMETHOD(InitFromSurface
)(THIS_ LPGUID pGUID
, LPDIRECTDRAW pDD
, LPDIRECTDRAWSURFACE pDDSBack
) PURE
;
457 STDMETHOD(SetRenderMode
)(THIS_ DWORD flags
) PURE
;
458 STDMETHOD_(DWORD
, GetRenderMode
)(THIS
) PURE
;
459 STDMETHOD(GetDirect3DDevice2
)(THIS_ LPDIRECT3DDEVICE2
*) PURE
;
463 #if !defined(__cplusplus) || defined(CINTERFACE)
464 /*** IUnknown methods ***/
465 #define IDirect3DRMDevice2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
466 #define IDirect3DRMDevice2_AddRef(p) (p)->lpVtbl->AddRef(p)
467 #define IDirect3DRMDevice2_Release(p) (p)->lpVtbl->Release(p)
468 /*** IDirect3DRMObject methods ***/
469 #define IDirect3DRMDevice2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
470 #define IDirect3DRMDevice2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
471 #define IDirect3DRMDevice2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
472 #define IDirect3DRMDevice2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
473 #define IDirect3DRMDevice2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
474 #define IDirect3DRMDevice2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
475 #define IDirect3DRMDevice2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
476 #define IDirect3DRMDevice2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
477 /*** IDirect3DRMDevice methods ***/
478 #define IDirect3DRMDevice2_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
479 #define IDirect3DRMDevice2_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
480 #define IDirect3DRMDevice2_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
481 #define IDirect3DRMDevice2_Update(p) (p)->lpVtbl->Update(p)
482 #define IDirect3DRMDevice2_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
483 #define IDirect3DRMDevice2_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b,c)
484 #define IDirect3DRMDevice2_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
485 #define IDirect3DRMDevice2_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
486 #define IDirect3DRMDevice2_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
487 #define IDirect3DRMDevice2_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
488 #define IDirect3DRMDevice2_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
489 #define IDirect3DRMDevice2_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
490 #define IDirect3DRMDevice2_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
491 #define IDirect3DRMDevice2_GetDither(p) (p)->lpVtbl->GetDither(p)
492 #define IDirect3DRMDevice2_GetShades(p) (p)->lpVtbl->GetShades(p)
493 #define IDirect3DRMDevice2_GetHeight(p) (p)->lpVtbl->GetHeight(p)
494 #define IDirect3DRMDevice2_GetWidth(p) (p)->lpVtbl->GetWidth(p)
495 #define IDirect3DRMDevice2_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
496 #define IDirect3DRMDevice2_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
497 #define IDirect3DRMDevice2_GetQuality(p) (p)->lpVtbl->GetQuality(p)
498 #define IDirect3DRMDevice2_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
499 #define IDirect3DRMDevice2_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
500 #define IDirect3DRMDevice2_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
501 /*** IDirect3DRMDevice2 methods ***/
502 #define IDirect3DRMDevice2_InitFromD3D2(p,a,b) (p)->lpVtbl->InitFromD3D2(p,a,b)
503 #define IDirect3DRMDevice2_InitFromSurface(p,a,b,c) (p)->lpVtbl->InitFromSurface(p,a,b,c)
504 #define IDirect3DRMDevice2_SetRenderMode(p,a) (p)->lpVtbl->SetRenderMode(p,a)
505 #define IDirect3DRMDevice2_GetRenderMode(p) (p)->lpVtbl->GetRenderMode(p)
506 #define IDirect3DRMDevice2_GetDirect3DDevice2(p,a) (p)->lpVtbl->GetDirect3DDevice2(p,a)
508 /*** IUnknown methods ***/
509 #define IDirect3DRMDevice2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
510 #define IDirect3DRMDevice2_AddRef(p) (p)->AddRef()
511 #define IDirect3DRMDevice2_Release(p) (p)->Release()
512 /*** IDirect3DRMObject methods ***/
513 #define IDirect3DRMDevice2_Clone(p,a,b,c) (p)->Clone(a,b,c)
514 #define IDirect3DRMDevice2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
515 #define IDirect3DRMDevice2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
516 #define IDirect3DRMDevice2_SetAppData(p,a) (p)->SetAppData(a)
517 #define IDirect3DRMDevice2_GetAppData(p) (p)->GetAppData()
518 #define IDirect3DRMDevice2_SetName(p,a) (p)->SetName(a)
519 #define IDirect3DRMDevice2_GetName(p,a,b) (p)->GetName(a,b)
520 #define IDirect3DRMDevice2_GetClassName(p,a,b) (p)->GetClassName(a,b)
521 /*** IDirect3DRMDevice methods ***/
522 #define IDirect3DRMDevice2_Init(p,a,b) (p)->Init(p,a,b)
523 #define IDirect3DRMDevice2_InitFromD3D(p,a,b) (p)->InitFromD3D(p,a,b)
524 #define IDirect3DRMDevice2_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(p,a,b,c,d)
525 #define IDirect3DRMDevice2_Update(p) (p)->Update(p)
526 #define IDirect3DRMDevice2_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(p,a,b)
527 #define IDirect3DRMDevice2_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(p,a,b,c)
528 #define IDirect3DRMDevice2_SetBufferCount(p,a) (p)->SetBufferCount(p,a)
529 #define IDirect3DRMDevice2_GetBufferCount(p) (p)->GetBufferCount(p)
530 #define IDirect3DRMDevice2_SetDither(p,a) (p)->SetDither(p,a)
531 #define IDirect3DRMDevice2_SetShades(p,a) (p)->SetShades(p,a)
532 #define IDirect3DRMDevice2_SetQuality(p,a) (p)->SetQuality(p,a)
533 #define IDirect3DRMDevice2_SetTextureQuality(p,a) (p)->SetTextureQuality(p,a)
534 #define IDirect3DRMDevice2_GetViewports(p,a) (p)->GetViewports(p,a)
535 #define IDirect3DRMDevice2_GetDither(p) (p)->GetDither(p)
536 #define IDirect3DRMDevice2_GetShades(p) (p)->GetShades(p)
537 #define IDirect3DRMDevice2_GetHeight(p) (p)->GetHeight(p)
538 #define IDirect3DRMDevice2_GetWidth(p) (p)->GetWidth(p)
539 #define IDirect3DRMDevice2_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn(p)
540 #define IDirect3DRMDevice2_GetWireframeOptions(p) (p)->GetWireframeOptions(p)
541 #define IDirect3DRMDevice2_GetQuality(p) (p)->GetQuality(p)
542 #define IDirect3DRMDevice2_GetColorModel(p) (p)->GetColorModel(p)
543 #define IDirect3DRMDevice2_GetTextureQuality(p) (p)->GetTextureQuality(p)
544 #define IDirect3DRMDevice2_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(p,a)
545 /*** IDirect3DRMDevice2 methods ***/
546 #define IDirect3DRMDevice2_InitFromD3D2(p,a,b) (p)->InitFromD3D2(a,b)
547 #define IDirect3DRMDevice2_InitFromSurface(p,a,b,c) (p)->InitFromSurface(a,b,c)
548 #define IDirect3DRMDevice2_SetRenderMode(p,a) (p)->SetRenderMode(a)
549 #define IDirect3DRMDevice2_GetRenderMode(p) (p)->GetRenderMode()
550 #define IDirect3DRMDevice2_GetDirect3DDevice2(p,a) (p)->GetDirect3DDevice2(a)
553 /*****************************************************************************
554 * IDirect3DRMDevice3 interface
556 #ifdef WINE_NO_UNICODE_MACROS
559 #define INTERFACE IDirect3DRMDevice3
560 DECLARE_INTERFACE_(IDirect3DRMDevice3
,IDirect3DRMObject
)
562 /*** IUnknown methods ***/
563 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
564 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
565 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
566 /*** IDirect3DRMObject methods ***/
567 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
568 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK pFunc
, LPVOID pArg
) PURE
;
569 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK pFunc
, LPVOID pArg
) PURE
;
570 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
571 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
572 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
573 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
574 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
575 /*** IDirect3DRMDevice methods ***/
576 STDMETHOD(Init
)(THIS_ ULONG width
, ULONG height
) PURE
;
577 STDMETHOD(InitFromD3D
)(THIS_ LPDIRECT3D pD3D
, LPDIRECT3DDEVICE pD3DDev
) PURE
;
578 STDMETHOD(InitFromClipper
)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper
, LPGUID pGUID
, int width
, int height
) PURE
;
579 STDMETHOD(Update
)(THIS
) PURE
;
580 STDMETHOD(AddUpdateCallback
)(THIS_ D3DRMUPDATECALLBACK
, LPVOID arg
) PURE
;
581 STDMETHOD(DeleteUpdateCallback
)(THIS_ D3DRMUPDATECALLBACK
, LPVOID arg
) PURE
;
582 STDMETHOD(SetBufferCount
)(THIS_ DWORD
) PURE
;
583 STDMETHOD_(DWORD
, GetBufferCount
)(THIS
) PURE
;
584 STDMETHOD(SetDither
)(THIS_ BOOL
) PURE
;
585 STDMETHOD(SetShades
)(THIS_ DWORD
) PURE
;
586 STDMETHOD(SetQuality
)(THIS_ D3DRMRENDERQUALITY
) PURE
;
587 STDMETHOD(SetTextureQuality
)(THIS_ D3DRMTEXTUREQUALITY
) PURE
;
588 STDMETHOD(GetViewports
)(THIS_ LPDIRECT3DRMVIEWPORTARRAY
*return_views
) PURE
;
589 STDMETHOD_(BOOL
, GetDither
)(THIS
) PURE
;
590 STDMETHOD_(DWORD
, GetShades
)(THIS
) PURE
;
591 STDMETHOD_(DWORD
, GetHeight
)(THIS
) PURE
;
592 STDMETHOD_(DWORD
, GetWidth
)(THIS
) PURE
;
593 STDMETHOD_(DWORD
, GetTrianglesDrawn
)(THIS
) PURE
;
594 STDMETHOD_(DWORD
, GetWireframeOptions
)(THIS
) PURE
;
595 STDMETHOD_(D3DRMRENDERQUALITY
, GetQuality
)(THIS
) PURE
;
596 STDMETHOD_(D3DCOLORMODEL
, GetColorModel
)(THIS
) PURE
;
597 STDMETHOD_(D3DRMTEXTUREQUALITY
, GetTextureQuality
)(THIS
) PURE
;
598 STDMETHOD(GetDirect3DDevice
)(THIS_ LPDIRECT3DDEVICE
*) PURE
;
599 /*** IDirect3DRMDevice2 methods ***/
600 STDMETHOD(InitFromD3D2
)(THIS_ LPDIRECT3D2 pD3D
, LPDIRECT3DDEVICE2 pD3DDev
) PURE
;
601 STDMETHOD(InitFromSurface
)(THIS_ LPGUID pGUID
, LPDIRECTDRAW pDD
, LPDIRECTDRAWSURFACE pDDSBack
) PURE
;
602 STDMETHOD(SetRenderMode
)(THIS_ DWORD flags
) PURE
;
603 STDMETHOD_(DWORD
, GetRenderMode
)(THIS
) PURE
;
604 STDMETHOD(GetDirect3DDevice2
)(THIS_ LPDIRECT3DDEVICE2
*) PURE
;
605 /*** IDirect3DRMDevice3 methods ***/
606 STDMETHOD(FindPreferredTextureFormat
)(THIS_ DWORD BitDepths
, DWORD flags
, LPDDPIXELFORMAT pDDPF
) PURE
;
607 STDMETHOD(RenderStateChange
)(THIS_ D3DRENDERSTATETYPE drsType
, DWORD val
, DWORD flags
) PURE
;
608 STDMETHOD(LightStateChange
)(THIS_ D3DLIGHTSTATETYPE drsType
, DWORD val
, DWORD flags
) PURE
;
609 STDMETHOD(GetStateChangeOptions
)(THIS_ DWORD StateClass
, DWORD StateNum
, LPDWORD pFlags
) PURE
;
610 STDMETHOD(SetStateChangeOptions
)(THIS_ DWORD StateClass
, DWORD StateNum
, DWORD flags
) PURE
;
614 #if !defined(__cplusplus) || defined(CINTERFACE)
615 /*** IUnknown methods ***/
616 #define IDirect3DRMDevice3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
617 #define IDirect3DRMDevice3_AddRef(p) (p)->lpVtbl->AddRef(p)
618 #define IDirect3DRMDevice3_Release(p) (p)->lpVtbl->Release(p)
619 /*** IDirect3DRMObject methods ***/
620 #define IDirect3DRMDevice3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
621 #define IDirect3DRMDevice3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
622 #define IDirect3DRMDevice3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
623 #define IDirect3DRMDevice3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
624 #define IDirect3DRMDevice3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
625 #define IDirect3DRMDevice3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
626 #define IDirect3DRMDevice3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
627 #define IDirect3DRMDevice3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
628 /*** IDirect3DRMDevice methods ***/
629 #define IDirect3DRMDevice3_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
630 #define IDirect3DRMDevice3_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
631 #define IDirect3DRMDevice3_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
632 #define IDirect3DRMDevice3_Update(p) (p)->lpVtbl->Update(p)
633 #define IDirect3DRMDevice3_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
634 #define IDirect3DRMDevice3_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b,c)
635 #define IDirect3DRMDevice3_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
636 #define IDirect3DRMDevice3_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
637 #define IDirect3DRMDevice3_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
638 #define IDirect3DRMDevice3_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
639 #define IDirect3DRMDevice3_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
640 #define IDirect3DRMDevice3_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
641 #define IDirect3DRMDevice3_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
642 #define IDirect3DRMDevice3_GetDither(p) (p)->lpVtbl->GetDither(p)
643 #define IDirect3DRMDevice3_GetShades(p) (p)->lpVtbl->GetShades(p)
644 #define IDirect3DRMDevice3_GetHeight(p) (p)->lpVtbl->GetHeight(p)
645 #define IDirect3DRMDevice3_GetWidth(p) (p)->lpVtbl->GetWidth(p)
646 #define IDirect3DRMDevice3_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
647 #define IDirect3DRMDevice3_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
648 #define IDirect3DRMDevice3_GetQuality(p) (p)->lpVtbl->GetQuality(p)
649 #define IDirect3DRMDevice3_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
650 #define IDirect3DRMDevice3_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
651 #define IDirect3DRMDevice3_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
652 /*** IDirect3DRMDevice2 methods ***/
653 #define IDirect3DRMDevice3_InitFromD3D2(p,a,b) (p)->lpVtbl->InitFromD3D2(p,a,b)
654 #define IDirect3DRMDevice3_InitFromSurface(p,a,b,c) (p)->lpVtbl->InitFromSurface(p,a,b,c)
655 #define IDirect3DRMDevice3_SetRenderMode(p,a) (p)->lpVtbl->SetRenderMode(p,a)
656 #define IDirect3DRMDevice3_GetRenderMode(p) (p)->lpVtbl->GetRenderMode(p)
657 #define IDirect3DRMDevice3_GetDirect3DDevice2(p,a) (p)->lpVtbl->GetDirect3DDevice2(p,a)
658 /*** IDirect3DRMDevice3 methods ***/
659 #define IDirect3DRMDevice3_FindPreferredTextureFormat(p,a,b,c) (p)->lpVtbl->FindPreferredTextureFormat(p,a,b)
660 #define IDirect3DRMDevice3_RenderStateChange(p,a,b,c) (p)->lpVtbl->RenderStateChange(p,a,b)
661 #define IDirect3DRMDevice3_LightStateChange(p,a,b,c) (p)->lpVtbl->LightStateChange(p,a,b)
662 #define IDirect3DRMDevice3_GetStateChangeOptions(p,a,b,c) (p)->lpVtbl->GetStateChangeOptions(p,a,b)
663 #define IDirect3DRMDevice3_SetStateChangeOptions(p,a,b,c) (p)->lpVtbl->SetStateChangeOptions(p,a,b)
665 /*** IUnknown methods ***/
666 #define IDirect3DRMDevice3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
667 #define IDirect3DRMDevice3_AddRef(p) (p)->AddRef()
668 #define IDirect3DRMDevice3_Release(p) (p)->Release()
669 /*** IDirect3DRMObject methods ***/
670 #define IDirect3DRMDevice3_Clone(p,a,b,c) (p)->Clone(a,b,c)
671 #define IDirect3DRMDevice3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
672 #define IDirect3DRMDevice3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
673 #define IDirect3DRMDevice3_SetAppData(p,a) (p)->SetAppData(a)
674 #define IDirect3DRMDevice3_GetAppData(p) (p)->GetAppData()
675 #define IDirect3DRMDevice3_SetName(p,a) (p)->SetName(a)
676 #define IDirect3DRMDevice3_GetName(p,a,b) (p)->GetName(a,b)
677 #define IDirect3DRMDevice3_GetClassName(p,a,b) (p)->GetClassName(a,b)
678 /*** IDirect3DRMDevice methods ***/
679 #define IDirect3DRMDevice3_Init(p,a,b) (p)->Init(p,a,b)
680 #define IDirect3DRMDevice3_InitFromD3D(p,a,b) (p)->InitFromD3D(p,a,b)
681 #define IDirect3DRMDevice3_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(p,a,b,c,d)
682 #define IDirect3DRMDevice3_Update(p) (p)->Update(p)
683 #define IDirect3DRMDevice3_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(p,a,b)
684 #define IDirect3DRMDevice3_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(p,a,b,c)
685 #define IDirect3DRMDevice3_SetBufferCount(p,a) (p)->SetBufferCount(p,a)
686 #define IDirect3DRMDevice3_GetBufferCount(p) (p)->GetBufferCount(p)
687 #define IDirect3DRMDevice3_SetDither(p,a) (p)->SetDither(p,a)
688 #define IDirect3DRMDevice3_SetShades(p,a) (p)->SetShades(p,a)
689 #define IDirect3DRMDevice3_SetQuality(p,a) (p)->SetQuality(p,a)
690 #define IDirect3DRMDevice3_SetTextureQuality(p,a) (p)->SetTextureQuality(p,a)
691 #define IDirect3DRMDevice3_GetViewports(p,a) (p)->GetViewports(p,a)
692 #define IDirect3DRMDevice3_GetDither(p) (p)->GetDither(p)
693 #define IDirect3DRMDevice3_GetShades(p) (p)->GetShades(p)
694 #define IDirect3DRMDevice3_GetHeight(p) (p)->GetHeight(p)
695 #define IDirect3DRMDevice3_GetWidth(p) (p)->GetWidth(p)
696 #define IDirect3DRMDevice3_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn(p)
697 #define IDirect3DRMDevice3_GetWireframeOptions(p) (p)->GetWireframeOptions(p)
698 #define IDirect3DRMDevice3_GetQuality(p) (p)->GetQuality(p)
699 #define IDirect3DRMDevice3_GetColorModel(p) (p)->GetColorModel(p)
700 #define IDirect3DRMDevice3_GetTextureQuality(p) (p)->GetTextureQuality(p)
701 #define IDirect3DRMDevice3_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(p,a)
702 /*** IDirect3DRMDevice2 methods ***/
703 #define IDirect3DRMDevice3_InitFromD3D2(p,a,b) (p)->InitFromD3D2(a,b)
704 #define IDirect3DRMDevice3_InitFromSurface(p,a,b,c) (p)->InitFromSurface(a,b,c)
705 #define IDirect3DRMDevice3_SetRenderMode(p,a) (p)->SetRenderMode(a)
706 #define IDirect3DRMDevice3_GetRenderMode(p) (p)->GetRenderMode()
707 #define IDirect3DRMDevice3_GetDirect3DDevice2(p,a) (p)->GetDirect3DDevice2(a)
708 /*** IDirect3DRMDevice3 methods ***/
709 #define IDirect3DRMDevice3_FindPreferredTextureFormat(p,a,b,c) (p)->FindPreferredTextureFormat(a,b,c)
710 #define IDirect3DRMDevice3_RenderStateChange(p,a,b,c) (p)->RenderStateChange(a,b,c)
711 #define IDirect3DRMDevice3_LightStateChange(p,a,b,c) (p)->LightStateChange(a,b,c)
712 #define IDirect3DRMDevice3_GetStateChangeOptions(p,a,b,c) (p)->GetStateChangeOptions(a,b,c)
713 #define IDirect3DRMDevice3_SetStateChangeOptions(p,a,b,c) (p)->SetStateChangeOptions(a,b,c)
716 /*****************************************************************************
717 * IDirect3DRMViewport interface
719 #define INTERFACE IDirect3DRMViewport
720 DECLARE_INTERFACE_(IDirect3DRMViewport
,IDirect3DRMObject
)
722 /*** IUnknown methods ***/
723 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
724 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
725 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
726 /*** IDirect3DRMObject methods ***/
727 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
728 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
729 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
730 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
731 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
732 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
733 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
734 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
735 /*** IDirect3DRMViewport methods ***/
736 STDMETHOD(Init
) (THIS_ LPDIRECT3DRMDEVICE dev
, LPDIRECT3DRMFRAME camera
, DWORD xpos
, DWORD ypos
,
737 DWORD width
, DWORD height
) PURE
;
738 STDMETHOD(Clear
)(THIS
) PURE
;
739 STDMETHOD(Render
)(THIS_ LPDIRECT3DRMFRAME
) PURE
;
740 STDMETHOD(SetFront
)(THIS_ D3DVALUE
) PURE
;
741 STDMETHOD(SetBack
)(THIS_ D3DVALUE
) PURE
;
742 STDMETHOD(SetField
)(THIS_ D3DVALUE
) PURE
;
743 STDMETHOD(SetUniformScaling
)(THIS_ BOOL
) PURE
;
744 STDMETHOD(SetCamera
)(THIS_ LPDIRECT3DRMFRAME
) PURE
;
745 STDMETHOD(SetProjection
)(THIS_ D3DRMPROJECTIONTYPE
) PURE
;
746 STDMETHOD(Transform
)(THIS_ D3DRMVECTOR4D
*d
, D3DVECTOR
*s
) PURE
;
747 STDMETHOD(InverseTransform
)(THIS_ D3DVECTOR
*d
, D3DRMVECTOR4D
*s
) PURE
;
748 STDMETHOD(Configure
)(THIS_ LONG x
, LONG y
, DWORD width
, DWORD height
) PURE
;
749 STDMETHOD(ForceUpdate
)(THIS_ DWORD x1
, DWORD y1
, DWORD x2
, DWORD y2
) PURE
;
750 STDMETHOD(SetPlane
)(THIS_ D3DVALUE left
, D3DVALUE right
, D3DVALUE bottom
, D3DVALUE top
) PURE
;
751 STDMETHOD(GetCamera
)(THIS_ LPDIRECT3DRMFRAME
*) PURE
;
752 STDMETHOD(GetDevice
)(THIS_ LPDIRECT3DRMDEVICE
*) PURE
;
753 STDMETHOD(GetPlane
)(THIS_ D3DVALUE
*left
, D3DVALUE
*right
, D3DVALUE
*bottom
, D3DVALUE
*top
) PURE
;
754 STDMETHOD(Pick
)(THIS_ LONG x
, LONG y
, LPDIRECT3DRMPICKEDARRAY
*return_visuals
) PURE
;
755 STDMETHOD_(BOOL
, GetUniformScaling
)(THIS
) PURE
;
756 STDMETHOD_(LONG
, GetX
)(THIS
) PURE
;
757 STDMETHOD_(LONG
, GetY
)(THIS
) PURE
;
758 STDMETHOD_(DWORD
, GetWidth
)(THIS
) PURE
;
759 STDMETHOD_(DWORD
, GetHeight
)(THIS
) PURE
;
760 STDMETHOD_(D3DVALUE
, GetField
)(THIS
) PURE
;
761 STDMETHOD_(D3DVALUE
, GetBack
)(THIS
) PURE
;
762 STDMETHOD_(D3DVALUE
, GetFront
)(THIS
) PURE
;
763 STDMETHOD_(D3DRMPROJECTIONTYPE
, GetProjection
)(THIS
) PURE
;
764 STDMETHOD(GetDirect3DViewport
)(THIS_ LPDIRECT3DVIEWPORT
*) PURE
;
768 #if !defined(__cplusplus) || defined(CINTERFACE)
769 /*** IUnknown methods ***/
770 #define IDirect3DRMViewport_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
771 #define IDirect3DRMViewport_AddRef(p) (p)->lpVtbl->AddRef(p)
772 #define IDirect3DRMViewport_Release(p) (p)->lpVtbl->Release(p)
773 /*** IDirect3DRMObject methods ***/
774 #define IDirect3DRMViewport_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
775 #define IDirect3DRMViewport_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
776 #define IDirect3DRMViewport_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
777 #define IDirect3DRMViewport_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
778 #define IDirect3DRMViewport_GetAppData(p) (p)->lpVtbl->GetAppData(p)
779 #define IDirect3DRMViewport_SetName(p,a) (p)->lpVtbl->SetName(p,a)
780 #define IDirect3DRMViewport_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
781 #define IDirect3DRMViewport_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
782 /*** IDirect3DRMViewport methods ***/
783 #define IDirect3DRMViewport_Init(p,a,b,c,d) (p)->lpVtbl->Init(p,a,b,c,d)
784 #define IDirect3DRMViewport_Clear(p) (p)->lpVtbl->Clear(p)
785 #define IDirect3DRMViewport_Render(p,a) (p)->lpVtbl->Render(p,a)
786 #define IDirect3DRMViewport_SetFront(p,a) (p)->lpVtbl->SetFront(p,a)
787 #define IDirect3DRMViewport_SetBack(p,a) (p)->lpVtbl->(p,a)
788 #define IDirect3DRMViewport_SetField(p,a) (p)->lpVtbl->(p,a)
789 #define IDirect3DRMViewport_SetUniformScaling(p,a) (p)->lpVtbl->SetUniformScaling(p,a)
790 #define IDirect3DRMViewport_SetCamera(p,a) (p)->lpVtbl->SetCamera(p,a)
791 #define IDirect3DRMViewport_SetProjection(p,a) (p)->lpVtbl->SetProjection(p,a)
792 #define IDirect3DRMViewport_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
793 #define IDirect3DRMViewport_InverseTransform(p,a,b) (p)->lpVtbl->(p,a,b)
794 #define IDirect3DRMViewport_Configure(p,a,b,c,d) (p)->lpVtbl->Configure(p,a,b,c,d)
795 #define IDirect3DRMViewport_ForceUpdate(p,a,b,c,d) (p)->lpVtbl->ForceUpdate(p,a,b,c,d)
796 #define IDirect3DRMViewport_SetPlane(p,a,b,c,d) (p)->lpVtbl->SetPlane(p,a,b,c,d)
797 #define IDirect3DRMViewport_GetCamera(p,a) (p)->lpVtbl->(p,a)
798 #define IDirect3DRMViewport_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
799 #define IDirect3DRMViewport_GetPlane(p,a,b,c,d) (p)->lpVtbl->GetPlane(p,a,b,c,d)
800 #define IDirect3DRMViewport_Pick(p,a,b,c) (p)->lpVtbl->Pick(p,a,b,c)
801 #define IDirect3DRMViewport_GetUniformScaling(p) (p)->lpVtbl->GetUniformScaling(p)
802 #define IDirect3DRMViewport_GetX(p) (p)->lpVtbl->GetX(p)
803 #define IDirect3DRMViewport_GetY(p) (p)->lpVtbl->GetY(p)
804 #define IDirect3DRMViewport_GetWidth(p) (p)->lpVtbl->GetWidth(p)
805 #define IDirect3DRMViewport_GetHeight(p) (p)->lpVtbl->GetHeight(p)
806 #define IDirect3DRMViewport_GetField(p) (p)->lpVtbl->GetField(p)
807 #define IDirect3DRMViewport_GetBack(p) (p)->lpVtbl->GetBack(p)
808 #define IDirect3DRMViewport_GetFront(p) (p)->lpVtbl->GetFront(p)
809 #define IDirect3DRMViewport_GetProjection(p) (p)->lpVtbl->GetProjection(p)
810 #define IDirect3DRMViewport_GetDirect3DViewport(p,a) (p)->lpVtbl->GetDirect3DViewport(p,a)
812 /*** IUnknown methods ***/
813 #define IDirect3DRMViewport_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
814 #define IDirect3DRMViewport_AddRef(p) (p)->AddRef()
815 #define IDirect3DRMViewport_Release(p) (p)->Release()
816 /*** IDirect3DRMObject methods ***/
817 #define IDirect3DRMViewport_Clone(p,a,b,c) (p)->Clone(a,b,c)
818 #define IDirect3DRMViewport_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
819 #define IDirect3DRMViewport_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
820 #define IDirect3DRMViewport_SetAppData(p,a) (p)->SetAppData(a)
821 #define IDirect3DRMViewport_GetAppData(p) (p)->GetAppData()
822 #define IDirect3DRMViewport_SetName(p,a) (p)->SetName(a)
823 #define IDirect3DRMViewport_GetName(p,a,b) (p)->GetName(a,b)
824 #define IDirect3DRMViewport_GetClassName(p,a,b) (p)->GetClassName(a,b)
825 /*** IDirect3DRMViewport methods ***/
826 #define IDirect3DRMViewport_Init(p,a,b,c,d) (p)->Init(p,a,b,c,d)
827 #define IDirect3DRMViewport_Clear(p) (p)->Clear(p)
828 #define IDirect3DRMViewport_Render(p,a) (p)->Render(p,a)
829 #define IDirect3DRMViewport_SetFront(p,a) (p)->SetFront(p,a)
830 #define IDirect3DRMViewport_SetBack(p,a) (p)->(p,a)
831 #define IDirect3DRMViewport_SetField(p,a) (p)->(p,a)
832 #define IDirect3DRMViewport_SetUniformScaling(p,a) (p)->SetUniformScaling(p,a)
833 #define IDirect3DRMViewport_SetCamera(p,a) (p)->SetCamera(p,a)
834 #define IDirect3DRMViewport_SetProjection(p,a) (p)->SetProjection(p,a)
835 #define IDirect3DRMViewport_Transform(p,a,b) (p)->Transform(p,a,b)
836 #define IDirect3DRMViewport_InverseTransform(p,a,b) (p)->(p,a,b)
837 #define IDirect3DRMViewport_Configure(p,a,b,c,d) (p)->Configure(p,a,b,c,d)
838 #define IDirect3DRMViewport_ForceUpdate(p,a,b,c,d) (p)->ForceUpdate(p,a,b,c,d)
839 #define IDirect3DRMViewport_SetPlane(p,a,b,c,d) (p)->SetPlane(p,a,b,c,d)
840 #define IDirect3DRMViewport_GetCamera(p,a) (p)->GetCamera(p,a)
841 #define IDirect3DRMViewport_GetDevice(p,a) (p)->GetDevice(p,a)
842 #define IDirect3DRMViewport_GetPlane(p,a,b,c,d) (p)->GetPlane(p,a,b,c,d)
843 #define IDirect3DRMViewport_Pick(p,a,b,c) (p)->Pick(p,a,b,c)
844 #define IDirect3DRMViewport_GetUniformScaling(p) (p)->GetUniformScaling(p)
845 #define IDirect3DRMViewport_GetX(p) (p)->GetX(p)
846 #define IDirect3DRMViewport_GetY(p) (p)->GetY(p)
847 #define IDirect3DRMViewport_GetWidth(p) (p)->GetWidth(p)
848 #define IDirect3DRMViewport_GetHeight(p) (p)->GetHeight(p)
849 #define IDirect3DRMViewport_GetField(p) (p)->GetField(p)
850 #define IDirect3DRMViewport_GetBack(p) (p)->GetBack(p)
851 #define IDirect3DRMViewport_GetFront(p) (p)->GetFront(p)
852 #define IDirect3DRMViewport_GetProjection(p) (p)->GetProjection(p)
853 #define IDirect3DRMViewport_GetDirect3DViewport(p,a) (p)->GetDirect3DViewport(p,a)
856 /*****************************************************************************
857 * IDirect3DRMViewport2 interface
859 #define INTERFACE IDirect3DRMViewport2
860 DECLARE_INTERFACE_(IDirect3DRMViewport2
,IDirect3DRMObject
)
862 /*** IUnknown methods ***/
863 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
864 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
865 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
866 /*** IDirect3DRMObject methods ***/
867 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
868 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
869 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
870 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
871 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
872 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
873 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
874 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
875 /*** IDirect3DRMViewport2 methods ***/
876 STDMETHOD(Init
) (THIS_ LPDIRECT3DRMDEVICE3 dev
, LPDIRECT3DRMFRAME3 camera
, DWORD xpos
, DWORD ypos
,
877 DWORD width
, DWORD height
) PURE
;
878 STDMETHOD(Clear
)(THIS_ DWORD flags
) PURE
;
879 STDMETHOD(Render
)(THIS_ LPDIRECT3DRMFRAME3
) PURE
;
880 STDMETHOD(SetFront
)(THIS_ D3DVALUE
) PURE
;
881 STDMETHOD(SetBack
)(THIS_ D3DVALUE
) PURE
;
882 STDMETHOD(SetField
)(THIS_ D3DVALUE
) PURE
;
883 STDMETHOD(SetUniformScaling
)(THIS_ BOOL
) PURE
;
884 STDMETHOD(SetCamera
)(THIS_ LPDIRECT3DRMFRAME3
) PURE
;
885 STDMETHOD(SetProjection
)(THIS_ D3DRMPROJECTIONTYPE
) PURE
;
886 STDMETHOD(Transform
)(THIS_ D3DRMVECTOR4D
*d
, D3DVECTOR
*s
) PURE
;
887 STDMETHOD(InverseTransform
)(THIS_ D3DVECTOR
*d
, D3DRMVECTOR4D
*s
) PURE
;
888 STDMETHOD(Configure
)(THIS_ LONG x
, LONG y
, DWORD width
, DWORD height
) PURE
;
889 STDMETHOD(ForceUpdate
)(THIS_ DWORD x1
, DWORD y1
, DWORD x2
, DWORD y2
) PURE
;
890 STDMETHOD(SetPlane
)(THIS_ D3DVALUE left
, D3DVALUE right
, D3DVALUE bottom
, D3DVALUE top
) PURE
;
891 STDMETHOD(GetCamera
)(THIS_ LPDIRECT3DRMFRAME3
*) PURE
;
892 STDMETHOD(GetDevice
)(THIS_ LPDIRECT3DRMDEVICE3
*) PURE
;
893 STDMETHOD(GetPlane
)(THIS_ D3DVALUE
*left
, D3DVALUE
*right
, D3DVALUE
*bottom
, D3DVALUE
*top
) PURE
;
894 STDMETHOD(Pick
)(THIS_ LONG x
, LONG y
, LPDIRECT3DRMPICKEDARRAY
*return_visuals
) PURE
;
895 STDMETHOD_(BOOL
, GetUniformScaling
)(THIS
) PURE
;
896 STDMETHOD_(LONG
, GetX
)(THIS
) PURE
;
897 STDMETHOD_(LONG
, GetY
)(THIS
) PURE
;
898 STDMETHOD_(DWORD
, GetWidth
)(THIS
) PURE
;
899 STDMETHOD_(DWORD
, GetHeight
)(THIS
) PURE
;
900 STDMETHOD_(D3DVALUE
, GetField
)(THIS
) PURE
;
901 STDMETHOD_(D3DVALUE
, GetBack
)(THIS
) PURE
;
902 STDMETHOD_(D3DVALUE
, GetFront
)(THIS
) PURE
;
903 STDMETHOD_(D3DRMPROJECTIONTYPE
, GetProjection
)(THIS
) PURE
;
904 STDMETHOD(GetDirect3DViewport
)(THIS_ LPDIRECT3DVIEWPORT
*) PURE
;
905 STDMETHOD(TransformVectors
)(THIS_ DWORD NumVectors
, LPD3DRMVECTOR4D pDstVectors
,
906 LPD3DVECTOR pSrcVectors
) PURE
;
907 STDMETHOD(InverseTransformVectors
)(THIS_ DWORD NumVectors
, LPD3DVECTOR pDstVectors
,
908 LPD3DRMVECTOR4D pSrcVectors
) PURE
;
912 #if !defined(__cplusplus) || defined(CINTERFACE)
913 /*** IUnknown methods ***/
914 #define IDirect3DRMViewport2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
915 #define IDirect3DRMViewport2_AddRef(p) (p)->lpVtbl->AddRef(p)
916 #define IDirect3DRMViewport2_Release(p) (p)->lpVtbl->Release(p)
917 /*** IDirect3DRMObject methods ***/
918 #define IDirect3DRMViewport_2Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
919 #define IDirect3DRMViewport2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
920 #define IDirect3DRMViewport2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
921 #define IDirect3DRMViewport2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
922 #define IDirect3DRMViewport2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
923 #define IDirect3DRMViewport2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
924 #define IDirect3DRMViewport2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
925 #define IDirect3DRMViewport2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
926 /*** IDirect3DRMViewport2 methods ***/
927 #define IDirect3DRMViewport2_Init(p,a,b,c,d,e,f) (p)->lpVtbl->Init(p,a,b,c,d,e,f)
928 #define IDirect3DRMViewport2_Clear(p,a) (p)->lpVtbl->Clear(p,a)
929 #define IDirect3DRMViewport2_Render(p,a) (p)->lpVtbl->Render(p,a)
930 #define IDirect3DRMViewport2_SetFront(p,a) (p)->lpVtbl->SetFront(p,a)
931 #define IDirect3DRMViewport2_SetBack(p,a) (p)->lpVtbl->(p,a)
932 #define IDirect3DRMViewport2_SetField(p,a) (p)->lpVtbl->(p,a)
933 #define IDirect3DRMViewport2_SetUniformScaling(p,a) (p)->lpVtbl->SetUniformScaling(p,a)
934 #define IDirect3DRMViewport2_SetCamera(p,a) (p)->lpVtbl->SetCamera(p,a)
935 #define IDirect3DRMViewport2_SetProjection(p,a) (p)->lpVtbl->SetProjection(p,a)
936 #define IDirect3DRMViewport2_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
937 #define IDirect3DRMViewport2_InverseTransform(p,a,b) (p)->lpVtbl->(p,a,b)
938 #define IDirect3DRMViewport2_Configure(p,a,b,c,d) (p)->lpVtbl->Configure(p,a,b,c,d)
939 #define IDirect3DRMViewport2_ForceUpdate(p,a,b,c,d) (p)->lpVtbl->ForceUpdate(p,a,b,c,d)
940 #define IDirect3DRMViewport2_SetPlane(p,a,b,c,d) (p)->lpVtbl->SetPlane(p,a,b,c,d)
941 #define IDirect3DRMViewport2_GetCamera(p,a) (p)->lpVtbl->(p,a)
942 #define IDirect3DRMViewport2_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
943 #define IDirect3DRMViewport2_GetPlane(p,a,b,c,d) (p)->lpVtbl->GetPlane(p,a,b,c,d)
944 #define IDirect3DRMViewport2_Pick(p,a,b,c) (p)->lpVtbl->Pick(p,a,b,c)
945 #define IDirect3DRMViewport2_GetUniformScaling(p) (p)->lpVtbl->GetUniformScaling(p)
946 #define IDirect3DRMViewport2_GetX(p) (p)->lpVtbl->GetX(p)
947 #define IDirect3DRMViewport2_GetY(p) (p)->lpVtbl->GetY(p)
948 #define IDirect3DRMViewport2_GetWidth(p) (p)->lpVtbl->GetWidth(p)
949 #define IDirect3DRMViewport2_GetHeight(p) (p)->lpVtbl->GetHeight(p)
950 #define IDirect3DRMViewport2_GetField(p) (p)->lpVtbl->GetField(p)
951 #define IDirect3DRMViewport2_GetBack(p) (p)->lpVtbl->GetBack(p)
952 #define IDirect3DRMViewport2_GetFront(p) (p)->lpVtbl->GetFront(p)
953 #define IDirect3DRMViewport2_GetProjection(p) (p)->lpVtbl->GetProjection(p)
954 #define IDirect3DRMViewport2_GetDirect3DViewport(p,a) (p)->lpVtbl->GetDirect3DViewport(p,a)
955 #define IDirect3DRMViewport2_TransformVectors(p,a,b,c) (p)->lpVtbl->TransformVectors(p,a,b,c)
956 #define IDirect3DRMViewport2_InverseTransformVectors(p,a,b,c) (p)->lpVtbl->InverseTransformVectors(p,ab,c)
958 /*** IUnknown methods ***/
959 #define IDirect3DRMViewport2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
960 #define IDirect3DRMViewport2_AddRef(p) (p)->AddRef()
961 #define IDirect3DRMViewport2_Release(p) (p)->Release()
962 /*** IDirect3DRMObject methods ***/
963 #define IDirect3DRMViewport2_Clone(p,a,b,c) (p)->Clone(a,b,c)
964 #define IDirect3DRMViewport2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
965 #define IDirect3DRMViewport2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
966 #define IDirect3DRMViewport2_SetAppData(p,a) (p)->SetAppData(a)
967 #define IDirect3DRMViewport2_GetAppData(p) (p)->GetAppData()
968 #define IDirect3DRMViewport2_SetName(p,a) (p)->SetName(a)
969 #define IDirect3DRMViewport2_GetName(p,a,b) (p)->GetName(a,b)
970 #define IDirect3DRMViewport2_GetClassName(p,a,b) (p)->GetClassName(a,b)
971 /*** IDirect3DRMViewport2 methods ***/
972 #define IDirect3DRMViewport2_Init(p,a,b,c,d) (p)->Init(p,a,b,c,d)
973 #define IDirect3DRMViewport2_Clear(p) (p)->Clear(p)
974 #define IDirect3DRMViewport2_Render(p,a) (p)->Render(p,a)
975 #define IDirect3DRMViewport2_SetFront(p,a) (p)->SetFront(p,a)
976 #define IDirect3DRMViewport2_SetBack(p,a) (p)->(p,a)
977 #define IDirect3DRMViewport2_SetField(p,a) (p)->(p,a)
978 #define IDirect3DRMViewport2_SetUniformScaling(p,a) (p)->SetUniformScaling(p,a)
979 #define IDirect3DRMViewport2_SetCamera(p,a) (p)->SetCamera(p,a)
980 #define IDirect3DRMViewport2_SetProjection(p,a) (p)->SetProjection(p,a)
981 #define IDirect3DRMViewport2_Transform(p,a,b) (p)->Transform(p,a,b)
982 #define IDirect3DRMViewport2_InverseTransform(p,a,b) (p)->(p,a,b)
983 #define IDirect3DRMViewport2_Configure(p,a,b,c,d) (p)->Configure(p,a,b,c,d)
984 #define IDirect3DRMViewport2_ForceUpdate(p,a,b,c,d) (p)->ForceUpdate(p,a,b,c,d)
985 #define IDirect3DRMViewport2_SetPlane(p,a,b,c,d) (p)->SetPlane(p,a,b,c,d)
986 #define IDirect3DRMViewport2_GetCamera(p,a) (p)->GetCamera(p,a)
987 #define IDirect3DRMViewport2_GetDevice(p,a) (p)->GetDevice(p,a)
988 #define IDirect3DRMViewport2_GetPlane(p,a,b,c,d) (p)->GetPlane(p,a,b,c,d)
989 #define IDirect3DRMViewport2_Pick(p,a,b,c) (p)->Pick(p,a,b,c)
990 #define IDirect3DRMViewport2_GetUniformScaling(p) (p)->GetUniformScaling(p)
991 #define IDirect3DRMViewport2_GetX(p) (p)->GetX(p)
992 #define IDirect3DRMViewport2_GetY(p) (p)->GetY(p)
993 #define IDirect3DRMViewport2_GetWidth(p) (p)->GetWidth(p)
994 #define IDirect3DRMViewport2_GetHeight(p) (p)->GetHeight(p)
995 #define IDirect3DRMViewport2_GetField(p) (p)->GetField(p)
996 #define IDirect3DRMViewport2_GetBack(p) (p)->GetBack(p)
997 #define IDirect3DRMViewport2_GetFront(p) (p)->GetFront(p)
998 #define IDirect3DRMViewport2_GetProjection(p) (p)->GetProjection(p)
999 #define IDirect3DRMViewport2_GetDirect3DViewport(p,a) (p)->GetDirect3DViewport(p,a)
1000 #define IDirect3DRMViewport2_TransformVectors(p,a,b,c) (p)->TransformVectors(a,b,c)
1001 #define IDirect3DRMViewport2_InverseTransformVectors(p,a,b,c) (p)->InverseTransformVectors(ab,c)
1004 /*****************************************************************************
1005 * IDirect3DRMFrame interface
1007 #define INTERFACE IDirect3DRMFrame
1008 DECLARE_INTERFACE_(IDirect3DRMFrame
,IDirect3DRMVisual
)
1010 /*** IUnknown methods ***/
1011 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
1012 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
1013 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
1014 /*** IDirect3DRMObject methods ***/
1015 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
1016 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
1017 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
1018 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
1019 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
1020 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
1021 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
1022 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
1023 /*** IDirect3DRMFrame methods ***/
1024 STDMETHOD(AddChild
)(THIS_ LPDIRECT3DRMFRAME child
) PURE
;
1025 STDMETHOD(AddLight
)(THIS_ LPDIRECT3DRMLIGHT
) PURE
;
1026 STDMETHOD(AddMoveCallback
)(THIS_ D3DRMFRAMEMOVECALLBACK
, VOID
*arg
) PURE
;
1027 STDMETHOD(AddTransform
)(THIS_ D3DRMCOMBINETYPE
, D3DRMMATRIX4D
) PURE
;
1028 STDMETHOD(AddTranslation
)(THIS_ D3DRMCOMBINETYPE
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
) PURE
;
1029 STDMETHOD(AddScale
)(THIS_ D3DRMCOMBINETYPE
, D3DVALUE sx
, D3DVALUE sy
, D3DVALUE sz
) PURE
;
1030 STDMETHOD(AddRotation
)(THIS_ D3DRMCOMBINETYPE
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
, D3DVALUE theta
) PURE
;
1031 STDMETHOD(AddVisual
)(THIS_ LPDIRECT3DRMVISUAL
) PURE
;
1032 STDMETHOD(GetChildren
)(THIS_ LPDIRECT3DRMFRAMEARRAY
*children
) PURE
;
1033 STDMETHOD_(D3DCOLOR
, GetColor
)(THIS
) PURE
;
1034 STDMETHOD(GetLights
)(THIS_ LPDIRECT3DRMLIGHTARRAY
*lights
) PURE
;
1035 STDMETHOD_(D3DRMMATERIALMODE
, GetMaterialMode
)(THIS
) PURE
;
1036 STDMETHOD(GetParent
)(THIS_ LPDIRECT3DRMFRAME
*) PURE
;
1037 STDMETHOD(GetPosition
)(THIS_ LPDIRECT3DRMFRAME reference
, LPD3DVECTOR return_position
) PURE
;
1038 STDMETHOD(GetRotation
)(THIS_ LPDIRECT3DRMFRAME reference
, LPD3DVECTOR axis
, LPD3DVALUE return_theta
) PURE
;
1039 STDMETHOD(GetScene
)(THIS_ LPDIRECT3DRMFRAME
*) PURE
;
1040 STDMETHOD_(D3DRMSORTMODE
, GetSortMode
)(THIS
) PURE
;
1041 STDMETHOD(GetTexture
)(THIS_ LPDIRECT3DRMTEXTURE
*) PURE
;
1042 STDMETHOD(GetTransform
)(THIS_ D3DRMMATRIX4D return_matrix
) PURE
;
1043 STDMETHOD(GetVelocity
)(THIS_ LPDIRECT3DRMFRAME reference
, LPD3DVECTOR return_velocity
, BOOL with_rotation
) PURE
;
1044 STDMETHOD(GetOrientation
)(THIS_ LPDIRECT3DRMFRAME reference
, LPD3DVECTOR dir
, LPD3DVECTOR up
) PURE
;
1045 STDMETHOD(GetVisuals
)(THIS_ LPDIRECT3DRMVISUALARRAY
*visuals
) PURE
;
1046 STDMETHOD(GetTextureTopology
)(THIS_ BOOL
*wrap_u
, BOOL
*wrap_v
) PURE
;
1047 STDMETHOD(InverseTransform
)(THIS_ D3DVECTOR
*d
, D3DVECTOR
*s
) PURE
;
1048 STDMETHOD(Load
)(THIS_ LPVOID filename
, LPVOID name
, D3DRMLOADOPTIONS loadflags
, D3DRMLOADTEXTURECALLBACK
,
1050 STDMETHOD(LookAt
)(THIS_ LPDIRECT3DRMFRAME target
, LPDIRECT3DRMFRAME reference
, D3DRMFRAMECONSTRAINT
) PURE
;
1051 STDMETHOD(Move
)(THIS_ D3DVALUE delta
) PURE
;
1052 STDMETHOD(DeleteChild
)(THIS_ LPDIRECT3DRMFRAME
) PURE
;
1053 STDMETHOD(DeleteLight
)(THIS_ LPDIRECT3DRMLIGHT
) PURE
;
1054 STDMETHOD(DeleteMoveCallback
)(THIS_ D3DRMFRAMEMOVECALLBACK
, VOID
*arg
) PURE
;
1055 STDMETHOD(DeleteVisual
)(THIS_ LPDIRECT3DRMVISUAL
) PURE
;
1056 STDMETHOD_(D3DCOLOR
, GetSceneBackground
)(THIS
) PURE
;
1057 STDMETHOD(GetSceneBackgroundDepth
)(THIS_ LPDIRECTDRAWSURFACE
*) PURE
;
1058 STDMETHOD_(D3DCOLOR
, GetSceneFogColor
)(THIS
) PURE
;
1059 STDMETHOD_(BOOL
, GetSceneFogEnable
)(THIS
) PURE
;
1060 STDMETHOD_(D3DRMFOGMODE
, GetSceneFogMode
)(THIS
) PURE
;
1061 STDMETHOD(GetSceneFogParams
)(THIS_ D3DVALUE
*return_start
, D3DVALUE
*return_end
, D3DVALUE
*return_density
) PURE
;
1062 STDMETHOD(SetSceneBackground
)(THIS_ D3DCOLOR
) PURE
;
1063 STDMETHOD(SetSceneBackgroundRGB
)(THIS_ D3DVALUE red
, D3DVALUE green
, D3DVALUE blue
) PURE
;
1064 STDMETHOD(SetSceneBackgroundDepth
)(THIS_ LPDIRECTDRAWSURFACE
) PURE
;
1065 STDMETHOD(SetSceneBackgroundImage
)(THIS_ LPDIRECT3DRMTEXTURE
) PURE
;
1066 STDMETHOD(SetSceneFogEnable
)(THIS_ BOOL
) PURE
;
1067 STDMETHOD(SetSceneFogColor
)(THIS_ D3DCOLOR
) PURE
;
1068 STDMETHOD(SetSceneFogMode
)(THIS_ D3DRMFOGMODE
) PURE
;
1069 STDMETHOD(SetSceneFogParams
)(THIS_ D3DVALUE start
, D3DVALUE end
, D3DVALUE density
) PURE
;
1070 STDMETHOD(SetColor
)(THIS_ D3DCOLOR
) PURE
;
1071 STDMETHOD(SetColorRGB
)(THIS_ D3DVALUE red
, D3DVALUE green
, D3DVALUE blue
) PURE
;
1072 STDMETHOD_(D3DRMZBUFFERMODE
, GetZbufferMode
)(THIS
) PURE
;
1073 STDMETHOD(SetMaterialMode
)(THIS_ D3DRMMATERIALMODE
) PURE
;
1074 STDMETHOD(SetOrientation
)(THIS_ LPDIRECT3DRMFRAME reference
, D3DVALUE dx
, D3DVALUE dy
, D3DVALUE dz
,
1075 D3DVALUE ux
, D3DVALUE uy
, D3DVALUE uz
) PURE
;
1076 STDMETHOD(SetPosition
)(THIS_ LPDIRECT3DRMFRAME reference
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
) PURE
;
1077 STDMETHOD(SetRotation
)(THIS_ LPDIRECT3DRMFRAME reference
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
, D3DVALUE theta
) PURE
;
1078 STDMETHOD(SetSortMode
)(THIS_ D3DRMSORTMODE
) PURE
;
1079 STDMETHOD(SetTexture
)(THIS_ LPDIRECT3DRMTEXTURE
) PURE
;
1080 STDMETHOD(SetTextureTopology
)(THIS_ BOOL wrap_u
, BOOL wrap_v
) PURE
;
1081 STDMETHOD(SetVelocity
)(THIS_ LPDIRECT3DRMFRAME reference
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
, BOOL with_rotation
) PURE
;
1082 STDMETHOD(SetZbufferMode
)(THIS_ D3DRMZBUFFERMODE
) PURE
;
1083 STDMETHOD(Transform
)(THIS_ D3DVECTOR
*d
, D3DVECTOR
*s
) PURE
;
1087 #if !defined(__cplusplus) || defined(CINTERFACE)
1088 /*** IUnknown methods ***/
1089 #define IDirect3DRMFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1090 #define IDirect3DRMFrame_AddRef(p) (p)->lpVtbl->AddRef(p)
1091 #define IDirect3DRMFrame_Release(p) (p)->lpVtbl->Release(p)
1092 /*** IDirect3DRMObject methods ***/
1093 #define IDirect3DRMFrame_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
1094 #define IDirect3DRMFrame_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
1095 #define IDirect3DRMFrame_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
1096 #define IDirect3DRMFrame_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
1097 #define IDirect3DRMFrame_GetAppData(p) (p)->lpVtbl->GetAppData(p)
1098 #define IDirect3DRMFrame_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1099 #define IDirect3DRMFrame_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
1100 #define IDirect3DRMFrame_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
1101 /*** IDirect3DRMFrame methods ***/
1102 #define IDirect3DRMFrame_AddChild(p,a) (p)->lpVtbl->AddChild(p,a)
1103 #define IDirect3DRMFrame_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
1104 #define IDirect3DRMFrame_AddMoveCallback(p,a,b) (p)->lpVtbl->AddMoveCallback(p,a,b)
1105 #define IDirect3DRMFrame_AddTransform(p,a,b) (p)->lpVtbl->AddTransform(p,a,b)
1106 #define IDirect3DRMFrame_AddTranslation(p,a,b,c,d) (p)->lpVtbl->AddTranslation(p,a,b,c,d)
1107 #define IDirect3DRMFrame_AddScale(p,a,b,c,d) (p)->lpVtbl->AddScale(p,a,b,c,d)
1108 #define IDirect3DRMFrame_AddRotation(p,a,b,c,d,e) (p)->lpVtbl->AddRotation(p,a,b,c,d,e)
1109 #define IDirect3DRMFrame_AddVisual(p,a) (p)->lpVtbl->AddVisual(p,a)
1110 #define IDirect3DRMFrame_GetChildren(p,a) (p)->lpVtbl->GetChildren(p,a)
1111 #define IDirect3DRMFrame_GetColor(p) (p)->lpVtbl->GetColor(p)
1112 #define IDirect3DRMFrame_GetLights(p,a) (p)->lpVtbl->GetLights(p,a)
1113 #define IDirect3DRMFrame_GetMaterialMode(p) (p)->lpVtbl->GetMaterialMode(p)
1114 #define IDirect3DRMFrame_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
1115 #define IDirect3DRMFrame_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
1116 #define IDirect3DRMFrame_GetRotation(p,a,b,c) (p)->lpVtbl->GetRotation(p,a,b,c)
1117 #define IDirect3DRMFrame_GetScene(p,a) (p)->lpVtbl->GetScene(p,a)
1118 #define IDirect3DRMFrame_GetSortMode(p) (p)->lpVtbl->GetSortMode(p)
1119 #define IDirect3DRMFrame_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
1120 #define IDirect3DRMFrame_GetTransform(p,a) (p)->lpVtbl->GetTransform(p,a)
1121 #define IDirect3DRMFrame_GetVelocity(p,a,b,c) (p)->lpVtbl->GetVelocity(p,a,b,c)
1122 #define IDirect3DRMFrame_GetOrientation(p,a,b,c) (p)->lpVtbl->GetOrientation(p,a,b,c)
1123 #define IDirect3DRMFrame_GetVisuals(p,a) (p)->lpVtbl->GetVisuals(p,a)
1124 #define IDirect3DRMFrame_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
1125 #define IDirect3DRMFrame_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
1126 #define IDirect3DRMFrame_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
1127 #define IDirect3DRMFrame_LookAt(p,a,b,c) (p)->lpVtbl->LookAt(p,a,b,c)
1128 #define IDirect3DRMFrame_Move(p,a) (p)->lpVtbl->Move(p,a)
1129 #define IDirect3DRMFrame_DeleteChild(p,a) (p)->lpVtbl->DeleteChild(p,a)
1130 #define IDirect3DRMFrame_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
1131 #define IDirect3DRMFrame_DeleteMoveCallback(p,a,b) (p)->lpVtbl->DeleteMoveCallback(p,a,b)
1132 #define IDirect3DRMFrame_DeleteVisual(p,a) (p)->lpVtbl->DeleteVisual(p,a)
1133 #define IDirect3DRMFrame_GetSceneBackground(p) (p)->lpVtbl->GetSceneBackground(p)
1134 #define IDirect3DRMFrame_GetSceneBackgroundDepth(p,a) (p)->lpVtbl->GetSceneBackgroundDepth(p,a)
1135 #define IDirect3DRMFrame_GetSceneFogColor(p) (p)->lpVtbl->GetSceneFogColor(p)
1136 #define IDirect3DRMFrame_GetSceneFogEnable(p) (p)->lpVtbl->GetSceneFogEnable(p)
1137 #define IDirect3DRMFrame_GetSceneFogMode(p) (p)->lpVtbl->GetSceneFogMode(p)
1138 #define IDirect3DRMFrame_GetSceneFogParams(p,a,b,c) (p)->lpVtbl->GetSceneFogParams(p,a,b,c)
1139 #define IDirect3DRMFrame_SetSceneBackground(p,a) (p)->lpVtbl->SetSceneBackground(p,a)
1140 #define IDirect3DRMFrame_SetSceneBackgroundRGB(p,a,b,c) (p)->lpVtbl->SetSceneBackgroundRGB(p,a,b,c)
1141 #define IDirect3DRMFrame_SetSceneBackgroundDepth(p,a) (p)->lpVtbl->SetSceneBackgroundDepth(p,a)
1142 #define IDirect3DRMFrame_SetSceneBackgroundImage(p,a) (p)->lpVtbl->SetSceneBackgroundImage(p,a)
1143 #define IDirect3DRMFrame_SetSceneFogEnable(p,a) (p)->lpVtbl->SetSceneFogEnable(p,a)
1144 #define IDirect3DRMFrame_SetSceneFogColor(p,a) (p)->lpVtbl->SetSceneFogColor(p,a)
1145 #define IDirect3DRMFrame_SetSceneFogMode(p,a) (p)->lpVtbl->SetSceneFogMode(p,a)
1146 #define IDirect3DRMFrame_SetSceneFogParams(p,a,b,c) (p)->lpVtbl->SetSceneFogParams(p,a,b,c)
1147 #define IDirect3DRMFrame_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
1148 #define IDirect3DRMFrame_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
1149 #define IDirect3DRMFrame_GetZbufferMode(p) (p)->lpVtbl->GetZbufferMode(p)
1150 #define IDirect3DRMFrame_SetMaterialMode(p,a) (p)->lpVtbl->SetMaterialMode(p,a)
1151 #define IDirect3DRMFrame_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
1152 #define IDirect3DRMFrame_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
1153 #define IDirect3DRMFrame_SetRotation(p,a,b,c,d,e) (p)->lpVtbl->SetRotation(p,a,b,c,d,e)
1154 #define IDirect3DRMFrame_SetSortMode(p,a) (p)->lpVtbl->SetSortMode(p,a)
1155 #define IDirect3DRMFrame_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
1156 #define IDirect3DRMFrame_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
1157 #define IDirect3DRMFrame_SetVelocity(p,a,b,c,d,e) (p)->lpVtbl->SetVelocity(p,a,b,c,d,e)
1158 #define IDirect3DRMFrame_SetZbufferMode(p,a) (p)->lpVtbl->SetZbufferMode(p,a)
1159 #define IDirect3DRMFrame_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
1161 /*** IUnknown methods ***/
1162 #define IDirect3DRMFrame_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1163 #define IDirect3DRMFrame_AddRef(p) (p)->AddRef()
1164 #define IDirect3DRMFrame_Release(p) (p)->Release()
1165 /*** IDirect3DRMObject methods ***/
1166 #define IDirect3DRMFrame_Clone(p,a,b,c) (p)->Clone(a,b,c)
1167 #define IDirect3DRMFrame_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
1168 #define IDirect3DRMFrame_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
1169 #define IDirect3DRMFrame_SetAppData(p,a) (p)->SetAppData(a)
1170 #define IDirect3DRMFrame_GetAppData(p) (p)->GetAppData()
1171 #define IDirect3DRMFrame_SetName(p,a) (p)->SetName(a)
1172 #define IDirect3DRMFrame_GetName(p,a,b) (p)->GetName(a,b)
1173 #define IDirect3DRMFrame_GetClassName(p,a,b) (p)->GetClassName(a,b)
1174 /*** IDirect3DRMFrame methods ***/
1175 #define IDirect3DRMFrame_AddChild(p,a) (p)->AddChild(a)
1176 #define IDirect3DRMFrame_AddLight(p,a) (p)->AddLight(a)
1177 #define IDirect3DRMFrame_AddMoveCallback(p,a,b) (p)->AddMoveCallback(a,b)
1178 #define IDirect3DRMFrame_AddTransform(p,a,b) (p)->AddTransform(a,b)
1179 #define IDirect3DRMFrame_AddTranslation(p,a,b,c,d) (p)->AddTranslation(a,b,c,d)
1180 #define IDirect3DRMFrame_AddScale(p,a,b,c,d) (p)->AddScale(a,b,c,d)
1181 #define IDirect3DRMFrame_AddRotation(p,a,b,c,d,e) (p)->AddRotation(a,b,c,d,e)
1182 #define IDirect3DRMFrame_AddVisual(p,a) (p)->AddVisual(a)
1183 #define IDirect3DRMFrame_GetChildren(p,a) (p)->GetChildren(a)
1184 #define IDirect3DRMFrame_GetColor(p) (p)->GetColor()
1185 #define IDirect3DRMFrame_GetLights(p,a) (p)->GetLights(a)
1186 #define IDirect3DRMFrame_GetMaterialMode(p) (p)->GetMaterialMode()
1187 #define IDirect3DRMFrame_GetParent(p,a) (p)->GetParent(a)
1188 #define IDirect3DRMFrame_GetPosition(p,a,b) (p)->GetPosition(a,b)
1189 #define IDirect3DRMFrame_GetRotation(p,a,b,c) (p)->GetRotation(a,b,c)
1190 #define IDirect3DRMFrame_GetScene(p,a) (p)->GetScene(a)
1191 #define IDirect3DRMFrame_GetSortMode(p) (p)->GetSortMode()
1192 #define IDirect3DRMFrame_GetTexture(p,a) (p)->GetTexture(a)
1193 #define IDirect3DRMFrame_GetTransform(p,a) (p)->GetTransform(a)
1194 #define IDirect3DRMFrame_GetVelocity(p,a,b,c) (p)->GetVelocity(a,b,c)
1195 #define IDirect3DRMFrame_GetOrientation(p,a,b,c) (p)->GetOrientation(a,b,c)
1196 #define IDirect3DRMFrame_GetVisuals(p,a) (p)->GetVisuals(a)
1197 #define IDirect3DRMFrame_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
1198 #define IDirect3DRMFrame_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
1199 #define IDirect3DRMFrame_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
1200 #define IDirect3DRMFrame_LookAt(p,a,b,c) (p)->LookAt(a,b,c)
1201 #define IDirect3DRMFrame_Move(p,a) (p)->Move(a)
1202 #define IDirect3DRMFrame_DeleteChild(p,a) (p)->DeleteChild(a)
1203 #define IDirect3DRMFrame_DeleteLight(p,a) (p)->DeleteLight(a)
1204 #define IDirect3DRMFrame_DeleteMoveCallback(p,a,b) (p)->DeleteMoveCallback(a,b)
1205 #define IDirect3DRMFrame_DeleteVisual(p,a) (p)->DeleteVisual(a)
1206 #define IDirect3DRMFrame_GetSceneBackground(p) (p)->GetSceneBackground()
1207 #define IDirect3DRMFrame_GetSceneBackgroundDepth(p,a) (p)->GetSceneBackgroundDepth(a)
1208 #define IDirect3DRMFrame_GetSceneFogColor(p) (p)->GetSceneFogColor()
1209 #define IDirect3DRMFrame_GetSceneFogEnable(p) (p)->GetSceneFogEnable()
1210 #define IDirect3DRMFrame_GetSceneFogMode(p) (p)->GetSceneFogMode()
1211 #define IDirect3DRMFrame_GetSceneFogParams(p,a,b,c) (p)->GetSceneFogParams(a,b,c)
1212 #define IDirect3DRMFrame_SetSceneBackground(p,a) (p)->SetSceneBackground(a)
1213 #define IDirect3DRMFrame_SetSceneBackgroundRGB(p,a,b,c) (p)->SetSceneBackgroundRGB(a,b,c)
1214 #define IDirect3DRMFrame_SetSceneBackgroundDepth(p,a) (p)->SetSceneBackgroundDepth(a)
1215 #define IDirect3DRMFrame_SetSceneBackgroundImage(p,a) (p)->SetSceneBackgroundImage(a)
1216 #define IDirect3DRMFrame_SetSceneFogEnable(p,a) (p)->SetSceneFogEnable(a)
1217 #define IDirect3DRMFrame_SetSceneFogColor(p,a) (p)->SetSceneFogColor(a)
1218 #define IDirect3DRMFrame_SetSceneFogMode(p,a) (p)->SetSceneFogMode(a)
1219 #define IDirect3DRMFrame_SetSceneFogParams(p,a,b,c) (p)->SetSceneFogParams(a,b,c)
1220 #define IDirect3DRMFrame_SetColor(p,a) (p)->SetColor(a)
1221 #define IDirect3DRMFrame_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
1222 #define IDirect3DRMFrame_GetZbufferMode(p) (p)->GetZbufferMode()
1223 #define IDirect3DRMFrame_SetMaterialMode(p,a) (p)->SetMaterialMode(a)
1224 #define IDirect3DRMFrame_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
1225 #define IDirect3DRMFrame_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
1226 #define IDirect3DRMFrame_SetRotation(p,a,b,c,d,e) (p)->SetRotation(a,b,c,d,e)
1227 #define IDirect3DRMFrame_SetSortMode(p,a) (p)->SetSortMode(a)
1228 #define IDirect3DRMFrame_SetTexture(p,a) (p)->SetTexture(a)
1229 #define IDirect3DRMFrame_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
1230 #define IDirect3DRMFrame_SetVelocity(p,a,b,c,d,e) (p)->SetVelocity(a,b,c,d,e)
1231 #define IDirect3DRMFrame_SetZbufferMode(p,a) (p)->SetZbufferMode(a)
1232 #define IDirect3DRMFrame_Transform(p,a,b) (p)->Transform(a,b)
1235 /*****************************************************************************
1236 * IDirect3DRMFrame2 interface
1238 #define INTERFACE IDirect3DRMFrame2
1239 DECLARE_INTERFACE_(IDirect3DRMFrame2
,IDirect3DRMFrame
)
1241 /*** IUnknown methods ***/
1242 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
1243 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
1244 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
1245 /*** IDirect3DRMObject methods ***/
1246 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
1247 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
1248 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
1249 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
1250 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
1251 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
1252 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
1253 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
1254 /*** IDirect3DRMFrame methods ***/
1255 STDMETHOD(AddChild
)(THIS_ LPDIRECT3DRMFRAME child
) PURE
;
1256 STDMETHOD(AddLight
)(THIS_ LPDIRECT3DRMLIGHT
) PURE
;
1257 STDMETHOD(AddMoveCallback
)(THIS_ D3DRMFRAMEMOVECALLBACK
, VOID
*arg
) PURE
;
1258 STDMETHOD(AddTransform
)(THIS_ D3DRMCOMBINETYPE
, D3DRMMATRIX4D
) PURE
;
1259 STDMETHOD(AddTranslation
)(THIS_ D3DRMCOMBINETYPE
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
) PURE
;
1260 STDMETHOD(AddScale
)(THIS_ D3DRMCOMBINETYPE
, D3DVALUE sx
, D3DVALUE sy
, D3DVALUE sz
) PURE
;
1261 STDMETHOD(AddRotation
)(THIS_ D3DRMCOMBINETYPE
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
, D3DVALUE theta
) PURE
;
1262 STDMETHOD(AddVisual
)(THIS_ LPDIRECT3DRMVISUAL
) PURE
;
1263 STDMETHOD(GetChildren
)(THIS_ LPDIRECT3DRMFRAMEARRAY
*children
) PURE
;
1264 STDMETHOD_(D3DCOLOR
, GetColor
)(THIS
) PURE
;
1265 STDMETHOD(GetLights
)(THIS_ LPDIRECT3DRMLIGHTARRAY
*lights
) PURE
;
1266 STDMETHOD_(D3DRMMATERIALMODE
, GetMaterialMode
)(THIS
) PURE
;
1267 STDMETHOD(GetParent
)(THIS_ LPDIRECT3DRMFRAME
*) PURE
;
1268 STDMETHOD(GetPosition
)(THIS_ LPDIRECT3DRMFRAME reference
, LPD3DVECTOR return_position
) PURE
;
1269 STDMETHOD(GetRotation
)(THIS_ LPDIRECT3DRMFRAME reference
, LPD3DVECTOR axis
, LPD3DVALUE return_theta
) PURE
;
1270 STDMETHOD(GetScene
)(THIS_ LPDIRECT3DRMFRAME
*) PURE
;
1271 STDMETHOD_(D3DRMSORTMODE
, GetSortMode
)(THIS
) PURE
;
1272 STDMETHOD(GetTexture
)(THIS_ LPDIRECT3DRMTEXTURE
*) PURE
;
1273 STDMETHOD(GetTransform
)(THIS_ D3DRMMATRIX4D return_matrix
) PURE
;
1274 STDMETHOD(GetVelocity
)(THIS_ LPDIRECT3DRMFRAME reference
, LPD3DVECTOR return_velocity
, BOOL with_rotation
) PURE
;
1275 STDMETHOD(GetOrientation
)(THIS_ LPDIRECT3DRMFRAME reference
, LPD3DVECTOR dir
, LPD3DVECTOR up
) PURE
;
1276 STDMETHOD(GetVisuals
)(THIS_ LPDIRECT3DRMVISUALARRAY
*visuals
) PURE
;
1277 STDMETHOD(GetTextureTopology
)(THIS_ BOOL
*wrap_u
, BOOL
*wrap_v
) PURE
;
1278 STDMETHOD(InverseTransform
)(THIS_ D3DVECTOR
*d
, D3DVECTOR
*s
) PURE
;
1279 STDMETHOD(Load
)(THIS_ LPVOID filename
, LPVOID name
, D3DRMLOADOPTIONS loadflags
, D3DRMLOADTEXTURECALLBACK
,
1281 STDMETHOD(LookAt
)(THIS_ LPDIRECT3DRMFRAME target
, LPDIRECT3DRMFRAME reference
, D3DRMFRAMECONSTRAINT
) PURE
;
1282 STDMETHOD(Move
)(THIS_ D3DVALUE delta
) PURE
;
1283 STDMETHOD(DeleteChild
)(THIS_ LPDIRECT3DRMFRAME
) PURE
;
1284 STDMETHOD(DeleteLight
)(THIS_ LPDIRECT3DRMLIGHT
) PURE
;
1285 STDMETHOD(DeleteMoveCallback
)(THIS_ D3DRMFRAMEMOVECALLBACK
, VOID
*arg
) PURE
;
1286 STDMETHOD(DeleteVisual
)(THIS_ LPDIRECT3DRMVISUAL
) PURE
;
1287 STDMETHOD_(D3DCOLOR
, GetSceneBackground
)(THIS
) PURE
;
1288 STDMETHOD(GetSceneBackgroundDepth
)(THIS_ LPDIRECTDRAWSURFACE
*) PURE
;
1289 STDMETHOD_(D3DCOLOR
, GetSceneFogColor
)(THIS
) PURE
;
1290 STDMETHOD_(BOOL
, GetSceneFogEnable
)(THIS
) PURE
;
1291 STDMETHOD_(D3DRMFOGMODE
, GetSceneFogMode
)(THIS
) PURE
;
1292 STDMETHOD(GetSceneFogParams
)(THIS_ D3DVALUE
*return_start
, D3DVALUE
*return_end
, D3DVALUE
*return_density
) PURE
;
1293 STDMETHOD(SetSceneBackground
)(THIS_ D3DCOLOR
) PURE
;
1294 STDMETHOD(SetSceneBackgroundRGB
)(THIS_ D3DVALUE red
, D3DVALUE green
, D3DVALUE blue
) PURE
;
1295 STDMETHOD(SetSceneBackgroundDepth
)(THIS_ LPDIRECTDRAWSURFACE
) PURE
;
1296 STDMETHOD(SetSceneBackgroundImage
)(THIS_ LPDIRECT3DRMTEXTURE
) PURE
;
1297 STDMETHOD(SetSceneFogEnable
)(THIS_ BOOL
) PURE
;
1298 STDMETHOD(SetSceneFogColor
)(THIS_ D3DCOLOR
) PURE
;
1299 STDMETHOD(SetSceneFogMode
)(THIS_ D3DRMFOGMODE
) PURE
;
1300 STDMETHOD(SetSceneFogParams
)(THIS_ D3DVALUE start
, D3DVALUE end
, D3DVALUE density
) PURE
;
1301 STDMETHOD(SetColor
)(THIS_ D3DCOLOR
) PURE
;
1302 STDMETHOD(SetColorRGB
)(THIS_ D3DVALUE red
, D3DVALUE green
, D3DVALUE blue
) PURE
;
1303 STDMETHOD_(D3DRMZBUFFERMODE
, GetZbufferMode
)(THIS
) PURE
;
1304 STDMETHOD(SetMaterialMode
)(THIS_ D3DRMMATERIALMODE
) PURE
;
1305 STDMETHOD(SetOrientation
)(THIS_ LPDIRECT3DRMFRAME reference
, D3DVALUE dx
, D3DVALUE dy
, D3DVALUE dz
,
1306 D3DVALUE ux
, D3DVALUE uy
, D3DVALUE uz
) PURE
;
1307 STDMETHOD(SetPosition
)(THIS_ LPDIRECT3DRMFRAME reference
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
) PURE
;
1308 STDMETHOD(SetRotation
)(THIS_ LPDIRECT3DRMFRAME reference
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
, D3DVALUE theta
) PURE
;
1309 STDMETHOD(SetSortMode
)(THIS_ D3DRMSORTMODE
) PURE
;
1310 STDMETHOD(SetTexture
)(THIS_ LPDIRECT3DRMTEXTURE
) PURE
;
1311 STDMETHOD(SetTextureTopology
)(THIS_ BOOL wrap_u
, BOOL wrap_v
) PURE
;
1312 STDMETHOD(SetVelocity
)(THIS_ LPDIRECT3DRMFRAME reference
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
, BOOL with_rotation
) PURE
;
1313 STDMETHOD(SetZbufferMode
)(THIS_ D3DRMZBUFFERMODE
) PURE
;
1314 STDMETHOD(Transform
)(THIS_ D3DVECTOR
*d
, D3DVECTOR
*s
) PURE
;
1315 /*** IDirect3DRMFrame2 methods ***/
1316 STDMETHOD(AddMoveCallback2
)(THIS_ D3DRMFRAMEMOVECALLBACK
, VOID
*arg
, DWORD flags
) PURE
;
1317 STDMETHOD(GetBox
)(THIS_ LPD3DRMBOX
) PURE
;
1318 STDMETHOD_(BOOL
, GetBoxEnable
)(THIS
) PURE
;
1319 STDMETHOD(GetAxes
)(THIS_ LPD3DVECTOR dir
, LPD3DVECTOR up
);
1320 STDMETHOD(GetMaterial
)(THIS_ LPDIRECT3DRMMATERIAL
*) PURE
;
1321 STDMETHOD_(BOOL
, GetInheritAxes
)(THIS
);
1322 STDMETHOD(GetHierarchyBox
)(THIS_ LPD3DRMBOX
) PURE
;
1323 STDMETHOD(SetBox
)(THIS_ LPD3DRMBOX
) PURE
;
1324 STDMETHOD(SetBoxEnable
)(THIS_ BOOL
) PURE
;
1325 STDMETHOD(SetAxes
)(THIS_ D3DVALUE dx
, D3DVALUE dy
, D3DVALUE dz
, D3DVALUE ux
, D3DVALUE uy
, D3DVALUE uz
);
1326 STDMETHOD(SetInheritAxes
)(THIS_ BOOL inherit_from_parent
);
1327 STDMETHOD(SetMaterial
)(THIS_ LPDIRECT3DRMMATERIAL
) PURE
;
1328 STDMETHOD(SetQuaternion
)(THIS_ LPDIRECT3DRMFRAME reference
, D3DRMQUATERNION
*q
) PURE
;
1329 STDMETHOD(RayPick
)(THIS_ LPDIRECT3DRMFRAME reference
, LPD3DRMRAY ray
, DWORD flags
,
1330 LPDIRECT3DRMPICKED2ARRAY
*return_visuals
) PURE
;
1331 STDMETHOD(Save
)(THIS_ LPCSTR filename
, D3DRMXOFFORMAT d3dFormat
, D3DRMSAVEOPTIONS d3dSaveFlags
);
1335 #if !defined(__cplusplus) || defined(CINTERFACE)
1336 /*** IUnknown methods ***/
1337 #define IDirect3DRMFrame2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1338 #define IDirect3DRMFrame2_AddRef(p) (p)->lpVtbl->AddRef(p)
1339 #define IDirect3DRMFrame2_Release(p) (p)->lpVtbl->Release(p)
1340 /*** IDirect3DRMObject methods ***/
1341 #define IDirect3DRMFrame2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
1342 #define IDirect3DRMFrame2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
1343 #define IDirect3DRMFrame2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
1344 #define IDirect3DRMFrame2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
1345 #define IDirect3DRMFrame2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
1346 #define IDirect3DRMFrame2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1347 #define IDirect3DRMFrame2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
1348 #define IDirect3DRMFrame2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
1349 /*** IDirect3DRMFrame methods ***/
1350 #define IDirect3DRMFrame2_AddChild(p,a) (p)->lpVtbl->AddChild(p,a)
1351 #define IDirect3DRMFrame2_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
1352 #define IDirect3DRMFrame2_AddMoveCallback(p,a,b) (p)->lpVtbl->AddMoveCallback(p,a,b)
1353 #define IDirect3DRMFrame2_AddTransform(p,a,b) (p)->lpVtbl->AddTransform(p,a,b)
1354 #define IDirect3DRMFrame2_AddTranslation(p,a,b,c,d) (p)->lpVtbl->AddTranslation(p,a,b,c,d)
1355 #define IDirect3DRMFrame2_AddScale(p,a,b,c,d) (p)->lpVtbl->AddScale(p,a,b,c,d)
1356 #define IDirect3DRMFrame2_AddRotation(p,a,b,c,d,e) (p)->lpVtbl->AddRotation(p,a,b,c,d,e)
1357 #define IDirect3DRMFrame2_AddVisual(p,a) (p)->lpVtbl->AddVisual(p,a)
1358 #define IDirect3DRMFrame2_GetChildren(p,a) (p)->lpVtbl->GetChildren(p,a)
1359 #define IDirect3DRMFrame2_GetColor(p) (p)->lpVtbl->GetColor(p)
1360 #define IDirect3DRMFrame2_GetLights(p,a) (p)->lpVtbl->GetLights(p,a)
1361 #define IDirect3DRMFrame2_GetMaterialMode(p) (p)->lpVtbl->GetMaterialMode(p)
1362 #define IDirect3DRMFrame2_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
1363 #define IDirect3DRMFrame2_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
1364 #define IDirect3DRMFrame2_GetRotation(p,a,b,c) (p)->lpVtbl->GetRotation(p,a,b,c)
1365 #define IDirect3DRMFrame2_GetScene(p,a) (p)->lpVtbl->GetScene(p,a)
1366 #define IDirect3DRMFrame2_GetSortMode(p) (p)->lpVtbl->GetSortMode(p)
1367 #define IDirect3DRMFrame2_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
1368 #define IDirect3DRMFrame2_GetTransform(p,a) (p)->lpVtbl->GetTransform(p,a)
1369 #define IDirect3DRMFrame2_GetVelocity(p,a,b,c) (p)->lpVtbl->GetVelocity(p,a,b,c)
1370 #define IDirect3DRMFrame2_GetOrientation(p,a,b,c) (p)->lpVtbl->GetOrientation(p,a,b,c)
1371 #define IDirect3DRMFrame2_GetVisuals(p,a) (p)->lpVtbl->GetVisuals(p,a)
1372 #define IDirect3DRMFrame2_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
1373 #define IDirect3DRMFrame2_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
1374 #define IDirect3DRMFrame2_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
1375 #define IDirect3DRMFrame2_LookAt(p,a,b,c) (p)->lpVtbl->LookAt(p,a,b,c)
1376 #define IDirect3DRMFrame2_Move(p,a) (p)->lpVtbl->Move(p,a)
1377 #define IDirect3DRMFrame2_DeleteChild(p,a) (p)->lpVtbl->DeleteChild(p,a)
1378 #define IDirect3DRMFrame2_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
1379 #define IDirect3DRMFrame2_DeleteMoveCallback(p,a,b) (p)->lpVtbl->DeleteMoveCallback(p,a,b)
1380 #define IDirect3DRMFrame2_DeleteVisual(p,a) (p)->lpVtbl->DeleteVisual(p,a)
1381 #define IDirect3DRMFrame2_GetSceneBackground(p) (p)->lpVtbl->GetSceneBackground(p)
1382 #define IDirect3DRMFrame2_GetSceneBackgroundDepth(p,a) (p)->lpVtbl->GetSceneBackgroundDepth(p,a)
1383 #define IDirect3DRMFrame2_GetSceneFogColor(p) (p)->lpVtbl->GetSceneFogColor(p)
1384 #define IDirect3DRMFrame2_GetSceneFogEnable(p) (p)->lpVtbl->GetSceneFogEnable(p)
1385 #define IDirect3DRMFrame2_GetSceneFogMode(p) (p)->lpVtbl->GetSceneFogMode(p)
1386 #define IDirect3DRMFrame2_GetSceneFogParams(p,a,b,c) (p)->lpVtbl->GetSceneFogParams(p,a,b,c)
1387 #define IDirect3DRMFrame2_SetSceneBackground(p,a) (p)->lpVtbl->SetSceneBackground(p,a)
1388 #define IDirect3DRMFrame2_SetSceneBackgroundRGB(p,a,b,c) (p)->lpVtbl->SetSceneBackgroundRGB(p,a,b,c)
1389 #define IDirect3DRMFrame2_SetSceneBackgroundDepth(p,a) (p)->lpVtbl->SetSceneBackgroundDepth(p,a)
1390 #define IDirect3DRMFrame2_SetSceneBackgroundImage(p,a) (p)->lpVtbl->SetSceneBackgroundImage(p,a)
1391 #define IDirect3DRMFrame2_SetSceneFogEnable(p,a) (p)->lpVtbl->SetSceneFogEnable(p,a)
1392 #define IDirect3DRMFrame2_SetSceneFogColor(p,a) (p)->lpVtbl->SetSceneFogColor(p,a)
1393 #define IDirect3DRMFrame2_SetSceneFogMode(p,a) (p)->lpVtbl->SetSceneFogMode(p,a)
1394 #define IDirect3DRMFrame2_SetSceneFogParams(p,a,b,c) (p)->lpVtbl->SetSceneFogParams(p,a,b,c)
1395 #define IDirect3DRMFrame2_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
1396 #define IDirect3DRMFrame2_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
1397 #define IDirect3DRMFrame2_GetZbufferMode(p) (p)->lpVtbl->GetZbufferMode(p)
1398 #define IDirect3DRMFrame2_SetMaterialMode(p,a) (p)->lpVtbl->SetMaterialMode(p,a)
1399 #define IDirect3DRMFrame2_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
1400 #define IDirect3DRMFrame2_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
1401 #define IDirect3DRMFrame2_SetRotation(p,a,b,c,d,e) (p)->lpVtbl->SetRotation(p,a,b,c,d,e)
1402 #define IDirect3DRMFrame2_SetSortMode(p,a) (p)->lpVtbl->SetSortMode(p,a)
1403 #define IDirect3DRMFrame2_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
1404 #define IDirect3DRMFrame2_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
1405 #define IDirect3DRMFrame2_SetVelocity(p,a,b,c,d,e) (p)->lpVtbl->SetVelocity(p,a,b,c,d,e)
1406 #define IDirect3DRMFrame2_SetZbufferMode(p,a) (p)->lpVtbl->SetZbufferMode(p,a)
1407 #define IDirect3DRMFrame2_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
1408 /*** IDirect3DRMFrame2 methods ***/
1409 #define IDirect3DRMFrame2_AddMoveCallback2(p,a,b,c) (p)->lpVtbl->AddMoveCallback2(p,a,b,c)
1410 #define IDirect3DRMFrame2_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
1411 #define IDirect3DRMFrame2_GetBoxEnable(p) (p)->lpVtbl->GetBoxEnable(p)
1412 #define IDirect3DRMFrame2_GetAxes(p,a,b) (p)->lpVtbl->GetAxes(p,a,b)
1413 #define IDirect3DRMFrame2_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
1414 #define IDirect3DRMFrame2_GetInheritAxes(p,a,b) (p)->lpVtbl->GetInheritAxes(p,a,b)
1415 #define IDirect3DRMFrame2_GetHierarchyBox(p,a) (p)->lpVtbl->GetHierarchyBox(p,a)
1416 #define IDirect3DRMFrame2_SetBox(p,a) (p)->lpVtbl->SetBox(p,a)
1417 #define IDirect3DRMFrame2_SetBoxEnable(p,a) (p)->lpVtbl->SetBoxEnable(p,a)
1418 #define IDirect3DRMFrame2_SetAxes(p,a,b,c,d,e,f) (p)->lpVtbl->SetAxes(p,a,b,c,d,e,f)
1419 #define IDirect3DRMFrame2_SetInheritAxes(p,a) (p)->lpVtbl->SetInheritAxes(p,a)
1420 #define IDirect3DRMFrame2_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
1421 #define IDirect3DRMFrame2_SetQuaternion(p,a,b) (p)->lpVtbl->SetQuaternion(p,a,b)
1422 #define IDirect3DRMFrame2_RayPick(p,a,b,c,d) (p)->lpVtbl->RayPick(p,a,b,c,d)
1423 #define IDirect3DRMFrame2_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
1425 /*** IUnknown methods ***/
1426 #define IDirect3DRMFrame2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1427 #define IDirect3DRMFrame2_AddRef(p) (p)->AddRef()
1428 #define IDirect3DRMFrame2_Release(p) (p)->Release()
1429 /*** IDirect3DRMObject methods ***/
1430 #define IDirect3DRMFrame2_Clone(p,a,b,c) (p)->Clone(a,b,c)
1431 #define IDirect3DRMFrame2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
1432 #define IDirect3DRMFrame2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
1433 #define IDirect3DRMFrame2_SetAppData(p,a) (p)->SetAppData(a)
1434 #define IDirect3DRMFrame2_GetAppData(p) (p)->GetAppData()
1435 #define IDirect3DRMFrame2_SetName(p,a) (p)->SetName(a)
1436 #define IDirect3DRMFrame2_GetName(p,a,b) (p)->GetName(a,b)
1437 #define IDirect3DRMFrame2_GetClassName(p,a,b) (p)->GetClassName(a,b)
1438 /*** IDirect3DRMFrame methods ***/
1439 #define IDirect3DRMFrame2_AddChild(p,a) (p)->AddChild(a)
1440 #define IDirect3DRMFrame2_AddLight(p,a) (p)->AddLight(a)
1441 #define IDirect3DRMFrame2_AddMoveCallback(p,a,b) (p)->AddMoveCallback(a,b)
1442 #define IDirect3DRMFrame2_AddTransform(p,a,b) (p)->AddTransform(a,b)
1443 #define IDirect3DRMFrame2_AddTranslation(p,a,b,c,d) (p)->AddTranslation(a,b,c,d)
1444 #define IDirect3DRMFrame2_AddScale(p,a,b,c,d) (p)->AddScale(a,b,c,d)
1445 #define IDirect3DRMFrame2_AddRotation(p,a,b,c,d,e) (p)->AddRotation(a,b,c,d,e)
1446 #define IDirect3DRMFrame2_AddVisual(p,a) (p)->AddVisual(a)
1447 #define IDirect3DRMFrame2_GetChildren(p,a) (p)->GetChildren(a)
1448 #define IDirect3DRMFrame2_GetColor(p) (p)->GetColor()
1449 #define IDirect3DRMFrame2_GetLights(p,a) (p)->GetLights(a)
1450 #define IDirect3DRMFrame2_GetMaterialMode(p) (p)->GetMaterialMode()
1451 #define IDirect3DRMFrame2_GetParent(p,a) (p)->GetParent(a)
1452 #define IDirect3DRMFrame2_GetPosition(p,a,b) (p)->GetPosition(a,b)
1453 #define IDirect3DRMFrame2_GetRotation(p,a,b,c) (p)->GetRotation(a,b,c)
1454 #define IDirect3DRMFrame2_GetScene(p,a) (p)->GetScene(a)
1455 #define IDirect3DRMFrame2_GetSortMode(p) (p)->GetSortMode()
1456 #define IDirect3DRMFrame2_GetTexture(p,a) (p)->GetTexture(a)
1457 #define IDirect3DRMFrame2_GetTransform(p,a) (p)->GetTransform(a)
1458 #define IDirect3DRMFrame2_GetVelocity(p,a,b,c) (p)->GetVelocity(a,b,c)
1459 #define IDirect3DRMFrame2_GetOrientation(p,a,b,c) (p)->GetOrientation(a,b,c)
1460 #define IDirect3DRMFrame2_GetVisuals(p,a) (p)->GetVisuals(a)
1461 #define IDirect3DRMFrame2_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
1462 #define IDirect3DRMFrame2_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
1463 #define IDirect3DRMFrame2_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
1464 #define IDirect3DRMFrame2_LookAt(p,a,b,c) (p)->LookAt(a,b,c)
1465 #define IDirect3DRMFrame2_Move(p,a) (p)->Move(a)
1466 #define IDirect3DRMFrame2_DeleteChild(p,a) (p)->DeleteChild(a)
1467 #define IDirect3DRMFrame2_DeleteLight(p,a) (p)->DeleteLight(a)
1468 #define IDirect3DRMFrame2_DeleteMoveCallback(p,a,b) (p)->DeleteMoveCallback(a,b)
1469 #define IDirect3DRMFrame2_DeleteVisual(p,a) (p)->DeleteVisual(a)
1470 #define IDirect3DRMFrame2_GetSceneBackground(p) (p)->GetSceneBackground()
1471 #define IDirect3DRMFrame2_GetSceneBackgroundDepth(p,a) (p)->GetSceneBackgroundDepth(a)
1472 #define IDirect3DRMFrame2_GetSceneFogColor(p) (p)->GetSceneFogColor()
1473 #define IDirect3DRMFrame2_GetSceneFogEnable(p) (p)->GetSceneFogEnable()
1474 #define IDirect3DRMFrame2_GetSceneFogMode(p) (p)->GetSceneFogMode()
1475 #define IDirect3DRMFrame2_GetSceneFogParams(p,a,b,c) (p)->GetSceneFogParams(a,b,c)
1476 #define IDirect3DRMFrame2_SetSceneBackground(p,a) (p)->SetSceneBackground(a)
1477 #define IDirect3DRMFrame2_SetSceneBackgroundRGB(p,a,b,c) (p)->SetSceneBackgroundRGB(a,b,c)
1478 #define IDirect3DRMFrame2_SetSceneBackgroundDepth(p,a) (p)->SetSceneBackgroundDepth(a)
1479 #define IDirect3DRMFrame2_SetSceneBackgroundImage(p,a) (p)->SetSceneBackgroundImage(a)
1480 #define IDirect3DRMFrame2_SetSceneFogEnable(p,a) (p)->SetSceneFogEnable(a)
1481 #define IDirect3DRMFrame2_SetSceneFogColor(p,a) (p)->SetSceneFogColor(a)
1482 #define IDirect3DRMFrame2_SetSceneFogMode(p,a) (p)->SetSceneFogMode(a)
1483 #define IDirect3DRMFrame2_SetSceneFogParams(p,a,b,c) (p)->SetSceneFogParams(a,b,c)
1484 #define IDirect3DRMFrame2_SetColor(p,a) (p)->SetColor(a)
1485 #define IDirect3DRMFrame2_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
1486 #define IDirect3DRMFrame2_GetZbufferMode(p) (p)->GetZbufferMode()
1487 #define IDirect3DRMFrame2_SetMaterialMode(p,a) (p)->SetMaterialMode(a)
1488 #define IDirect3DRMFrame2_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
1489 #define IDirect3DRMFrame2_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
1490 #define IDirect3DRMFrame2_SetRotation(p,a,b,c,d,e) (p)->SetRotation(a,b,c,d,e)
1491 #define IDirect3DRMFrame2_SetSortMode(p,a) (p)->SetSortMode(a)
1492 #define IDirect3DRMFrame2_SetTexture(p,a) (p)->SetTexture(a)
1493 #define IDirect3DRMFrame2_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
1494 #define IDirect3DRMFrame2_SetVelocity(p,a,b,c,d,e) (p)->SetVelocity(a,b,c,d,e)
1495 #define IDirect3DRMFrame2_SetZbufferMode(p,a) (p)->SetZbufferMode(a)
1496 #define IDirect3DRMFrame2_Transform(p,a,b) (p)->Transform(a,b)
1497 /*** IDirect3DRMFrame2 methods ***/
1498 #define IDirect3DRMFrame2_AddMoveCallback2(p,a,b,c) (p)->AddMoveCallback2(a,b,c)
1499 #define IDirect3DRMFrame2_GetBox(p,a) (p)->GetBox(a)
1500 #define IDirect3DRMFrame2_GetBoxEnable(p) (p)->GetBoxEnable()
1501 #define IDirect3DRMFrame2_GetAxes(p,a,b) (p)->GetAxes(a,b)
1502 #define IDirect3DRMFrame2_GetMaterial(p,a) (p)->GetMaterial(a)
1503 #define IDirect3DRMFrame2_GetInheritAxes(p,a,b) (p)->GetInheritAxes(a,b)
1504 #define IDirect3DRMFrame2_GetHierarchyBox(p,a) (p)->GetHierarchyBox(a)
1505 #define IDirect3DRMFrame2_SetBox(p,a) (p)->SetBox(a)
1506 #define IDirect3DRMFrame2_SetBoxEnable(p,a) (p)->SetBoxEnable(a)
1507 #define IDirect3DRMFrame2_SetAxes(p,a,b,c,d,e,f) (p)->SetAxes(a,b,c,d,e,f)
1508 #define IDirect3DRMFrame2_SetInheritAxes(p,a) (p)->SetInheritAxes(a)
1509 #define IDirect3DRMFrame2_SetMaterial(p,a) (p)->SetMaterial(a)
1510 #define IDirect3DRMFrame2_SetQuaternion(p,a,b) (p)->SetQuaternion(a,b)
1511 #define IDirect3DRMFrame2_RayPick(p,a,b,c,d) (p)->RayPick(a,b,c,d)
1512 #define IDirect3DRMFrame2_Save(p,a,b,c) (p)->Save(a,b,c)
1515 /*****************************************************************************
1516 * IDirect3DRMFrame3 interface
1518 #define INTERFACE IDirect3DRMFrame3
1519 DECLARE_INTERFACE_(IDirect3DRMFrame3
,IDirect3DRMVisual
)
1521 /*** IUnknown methods ***/
1522 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
1523 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
1524 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
1525 /*** IDirect3DRMObject methods ***/
1526 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
1527 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
1528 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
1529 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
1530 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
1531 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
1532 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
1533 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
1534 /*** IDirect3DRMFrame3 methods ***/
1535 STDMETHOD(AddChild
)(THIS_ LPDIRECT3DRMFRAME3 child
) PURE
;
1536 STDMETHOD(AddLight
)(THIS_ LPDIRECT3DRMLIGHT
) PURE
;
1537 STDMETHOD(AddMoveCallback
)(THIS_ D3DRMFRAME3MOVECALLBACK
, VOID
*arg
, DWORD flags
) PURE
;
1538 STDMETHOD(AddTranslation
)(THIS_ D3DRMCOMBINETYPE
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
) PURE
;
1539 STDMETHOD(AddScale
)(THIS_ D3DRMCOMBINETYPE
, D3DVALUE sx
, D3DVALUE sy
, D3DVALUE sz
) PURE
;
1540 STDMETHOD(AddRotation
)(THIS_ D3DRMCOMBINETYPE
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
, D3DVALUE theta
) PURE
;
1541 STDMETHOD(AddVisual
)(THIS_ LPUNKNOWN
) PURE
;
1542 STDMETHOD(GetChildren
)(THIS_ LPDIRECT3DRMFRAMEARRAY
*children
) PURE
;
1543 STDMETHOD_(D3DCOLOR
, GetColor
)(THIS
) PURE
;
1544 STDMETHOD(GetLights
)(THIS_ LPDIRECT3DRMLIGHTARRAY
*lights
) PURE
;
1545 STDMETHOD_(D3DRMMATERIALMODE
, GetMaterialMode
)(THIS
) PURE
;
1546 STDMETHOD(GetParent
)(THIS_ LPDIRECT3DRMFRAME3
*) PURE
;
1547 STDMETHOD(GetPosition
)(THIS_ LPDIRECT3DRMFRAME3 reference
, LPD3DVECTOR return_position
) PURE
;
1548 STDMETHOD(GetRotation
)(THIS_ LPDIRECT3DRMFRAME3 reference
, LPD3DVECTOR axis
, LPD3DVALUE return_theta
) PURE
;
1549 STDMETHOD(GetScene
)(THIS_ LPDIRECT3DRMFRAME3
*) PURE
;
1550 STDMETHOD_(D3DRMSORTMODE
, GetSortMode
)(THIS
) PURE
;
1551 STDMETHOD(GetTexture
)(THIS_ LPDIRECT3DRMTEXTURE3
*) PURE
;
1552 STDMETHOD(GetTransform
)(THIS_ LPDIRECT3DRMFRAME3 reference
, D3DRMMATRIX4D rmMatrix
) PURE
;
1553 STDMETHOD(GetVelocity
)(THIS_ LPDIRECT3DRMFRAME3 reference
, LPD3DVECTOR return_velocity
,
1554 BOOL with_rotation
) PURE
;
1555 STDMETHOD(GetOrientation
)(THIS_ LPDIRECT3DRMFRAME3 reference
, LPD3DVECTOR dir
, LPD3DVECTOR up
) PURE
;
1556 STDMETHOD(GetVisuals
)(THIS_ LPDWORD pCount
, LPUNKNOWN
*) PURE
;
1557 STDMETHOD(InverseTransform
)(THIS_ D3DVECTOR
*d
, D3DVECTOR
*s
) PURE
;
1558 STDMETHOD(Load
)(THIS_ LPVOID filename
, LPVOID name
, D3DRMLOADOPTIONS loadflags
,
1559 D3DRMLOADTEXTURE3CALLBACK
, LPVOID pArg
) PURE
;
1560 STDMETHOD(LookAt
)(THIS_ LPDIRECT3DRMFRAME3 target
, LPDIRECT3DRMFRAME3 reference
, D3DRMFRAMECONSTRAINT
) PURE
;
1561 STDMETHOD(Move
)(THIS_ D3DVALUE delta
) PURE
;
1562 STDMETHOD(DeleteChild
)(THIS_ LPDIRECT3DRMFRAME3
) PURE
;
1563 STDMETHOD(DeleteLight
)(THIS_ LPDIRECT3DRMLIGHT
) PURE
;
1564 STDMETHOD(DeleteMoveCallback
)(THIS_ D3DRMFRAME3MOVECALLBACK
, VOID
*arg
) PURE
;
1565 STDMETHOD(DeleteVisual
)(THIS_ LPUNKNOWN
) PURE
;
1566 STDMETHOD_(D3DCOLOR
, GetSceneBackground
)(THIS
) PURE
;
1567 STDMETHOD(GetSceneBackgroundDepth
)(THIS_ LPDIRECTDRAWSURFACE
*) PURE
;
1568 STDMETHOD_(D3DCOLOR
, GetSceneFogColor
)(THIS
) PURE
;
1569 STDMETHOD_(BOOL
, GetSceneFogEnable
)(THIS
) PURE
;
1570 STDMETHOD_(D3DRMFOGMODE
, GetSceneFogMode
)(THIS
) PURE
;
1571 STDMETHOD(GetSceneFogParams
)(THIS_ D3DVALUE
*return_start
, D3DVALUE
*return_end
,
1572 D3DVALUE
*return_density
) PURE
;
1573 STDMETHOD(SetSceneBackground
)(THIS_ D3DCOLOR
) PURE
;
1574 STDMETHOD(SetSceneBackgroundRGB
)(THIS_ D3DVALUE red
, D3DVALUE green
, D3DVALUE blue
) PURE
;
1575 STDMETHOD(SetSceneBackgroundDepth
)(THIS_ LPDIRECTDRAWSURFACE
) PURE
;
1576 STDMETHOD(SetSceneBackgroundImage
)(THIS_ LPDIRECT3DRMTEXTURE3
) PURE
;
1577 STDMETHOD(SetSceneFogEnable
)(THIS_ BOOL
) PURE
;
1578 STDMETHOD(SetSceneFogColor
)(THIS_ D3DCOLOR
) PURE
;
1579 STDMETHOD(SetSceneFogMode
)(THIS_ D3DRMFOGMODE
) PURE
;
1580 STDMETHOD(SetSceneFogParams
)(THIS_ D3DVALUE start
, D3DVALUE end
, D3DVALUE density
) PURE
;
1581 STDMETHOD(SetColor
)(THIS_ D3DCOLOR
) PURE
;
1582 STDMETHOD(SetColorRGB
)(THIS_ D3DVALUE red
, D3DVALUE green
, D3DVALUE blue
) PURE
;
1583 STDMETHOD_(D3DRMZBUFFERMODE
, GetZbufferMode
)(THIS
) PURE
;
1584 STDMETHOD(SetMaterialMode
)(THIS_ D3DRMMATERIALMODE
) PURE
;
1585 STDMETHOD(SetOrientation
)(THIS_ LPDIRECT3DRMFRAME3 reference
, D3DVALUE dx
, D3DVALUE dy
, D3DVALUE dz
,
1586 D3DVALUE ux
, D3DVALUE uy
, D3DVALUE uz
) PURE
;
1587 STDMETHOD(SetPosition
)(THIS_ LPDIRECT3DRMFRAME3 reference
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
) PURE
;
1588 STDMETHOD(SetRotation
)(THIS_ LPDIRECT3DRMFRAME3 reference
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
,
1589 D3DVALUE theta
) PURE
;
1590 STDMETHOD(SetSortMode
)(THIS_ D3DRMSORTMODE
) PURE
;
1591 STDMETHOD(SetTexture
)(THIS_ LPDIRECT3DRMTEXTURE3
) PURE
;
1592 STDMETHOD(SetVelocity
)(THIS_ LPDIRECT3DRMFRAME3 reference
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
,
1593 BOOL with_rotation
) PURE
;
1594 STDMETHOD(SetZbufferMode
)(THIS_ D3DRMZBUFFERMODE
) PURE
;
1595 STDMETHOD(Transform
)(THIS_ D3DVECTOR
*d
, D3DVECTOR
*s
) PURE
;
1596 STDMETHOD(GetBox
)(THIS_ LPD3DRMBOX
) PURE
;
1597 STDMETHOD_(BOOL
, GetBoxEnable
)(THIS
) PURE
;
1598 STDMETHOD(GetAxes
)(THIS_ LPD3DVECTOR dir
, LPD3DVECTOR up
);
1599 STDMETHOD(GetMaterial
)(THIS_ LPDIRECT3DRMMATERIAL2
*) PURE
;
1600 STDMETHOD_(BOOL
, GetInheritAxes
)(THIS
);
1601 STDMETHOD(GetHierarchyBox
)(THIS_ LPD3DRMBOX
) PURE
;
1602 STDMETHOD(SetBox
)(THIS_ LPD3DRMBOX
) PURE
;
1603 STDMETHOD(SetBoxEnable
)(THIS_ BOOL
) PURE
;
1604 STDMETHOD(SetAxes
)(THIS_ D3DVALUE dx
, D3DVALUE dy
, D3DVALUE dz
, D3DVALUE ux
, D3DVALUE uy
, D3DVALUE uz
);
1605 STDMETHOD(SetInheritAxes
)(THIS_ BOOL inherit_from_parent
);
1606 STDMETHOD(SetMaterial
)(THIS_ LPDIRECT3DRMMATERIAL2
) PURE
;
1607 STDMETHOD(SetQuaternion
)(THIS_ LPDIRECT3DRMFRAME3 reference
, D3DRMQUATERNION
*q
) PURE
;
1608 STDMETHOD(RayPick
)(THIS_ LPDIRECT3DRMFRAME3 reference
, LPD3DRMRAY ray
, DWORD flags
,
1609 LPDIRECT3DRMPICKED2ARRAY
*return_visuals
) PURE
;
1610 STDMETHOD(Save
)(THIS_ LPCSTR filename
, D3DRMXOFFORMAT d3dFormat
, D3DRMSAVEOPTIONS d3dSaveFlags
);
1611 STDMETHOD(TransformVectors
)(THIS_ LPDIRECT3DRMFRAME3 reference
, DWORD NumVectors
,
1612 LPD3DVECTOR pDstVectors
, LPD3DVECTOR pSrcVectors
) PURE
;
1613 STDMETHOD(InverseTransformVectors
)(THIS_ LPDIRECT3DRMFRAME3 reference
, DWORD NumVectors
,
1614 LPD3DVECTOR pDstVectors
, LPD3DVECTOR pSrcVectors
) PURE
;
1615 STDMETHOD(SetTraversalOptions
)(THIS_ DWORD flags
) PURE
;
1616 STDMETHOD(GetTraversalOptions
)(THIS_ LPDWORD pFlags
) PURE
;
1617 STDMETHOD(SetSceneFogMethod
)(THIS_ DWORD flags
) PURE
;
1618 STDMETHOD(GetSceneFogMethod
)(THIS_ LPDWORD pFlags
) PURE
;
1619 STDMETHOD(SetMaterialOverride
)(THIS_ LPD3DRMMATERIALOVERRIDE
) PURE
;
1620 STDMETHOD(GetMaterialOverride
)(THIS_ LPD3DRMMATERIALOVERRIDE
) PURE
;
1624 #if !defined(__cplusplus) || defined(CINTERFACE)
1625 /*** IUnknown methods ***/
1626 #define IDirect3DRMFrame3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1627 #define IDirect3DRMFrame3_AddRef(p) (p)->lpVtbl->AddRef(p)
1628 #define IDirect3DRMFrame3_Release(p) (p)->lpVtbl->Release(p)
1629 /*** IDirect3DRMObject methods ***/
1630 #define IDirect3DRMFrame3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
1631 #define IDirect3DRMFrame3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
1632 #define IDirect3DRMFrame3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
1633 #define IDirect3DRMFrame3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
1634 #define IDirect3DRMFrame3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
1635 #define IDirect3DRMFrame3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1636 #define IDirect3DRMFrame3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
1637 #define IDirect3DRMFrame3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
1638 /*** IDirect3DRMFrame3 methods ***/
1639 #define IDirect3DRMFrame3_AddChild(p,a) (p)->lpVtbl->AddChild(p,a)
1640 #define IDirect3DRMFrame3_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
1641 #define IDirect3DRMFrame3_AddMoveCallback(p,a,b,c) (p)->lpVtbl->AddMoveCallback(p,a,b,c)
1642 #define IDirect3DRMFrame3_AddTransform(p,a,b) (p)->lpVtbl->AddTransform(p,a,b)
1643 #define IDirect3DRMFrame3_AddTranslation(p,a,b,c,d) (p)->lpVtbl->AddTranslation(p,a,b,c,d)
1644 #define IDirect3DRMFrame3_AddScale(p,a,b,c,d) (p)->lpVtbl->AddScale(p,a,b,c,d)
1645 #define IDirect3DRMFrame3_AddRotation(p,a,b,c,d,e) (p)->lpVtbl->AddRotation(p,a,b,c,d,e)
1646 #define IDirect3DRMFrame3_AddVisual(p,a) (p)->lpVtbl->AddVisual(p,a)
1647 #define IDirect3DRMFrame3_GetChildren(p,a) (p)->lpVtbl->GetChildren(p,a)
1648 #define IDirect3DRMFrame3_GetColor(p) (p)->lpVtbl->GetColor(p)
1649 #define IDirect3DRMFrame3_GetLights(p,a) (p)->lpVtbl->GetLights(p,a)
1650 #define IDirect3DRMFrame3_GetMaterialMode(p) (p)->lpVtbl->GetMaterialMode(p)
1651 #define IDirect3DRMFrame3_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
1652 #define IDirect3DRMFrame3_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
1653 #define IDirect3DRMFrame3_GetRotation(p,a,b,c) (p)->lpVtbl->GetRotation(p,a,b,c)
1654 #define IDirect3DRMFrame3_GetScene(p,a) (p)->lpVtbl->GetScene(p,a)
1655 #define IDirect3DRMFrame3_GetSortMode(p) (p)->lpVtbl->GetSortMode(p)
1656 #define IDirect3DRMFrame3_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
1657 #define IDirect3DRMFrame3_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
1658 #define IDirect3DRMFrame3_GetVelocity(p,a,b,c) (p)->lpVtbl->GetVelocity(p,a,b,c)
1659 #define IDirect3DRMFrame3_GetOrientation(p,a,b,c) (p)->lpVtbl->GetOrientation(p,a,b,c)
1660 #define IDirect3DRMFrame3_GetVisuals(p,a,b) (p)->lpVtbl->GetVisuals(p,a,b)
1661 #define IDirect3DRMFrame3_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
1662 #define IDirect3DRMFrame3_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
1663 #define IDirect3DRMFrame3_LookAt(p,a,b,c) (p)->lpVtbl->LookAt(p,a,b,c)
1664 #define IDirect3DRMFrame3_Move(p,a) (p)->lpVtbl->Move(p,a)
1665 #define IDirect3DRMFrame3_DeleteChild(p,a) (p)->lpVtbl->DeleteChild(p,a)
1666 #define IDirect3DRMFrame3_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
1667 #define IDirect3DRMFrame3_DeleteMoveCallback(p,a,b) (p)->lpVtbl->DeleteMoveCallback(p,a,b)
1668 #define IDirect3DRMFrame3_DeleteVisual(p,a) (p)->lpVtbl->DeleteVisual(p,a)
1669 #define IDirect3DRMFrame3_GetSceneBackground(p) (p)->lpVtbl->GetSceneBackground(p)
1670 #define IDirect3DRMFrame3_GetSceneBackgroundDepth(p,a) (p)->lpVtbl->GetSceneBackgroundDepth(p,a)
1671 #define IDirect3DRMFrame3_GetSceneFogColor(p) (p)->lpVtbl->GetSceneFogColor(p)
1672 #define IDirect3DRMFrame3_GetSceneFogEnable(p) (p)->lpVtbl->GetSceneFogEnable(p)
1673 #define IDirect3DRMFrame3_GetSceneFogMode(p) (p)->lpVtbl->GetSceneFogMode(p)
1674 #define IDirect3DRMFrame3_GetSceneFogParams(p,a,b,c) (p)->lpVtbl->GetSceneFogParams(p,a,b,c)
1675 #define IDirect3DRMFrame3_SetSceneBackground(p,a) (p)->lpVtbl->SetSceneBackground(p,a)
1676 #define IDirect3DRMFrame3_SetSceneBackgroundRGB(p,a,b,c) (p)->lpVtbl->SetSceneBackgroundRGB(p,a,b,c)
1677 #define IDirect3DRMFrame3_SetSceneBackgroundDepth(p,a) (p)->lpVtbl->SetSceneBackgroundDepth(p,a)
1678 #define IDirect3DRMFrame3_SetSceneBackgroundImage(p,a) (p)->lpVtbl->SetSceneBackgroundImage(p,a)
1679 #define IDirect3DRMFrame3_SetSceneFogEnable(p,a) (p)->lpVtbl->SetSceneFogEnable(p,a)
1680 #define IDirect3DRMFrame3_SetSceneFogColor(p,a) (p)->lpVtbl->SetSceneFogColor(p,a)
1681 #define IDirect3DRMFrame3_SetSceneFogMode(p,a) (p)->lpVtbl->SetSceneFogMode(p,a)
1682 #define IDirect3DRMFrame3_SetSceneFogParams(p,a,b,c) (p)->lpVtbl->SetSceneFogParams(p,a,b,c)
1683 #define IDirect3DRMFrame3_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
1684 #define IDirect3DRMFrame3_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
1685 #define IDirect3DRMFrame3_GetZbufferMode(p) (p)->lpVtbl->GetZbufferMode(p)
1686 #define IDirect3DRMFrame3_SetMaterialMode(p,a) (p)->lpVtbl->SetMaterialMode(p,a)
1687 #define IDirect3DRMFrame3_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
1688 #define IDirect3DRMFrame3_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
1689 #define IDirect3DRMFrame3_SetRotation(p,a,b,c,d,e) (p)->lpVtbl->SetRotation(p,a,b,c,d,e)
1690 #define IDirect3DRMFrame3_SetSortMode(p,a) (p)->lpVtbl->SetSortMode(p,a)
1691 #define IDirect3DRMFrame3_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
1692 #define IDirect3DRMFrame3_SetVelocity(p,a,b,c,d,e) (p)->lpVtbl->SetVelocity(p,a,b,c,d,e)
1693 #define IDirect3DRMFrame3_SetZbufferMode(p,a) (p)->lpVtbl->SetZbufferMode(p,a)
1694 #define IDirect3DRMFrame3_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
1695 #define IDirect3DRMFrame3_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
1696 #define IDirect3DRMFrame3_GetBoxEnable(p) (p)->lpVtbl->GetBoxEnable(p)
1697 #define IDirect3DRMFrame3_GetAxes(p,a,b) (p)->lpVtbl->GetAxes(p,a,b)
1698 #define IDirect3DRMFrame3_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
1699 #define IDirect3DRMFrame3_GetInheritAxes(p) (p)->lpVtbl->GetInheritAxes(p)
1700 #define IDirect3DRMFrame3_GetHierarchyBox(p,a) (p)->lpVtbl->GetHierarchyBox(p,a)
1701 #define IDirect3DRMFrame3_SetBox(p,a) (p)->lpVtbl->SetBox(p,a)
1702 #define IDirect3DRMFrame3_SetBoxEnable(p,a) (p)->lpVtbl->SetBoxEnable(p,a)
1703 #define IDirect3DRMFrame3_SetAxes(p,a,b,c,d,e,f) (p)->lpVtbl->SetAxes(p,a,b,c,d,e,f)
1704 #define IDirect3DRMFrame3_SetInheritAxes(p,a) (p)->lpVtbl->SetInheritAxes(p,a)
1705 #define IDirect3DRMFrame3_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
1706 #define IDirect3DRMFrame3_SetQuaternion(p,a,b) (p)->lpVtbl->SetQuaternion(p,a,b)
1707 #define IDirect3DRMFrame3_RayPick(p,a,b,c,d) (p)->lpVtbl->RayPick(p,a,b,c,d)
1708 #define IDirect3DRMFrame3_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
1709 #define IDirect3DRMFrame3_TransformVectors(p,a,b,c,d) (p)->lpVtbl->TransformVectors(p,a,b,c,d)
1710 #define IDirect3DRMFrame3_InverseTransformVectors(p,a,b,c,d) (p)->lpVtbl->InverseTransformVectors(p,a,b,c,d)
1711 #define IDirect3DRMFrame3_SetTraversalOptions(p,a) (p)->lpVtbl->SetTraversalOptions(p,a)
1712 #define IDirect3DRMFrame3_GetTraversalOptions(p,a) (p)->lpVtbl->GetTraversalOptions(p,a)
1713 #define IDirect3DRMFrame3_SetSceneFogMethod(p,a) (p)->lpVtbl->SetSceneFogMethod(p,a)
1714 #define IDirect3DRMFrame3_GetSceneFogMethod(p,a) (p)->lpVtbl->GetSceneFogMethod(p,a)
1715 #define IDirect3DRMFrame3_SetMaterialOverride(p,a) (p)->lpVtbl->SetMaterialOverride(p,a)
1716 #define IDirect3DRMFrame3_GetMaterialOverride(p,a) (p)->lpVtbl->GetMaterialOverride(p,a)
1718 /*** IUnknown methods ***/
1719 #define IDirect3DRMFrame3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1720 #define IDirect3DRMFrame3_AddRef(p) (p)->AddRef()
1721 #define IDirect3DRMFrame3_Release(p) (p)->Release()
1722 /*** IDirect3DRMObject methods ***/
1723 #define IDirect3DRMFrame3_Clone(p,a,b,c) (p)->Clone(a,b,c)
1724 #define IDirect3DRMFrame3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
1725 #define IDirect3DRMFrame3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
1726 #define IDirect3DRMFrame3_SetAppData(p,a) (p)->SetAppData(a)
1727 #define IDirect3DRMFrame3_GetAppData(p) (p)->GetAppData()
1728 #define IDirect3DRMFrame3_SetName(p,a) (p)->SetName(a)
1729 #define IDirect3DRMFrame3_GetName(p,a,b) (p)->GetName(a,b)
1730 #define IDirect3DRMFrame3_GetClassName(p,a,b) (p)->GetClassName(a,b)
1731 /*** IDirect3DRMFrame3 methods ***/
1732 #define IDirect3DRMFrame3_AddChild(p,a) (p)->AddChild(a)
1733 #define IDirect3DRMFrame3_AddLight(p,a) (p)->AddLight(a)
1734 #define IDirect3DRMFrame3_AddMoveCallback(p,a,b,c) (p)->AddMoveCallback(a,b,c)
1735 #define IDirect3DRMFrame3_AddTransform(p,a,b) (p)->AddTransform(a,b)
1736 #define IDirect3DRMFrame3_AddTranslation(p,a,b,c,d) (p)->AddTranslation(a,b,c,d)
1737 #define IDirect3DRMFrame3_AddScale(p,a,b,c,d) (p)->AddScale(a,b,c,d)
1738 #define IDirect3DRMFrame3_AddRotation(p,a,b,c,d,e) (p)->AddRotation(a,b,c,d,e)
1739 #define IDirect3DRMFrame3_AddVisual(p,a) (p)->AddVisual(a)
1740 #define IDirect3DRMFrame3_GetChildren(p,a) (p)->GetChildren(a)
1741 #define IDirect3DRMFrame3_GetColor(p) (p)->GetColor()
1742 #define IDirect3DRMFrame3_GetLights(p,a) (p)->GetLights(a)
1743 #define IDirect3DRMFrame3_GetMaterialMode(p) (p)->GetMaterialMode()
1744 #define IDirect3DRMFrame3_GetParent(p,a) (p)->GetParent(a)
1745 #define IDirect3DRMFrame3_GetPosition(p,a,b) (p)->GetPosition(a,b)
1746 #define IDirect3DRMFrame3_GetRotation(p,a,b,c) (p)->GetRotation(a,b,c)
1747 #define IDirect3DRMFrame3_GetScene(p,a) (p)->GetScene(a)
1748 #define IDirect3DRMFrame3_GetSortMode(p) (p)->GetSortMode()
1749 #define IDirect3DRMFrame3_GetTexture(p,a) (p)->GetTexture(a)
1750 #define IDirect3DRMFrame3_GetTransform(p,a,b) (p)->GetTransform(a,b)
1751 #define IDirect3DRMFrame3_GetVelocity(p,a,b,c) (p)->GetVelocity(a,b,c)
1752 #define IDirect3DRMFrame3_GetOrientation(p,a,b,c) (p)->GetOrientation(a,b,c)
1753 #define IDirect3DRMFrame3_GetVisuals(p,a,b) (p)->GetVisuals(a,b)
1754 #define IDirect3DRMFrame3_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
1755 #define IDirect3DRMFrame3_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
1756 #define IDirect3DRMFrame3_LookAt(p,a,b,c) (p)->LookAt(a,b,c)
1757 #define IDirect3DRMFrame3_Move(p,a) (p)->Move(a)
1758 #define IDirect3DRMFrame3_DeleteChild(p,a) (p)->DeleteChild(a)
1759 #define IDirect3DRMFrame3_DeleteLight(p,a) (p)->DeleteLight(a)
1760 #define IDirect3DRMFrame3_DeleteMoveCallback(p,a,b) (p)->DeleteMoveCallback(a,b)
1761 #define IDirect3DRMFrame3_DeleteVisual(p,a) (p)->DeleteVisual(a)
1762 #define IDirect3DRMFrame3_GetSceneBackground(p) (p)->GetSceneBackground()
1763 #define IDirect3DRMFrame3_GetSceneBackgroundDepth(p,a) (p)->GetSceneBackgroundDepth(a)
1764 #define IDirect3DRMFrame3_GetSceneFogColor(p) (p)->GetSceneFogColor()
1765 #define IDirect3DRMFrame3_GetSceneFogEnable(p) (p)->GetSceneFogEnable()
1766 #define IDirect3DRMFrame3_GetSceneFogMode(p) (p)->GetSceneFogMode()
1767 #define IDirect3DRMFrame3_GetSceneFogParams(p,a,b,c) (p)->GetSceneFogParams(a,b,c)
1768 #define IDirect3DRMFrame3_SetSceneBackground(p,a) (p)->SetSceneBackground(a)
1769 #define IDirect3DRMFrame3_SetSceneBackgroundRGB(p,a,b,c) (p)->SetSceneBackgroundRGB(a,b,c)
1770 #define IDirect3DRMFrame3_SetSceneBackgroundDepth(p,a) (p)->SetSceneBackgroundDepth(a)
1771 #define IDirect3DRMFrame3_SetSceneBackgroundImage(p,a) (p)->SetSceneBackgroundImage(a)
1772 #define IDirect3DRMFrame3_SetSceneFogEnable(p,a) (p)->SetSceneFogEnable(a)
1773 #define IDirect3DRMFrame3_SetSceneFogColor(p,a) (p)->SetSceneFogColor(a)
1774 #define IDirect3DRMFrame3_SetSceneFogMode(p,a) (p)->SetSceneFogMode(a)
1775 #define IDirect3DRMFrame3_SetSceneFogParams(p,a,b,c) (p)->SetSceneFogParams(a,b,c)
1776 #define IDirect3DRMFrame3_SetColor(p,a) (p)->SetColor(a)
1777 #define IDirect3DRMFrame3_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
1778 #define IDirect3DRMFrame3_GetZbufferMode(p) (p)->GetZbufferMode()
1779 #define IDirect3DRMFrame3_SetMaterialMode(p,a) (p)->SetMaterialMode(a)
1780 #define IDirect3DRMFrame3_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
1781 #define IDirect3DRMFrame3_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
1782 #define IDirect3DRMFrame3_SetRotation(p,a,b,c,d,e) (p)->SetRotation(a,b,c,d,e)
1783 #define IDirect3DRMFrame3_SetSortMode(p,a) (p)->SetSortMode(a)
1784 #define IDirect3DRMFrame3_SetTexture(p,a) (p)->SetTexture(a)
1785 #define IDirect3DRMFrame3_SetVelocity(p,a,b,c,d,e) (p)->SetVelocity(a,b,c,d,e)
1786 #define IDirect3DRMFrame3_SetZbufferMode(p,a) (p)->SetZbufferMode(a)
1787 #define IDirect3DRMFrame3_Transform(p,a,b) (p)->Transform(a,b)
1788 #define IDirect3DRMFrame3_GetBox(p,a) (p)->GetBox(a)
1789 #define IDirect3DRMFrame3_GetBoxEnable(p) (p)->GetBoxEnable()
1790 #define IDirect3DRMFrame3_GetAxes(p,a,b) (p)->GetAxes(a,b)
1791 #define IDirect3DRMFrame3_GetMaterial(p,a) (p)->GetMaterial(a)
1792 #define IDirect3DRMFrame3_GetInheritAxes(p) (p)->GetInheritAxes()
1793 #define IDirect3DRMFrame3_GetHierarchyBox(p,a) (p)->GetHierarchyBox(a)
1794 #define IDirect3DRMFrame3_SetBox(p,a) (p)->SetBox(a)
1795 #define IDirect3DRMFrame3_SetBoxEnable(p,a) (p)->SetBoxEnable(a)
1796 #define IDirect3DRMFrame3_SetAxes(p,a,b,c,d,e,f) (p)->SetAxes(a,b,c,d,e,f)
1797 #define IDirect3DRMFrame3_SetInheritAxes(p,a) (p)->SetInheritAxes(a)
1798 #define IDirect3DRMFrame3_SetMaterial(p,a) (p)->SetMaterial(a)
1799 #define IDirect3DRMFrame3_SetQuaternion(p,a,b) (p)->SetQuaternion(a,b)
1800 #define IDirect3DRMFrame3_RayPick(p,a,b,c,d) (p)->RayPick(a,b,c,d)
1801 #define IDirect3DRMFrame3_Save(p,a,b,c) (p)->Save(a,b,c)
1802 #define IDirect3DRMFrame3_TransformVectors(p,a,b,c,d) (p)->TransformVectors(a,b,c,d)
1803 #define IDirect3DRMFrame3_InverseTransformVectors(p,a,b,c,d) (p)->InverseTransformVectors(a,b,c,d)
1804 #define IDirect3DRMFrame3_SetTraversalOptions(p,a) (p)->SetTraversalOptions(a)
1805 #define IDirect3DRMFrame3_GetTraversalOptions(p,a) (p)->GetTraversalOptions(a)
1806 #define IDirect3DRMFrame3_SetSceneFogMethod(p,a) (p)->SetSceneFogMethod(a)
1807 #define IDirect3DRMFrame3_GetSceneFogMethod(p,a) (p)->GetSceneFogMethod(a)
1808 #define IDirect3DRMFrame3_SetMaterialOverride(p,a) (p)->SetMaterialOverride(a)
1809 #define IDirect3DRMFrame3_GetMaterialOverride(p,a) (p)->GetMaterialOverride(a)
1812 /*****************************************************************************
1813 * IDirect3DRMMesh interface
1815 #define INTERFACE IDirect3DRMMesh
1816 DECLARE_INTERFACE_(IDirect3DRMMesh
,IDirect3DRMVisual
)
1818 /*** IUnknown methods ***/
1819 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
1820 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
1821 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
1822 /*** IDirect3DRMObject methods ***/
1823 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
1824 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
1825 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
1826 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
1827 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
1828 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
1829 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
1830 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
1831 /*** IDirect3DRMMesh methods ***/
1832 STDMETHOD(Scale
)(THIS_ D3DVALUE sx
, D3DVALUE sy
, D3DVALUE sz
) PURE
;
1833 STDMETHOD(Translate
)(THIS_ D3DVALUE tx
, D3DVALUE ty
, D3DVALUE tz
) PURE
;
1834 STDMETHOD(GetBox
)(THIS_ D3DRMBOX
*) PURE
;
1835 STDMETHOD(AddGroup
)(THIS_
unsigned vCount
, unsigned fCount
, unsigned vPerFace
, unsigned *fData
,
1836 D3DRMGROUPINDEX
*returnId
) PURE
;
1837 STDMETHOD(SetVertices
)(THIS_ D3DRMGROUPINDEX id
, unsigned index
, unsigned count
,
1838 D3DRMVERTEX
*values
) PURE
;
1839 STDMETHOD(SetGroupColor
)(THIS_ D3DRMGROUPINDEX id
, D3DCOLOR value
) PURE
;
1840 STDMETHOD(SetGroupColorRGB
)(THIS_ D3DRMGROUPINDEX id
, D3DVALUE red
, D3DVALUE green
, D3DVALUE blue
) PURE
;
1841 STDMETHOD(SetGroupMapping
)(THIS_ D3DRMGROUPINDEX id
, D3DRMMAPPING value
) PURE
;
1842 STDMETHOD(SetGroupQuality
)(THIS_ D3DRMGROUPINDEX id
, D3DRMRENDERQUALITY value
) PURE
;
1843 STDMETHOD(SetGroupMaterial
)(THIS_ D3DRMGROUPINDEX id
, LPDIRECT3DRMMATERIAL value
) PURE
;
1844 STDMETHOD(SetGroupTexture
)(THIS_ D3DRMGROUPINDEX id
, LPDIRECT3DRMTEXTURE value
) PURE
;
1845 STDMETHOD_(unsigned, GetGroupCount
)(THIS
) PURE
;
1846 STDMETHOD(GetGroup
)(THIS_ D3DRMGROUPINDEX id
, unsigned *vCount
, unsigned *fCount
, unsigned *vPerFace
,
1847 DWORD
*fDataSize
, unsigned *fData
) PURE
;
1848 STDMETHOD(GetVertices
)(THIS_ D3DRMGROUPINDEX id
, DWORD index
, DWORD count
, D3DRMVERTEX
*returnPtr
) PURE
;
1849 STDMETHOD_(D3DCOLOR
, GetGroupColor
)(THIS_ D3DRMGROUPINDEX id
) PURE
;
1850 STDMETHOD_(D3DRMMAPPING
, GetGroupMapping
)(THIS_ D3DRMGROUPINDEX id
) PURE
;
1851 STDMETHOD_(D3DRMRENDERQUALITY
, GetGroupQuality
)(THIS_ D3DRMGROUPINDEX id
) PURE
;
1852 STDMETHOD(GetGroupMaterial
)(THIS_ D3DRMGROUPINDEX id
, LPDIRECT3DRMMATERIAL
*returnPtr
) PURE
;
1853 STDMETHOD(GetGroupTexture
)(THIS_ D3DRMGROUPINDEX id
, LPDIRECT3DRMTEXTURE
*returnPtr
) PURE
;
1857 #if !defined(__cplusplus) || defined(CINTERFACE)
1858 /*** IUnknown methods ***/
1859 #define IDirect3DRMMesh_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1860 #define IDirect3DRMMesh_AddRef(p) (p)->lpVtbl->AddRef(p)
1861 #define IDirect3DRMMesh_Release(p) (p)->lpVtbl->Release(p)
1862 /*** IDirect3DRMObject methods ***/
1863 #define IDirect3DRMMesh_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
1864 #define IDirect3DRMMesh_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
1865 #define IDirect3DRMMesh_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
1866 #define IDirect3DRMMesh_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
1867 #define IDirect3DRMMesh_GetAppData(p) (p)->lpVtbl->GetAppData(p)
1868 #define IDirect3DRMMesh_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1869 #define IDirect3DRMMesh_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
1870 #define IDirect3DRMMesh_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
1871 /*** IDirect3DRMMesh methods ***/
1872 #define IDirect3DRMMesh_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
1873 #define IDirect3DRMMesh_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a,b,c)
1874 #define IDirect3DRMMesh_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
1875 #define IDirect3DRMMesh_AddGroup(p,a,b,c,d,e) (p)->lpVtbl->AddGroup(p,a,b,c,d,e)
1876 #define IDirect3DRMMesh_SetVertices(p,a,b,c,d) (p)->lpVtbl->SetVertices(p,a,b,c,d)
1877 #define IDirect3DRMMesh_SetGroupColor(p,a,b) (p)->lpVtbl->SetGroupColor(p,a,b)
1878 #define IDirect3DRMMesh_SetGroupColorRGB(p,a,b,c,d) (p)->lpVtbl->SetGroupColorRGB(p,a,b,c,d)
1879 #define IDirect3DRMMesh_SetGroupMapping(p,a,b) (p)->lpVtbl->SetGroupMapping(p,a,b)
1880 #define IDirect3DRMMesh_SetGroupQuality(p,a,b) (p)->lpVtbl->SetGroupQuality(p,a,b)
1881 #define IDirect3DRMMesh_SetGroupMaterial(p,a,b) (p)->lpVtbl->SetGroupMaterial(p,a,b)
1882 #define IDirect3DRMMesh_SetGroupTexture(p,a,b) (p)->lpVtbl->SetGroupTexture(p,a,b)
1883 #define IDirect3DRMMesh_GetGroupCount(p) (p)->lpVtbl->GetGroupCount(p)
1884 #define IDirect3DRMMesh_GetGroup(p,a,b,c,d,e,f) (p)->lpVtbl->GetGroup(p,a,b,c,d,e,f)
1885 #define IDirect3DRMMesh_GetVertices(p,a,b,c,d) (p)->lpVtbl->GetVertices(p,a,b,c,d)
1886 #define IDirect3DRMMesh_GetGroupColor(p,a) (p)->lpVtbl->GetGroupColor(p,a)
1887 #define IDirect3DRMMesh_GetGroupMapping(p,a) (p)->lpVtbl->GetGroupMapping(p,a)
1888 #define IDirect3DRMMesh_GetGroupQuality(p,a) (p)->lpVtbl->GetGroupQuality(p,a)
1889 #define IDirect3DRMMesh_GetGroupMaterial(p,a,b) (p)->lpVtbl->GetGroupMaterial(p,a,b)
1890 #define IDirect3DRMMesh_GetGroupTexture(p,a,b) (p)->lpVtbl->GetGroupTexture(p,a,b)
1892 /*** IUnknown methods ***/
1893 #define IDirect3DRMMesh_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1894 #define IDirect3DRMMesh_AddRef(p) (p)->AddRef()
1895 #define IDirect3DRMMesh_Release(p) (p)->Release()
1896 /*** IDirect3DRMObject methods ***/
1897 #define IDirect3DRMMesh_Clone(p,a,b,c) (p)->Clone(a,b,c)
1898 #define IDirect3DRMMesh_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
1899 #define IDirect3DRMMesh_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
1900 #define IDirect3DRMMesh_SetAppData(p,a) (p)->SetAppData(a)
1901 #define IDirect3DRMMesh_GetAppData(p) (p)->GetAppData()
1902 #define IDirect3DRMMesh_SetName(p,a) (p)->SetName(a)
1903 #define IDirect3DRMMesh_GetName(p,a,b) (p)->GetName(a,b)
1904 #define IDirect3DRMMesh_GetClassName(p,a,b) (p)->GetClassName(a,b)
1905 /*** IDirect3DRMMesh methods ***/
1906 #define IDirect3DRMMesh_Scale(p,a,b,c) (p)->Scale(a,b,c)
1907 #define IDirect3DRMMesh_Translate(p,a,b,c) (p)->Translate(a,b,c)
1908 #define IDirect3DRMMesh_GetBox(p,a) (p)->GetBox(a)
1909 #define IDirect3DRMMesh_AddGroup(p,a,b,c,d,e) (p)->AddGroup(a,b,c,d,e)
1910 #define IDirect3DRMMesh_SetVertices(p,a,b,c,d) (p)->SetVertices(a,b,c,d)
1911 #define IDirect3DRMMesh_SetGroupColor(p,a,b) (p)->SetGroupColor(a,b)
1912 #define IDirect3DRMMesh_SetGroupColorRGB(p,a,b,c,d) (p)->SetGroupColorRGB(a,b,c,d)
1913 #define IDirect3DRMMesh_SetGroupMapping(p,a,b) (p)->SetGroupMapping(a,b)
1914 #define IDirect3DRMMesh_SetGroupQuality(p,a,b) (p)->SetGroupQuality(a,b)
1915 #define IDirect3DRMMesh_SetGroupMaterial(p,a,b) (p)->SetGroupMaterial(a,b)
1916 #define IDirect3DRMMesh_SetGroupTexture(p,a,b) (p)->SetGroupTexture(a,b)
1917 #define IDirect3DRMMesh_GetGroupCount(p) (p)->GetGroupCount()
1918 #define IDirect3DRMMesh_GetGroup(p,a,b,c,d,e,f) (p)->GetGroup(a,b,c,d,e,f)
1919 #define IDirect3DRMMesh_GetVertices(p,a,b,c,d) (p)->GetVertices(a,b,c,d)
1920 #define IDirect3DRMMesh_GetGroupColor(p,a) (p)->GetGroupColor(a)
1921 #define IDirect3DRMMesh_GetGroupMapping(p,a) (p)->GetGroupMapping(a)
1922 #define IDirect3DRMMesh_GetGroupQuality(p,a) (p)->GetGroupQuality(a)
1923 #define IDirect3DRMMesh_GetGroupMaterial(p,a,b) (p)->lpVtbl->GetGroupMaterial(a,b)
1924 #define IDirect3DRMMesh_GetGroupTexture(p,a,b) (p)->lpVtbl->GetGroupTexture(a,b)
1927 /*****************************************************************************
1928 * IDirect3DRMProgressiveMesh interface
1930 #define INTERFACE IDirect3DRMProgressiveMesh
1931 DECLARE_INTERFACE_(IDirect3DRMProgressiveMesh
,IDirect3DRMVisual
)
1933 /*** IUnknown methods ***/
1934 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
1935 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
1936 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
1937 /*** IDirect3DRMObject methods ***/
1938 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
1939 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
1940 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
1941 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
1942 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
1943 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
1944 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
1945 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
1946 /*** IDirect3DRMProgressiveMesh methods ***/
1947 STDMETHOD(Load
) (THIS_ LPVOID pObjLocation
, LPVOID pObjId
, D3DRMLOADOPTIONS dloLoadflags
,
1948 D3DRMLOADTEXTURECALLBACK pCallback
, LPVOID lpArg
) PURE
;
1949 STDMETHOD(GetLoadStatus
) (THIS_ LPD3DRMPMESHLOADSTATUS pStatus
) PURE
;
1950 STDMETHOD(SetMinRenderDetail
) (THIS_ D3DVALUE d3dVal
) PURE
;
1951 STDMETHOD(Abort
) (THIS_ DWORD flags
) PURE
;
1952 STDMETHOD(GetFaceDetail
) (THIS_ LPDWORD pCount
) PURE
;
1953 STDMETHOD(GetVertexDetail
) (THIS_ LPDWORD pCount
) PURE
;
1954 STDMETHOD(SetFaceDetail
) (THIS_ DWORD count
) PURE
;
1955 STDMETHOD(SetVertexDetail
) (THIS_ DWORD count
) PURE
;
1956 STDMETHOD(GetFaceDetailRange
) (THIS_ LPDWORD pMin
, LPDWORD pMax
) PURE
;
1957 STDMETHOD(GetVertexDetailRange
) (THIS_ LPDWORD pMin
, LPDWORD pMax
) PURE
;
1958 STDMETHOD(GetDetail
) (THIS_ D3DVALUE
*pdvVal
) PURE
;
1959 STDMETHOD(SetDetail
) (THIS_ D3DVALUE d3dVal
) PURE
;
1960 STDMETHOD(RegisterEvents
) (THIS_ HANDLE event
, DWORD flags
, DWORD reserved
) PURE
;
1961 STDMETHOD(CreateMesh
) (THIS_ LPDIRECT3DRMMESH
*ppD3DRMMesh
) PURE
;
1962 STDMETHOD(Duplicate
) (THIS_ LPDIRECT3DRMPROGRESSIVEMESH
*ppD3DRMPMesh
) PURE
;
1963 STDMETHOD(GetBox
) (THIS_ LPD3DRMBOX pBBox
) PURE
;
1964 STDMETHOD(SetQuality
) (THIS_ D3DRMRENDERQUALITY
) PURE
;
1965 STDMETHOD(GetQuality
) (THIS_ LPD3DRMRENDERQUALITY pQuality
) PURE
;
1969 #if !defined(__cplusplus) || defined(CINTERFACE)
1970 /*** IUnknown methods ***/
1971 #define IDirect3DRMProgressiveMesh_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1972 #define IDirect3DRMProgressiveMesh_AddRef(p) (p)->lpVtbl->AddRef(p)
1973 #define IDirect3DRMProgressiveMesh_Release(p) (p)->lpVtbl->Release(p)
1974 /*** IDirect3DRMObject methods ***/
1975 #define IDirect3DRMProgressiveMesh_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
1976 #define IDirect3DRMProgressiveMesh_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
1977 #define IDirect3DRMProgressiveMesh_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
1978 #define IDirect3DRMProgressiveMesh_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
1979 #define IDirect3DRMProgressiveMesh_GetAppData(p) (p)->lpVtbl->GetAppData(p)
1980 #define IDirect3DRMProgressiveMesh_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1981 #define IDirect3DRMProgressiveMesh_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
1982 #define IDirect3DRMProgressiveMesh_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
1983 /*** IDirect3DRMProgressiveMesh methods ***/
1984 #define IDirect3DRMProgressiveMesh_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
1985 #define IDirect3DRMProgressiveMesh_GetLoadStatus(p,a) (p)->lpVtbl->GetLoadStatus(p,a)
1986 #define IDirect3DRMProgressiveMesh_SetMinRenderDetail(p,a) (p)->lpVtbl->SetMinRenderDetail(p,a)
1987 #define IDirect3DRMProgressiveMesh_Abort(p,a) (p)->lpVtbl->Abort(p,a)
1988 #define IDirect3DRMProgressiveMesh_GetFaceDetail(p,a) (p)->lpVtbl->GetFaceDetail(p,a)
1989 #define IDirect3DRMProgressiveMesh_GetVertexDetail(p,a) (p)->lpVtbl->GetVertexDetail(p,a)
1990 #define IDirect3DRMProgressiveMesh_SetFaceDetail(p,a) (p)->lpVtbl->SetFaceDetail(p,a)
1991 #define IDirect3DRMProgressiveMesh_SetVertexDetail(p,a) (p)->lpVtbl->SetVertexDetail(p,a)
1992 #define IDirect3DRMProgressiveMesh_GetFaceDetailRange(p,a,b) (p)->lpVtbl->GetFaceDetailRange(p,a,b)
1993 #define IDirect3DRMProgressiveMesh_GetVertexDetailRange(p,a,b) (p)->lpVtbl->GetVertexDetailRange(p,a,b)
1994 #define IDirect3DRMProgressiveMesh_GetDetail(p,a) (p)->lpVtbl->GetDetail(p,a)
1995 #define IDirect3DRMProgressiveMesh_SetDetail(p,a) (p)->lpVtbl->SetDetail(p,a)
1996 #define IDirect3DRMProgressiveMesh_RegisterEvents(p,a,b,c) (p)->lpVtbl->RegisterEvents(p,a,b,c)
1997 #define IDirect3DRMProgressiveMesh_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
1998 #define IDirect3DRMProgressiveMesh_Duplicate(p,a) (p)->lpVtbl->Duplicate(p,a)
1999 #define IDirect3DRMProgressiveMesh_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
2000 #define IDirect3DRMProgressiveMesh_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
2001 #define IDirect3DRMProgressiveMesh_GetQuality(p,a) (p)->lpVtbl->GetQuality(p,a)
2003 /*** IUnknown methods ***/
2004 #define IDirect3DRMProgressiveMesh_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2005 #define IDirect3DRMProgressiveMesh_AddRef(p) (p)->AddRef()
2006 #define IDirect3DRMProgressiveMesh_Release(p) (p)->Release()
2007 /*** IDirect3DRMObject methods ***/
2008 #define IDirect3DRMProgressiveMesh_Clone(p,a,b,c) (p)->Clone(a,b,c)
2009 #define IDirect3DRMProgressiveMesh_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2010 #define IDirect3DRMProgressiveMesh_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2011 #define IDirect3DRMProgressiveMesh_SetAppData(p,a) (p)->SetAppData(a)
2012 #define IDirect3DRMProgressiveMesh_GetAppData(p) (p)->GetAppData()
2013 #define IDirect3DRMProgressiveMesh_SetName(p,a) (p)->SetName(a)
2014 #define IDirect3DRMProgressiveMesh_GetName(p,a,b) (p)->GetName(a,b)
2015 #define IDirect3DRMProgressiveMesh_GetClassName(p,a,b) (p)->GetClassName(a,b)
2016 /*** IDirect3DRMProgressiveMesh methods ***/
2017 #define IDirect3DRMProgressiveMesh_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
2018 #define IDirect3DRMProgressiveMesh_GetLoadStatus(p,a) (p)->GetLoadStatus(a)
2019 #define IDirect3DRMProgressiveMesh_SetMinRenderDetail(p,a) (p)->SetMinRenderDetail(a)
2020 #define IDirect3DRMProgressiveMesh_Abort(p,a) (p)->Abort(a)
2021 #define IDirect3DRMProgressiveMesh_GetFaceDetail(p,a) (p)->GetFaceDetail(a)
2022 #define IDirect3DRMProgressiveMesh_GetVertexDetail(p,a) (p)->GetVertexDetail(a)
2023 #define IDirect3DRMProgressiveMesh_SetFaceDetail(p,a) (p)->SetFaceDetail(a)
2024 #define IDirect3DRMProgressiveMesh_SetVertexDetail(p,a) (p)->SetVertexDetail(a)
2025 #define IDirect3DRMProgressiveMesh_GetFaceDetailRange(p,a,b) (p)->GetFaceDetailRange(a,b)
2026 #define IDirect3DRMProgressiveMesh_GetVertexDetailRange(p,a,b) (p)->GetVertexDetailRange(a,b)
2027 #define IDirect3DRMProgressiveMesh_GetDetail(p,a) (p)->GetDetail(a)
2028 #define IDirect3DRMProgressiveMesh_SetDetail(p,a) (p)->SetDetail(a)
2029 #define IDirect3DRMProgressiveMesh_RegisterEvents(p,a,b,c) (p)->RegisterEvents(a,b,c)
2030 #define IDirect3DRMProgressiveMesh_CreateMesh(p,a) (p)->CreateMesh(a)
2031 #define IDirect3DRMProgressiveMesh_Duplicate(p,a) (p)->Duplicate(a)
2032 #define IDirect3DRMProgressiveMesh_GetBox(p,a) (p)->GetBox(a)
2033 #define IDirect3DRMProgressiveMesh_SetQuality(p,a) (p)->SetQuality(a)
2034 #define IDirect3DRMProgressiveMesh_GetQuality(p,a) (p)->GetQuality(a)
2037 /*****************************************************************************
2038 * IDirect3DRMShadow interface
2040 #define INTERFACE IDirect3DRMShadow
2041 DECLARE_INTERFACE_(IDirect3DRMShadow
,IDirect3DRMVisual
)
2043 /*** IUnknown methods ***/
2044 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
2045 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
2046 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
2047 /*** IDirect3DRMObject methods ***/
2048 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
2049 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
2050 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
2051 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
2052 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
2053 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
2054 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
2055 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
2056 /*** IDirect3DRMShadow methods ***/
2057 STDMETHOD(Init
)(THIS_ LPDIRECT3DRMVISUAL visual
, LPDIRECT3DRMLIGHT light
,
2058 D3DVALUE px
, D3DVALUE py
, D3DVALUE pz
, D3DVALUE nx
, D3DVALUE ny
, D3DVALUE nz
) PURE
;
2062 #if !defined(__cplusplus) || defined(CINTERFACE)
2063 /*** IUnknown methods ***/
2064 #define IDirect3DRMShadow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2065 #define IDirect3DRMShadow_AddRef(p) (p)->lpVtbl->AddRef(p)
2066 #define IDirect3DRMShadow_Release(p) (p)->lpVtbl->Release(p)
2067 /*** IDirect3DRMObject methods ***/
2068 #define IDirect3DRMShadow_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2069 #define IDirect3DRMShadow_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2070 #define IDirect3DRMShadow_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2071 #define IDirect3DRMShadow_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2072 #define IDirect3DRMShadow_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2073 #define IDirect3DRMShadow_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2074 #define IDirect3DRMShadow_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2075 #define IDirect3DRMShadow_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2076 /*** IDirect3DRMShadow methods ***/
2077 #define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g) (p)->lpVtbl->Load(p,a,b,c,d,e,f,g)
2079 /*** IUnknown methods ***/
2080 #define IDirect3DRMShadow_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2081 #define IDirect3DRMShadow_AddRef(p) (p)->AddRef()
2082 #define IDirect3DRMShadow_Release(p) (p)->Release()
2083 /*** IDirect3DRMObject methods ***/
2084 #define IDirect3DRMShadow_Clone(p,a,b,c) (p)->Clone(a,b,c)
2085 #define IDirect3DRMShadow_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2086 #define IDirect3DRMShadow_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2087 #define IDirect3DRMShadow_SetAppData(p,a) (p)->SetAppData(a)
2088 #define IDirect3DRMShadow_GetAppData(p) (p)->GetAppData()
2089 #define IDirect3DRMShadow_SetName(p,a) (p)->SetName(a)
2090 #define IDirect3DRMShadow_GetName(p,a,b) (p)->GetName(a,b)
2091 #define IDirect3DRMShadow_GetClassName(p,a,b) (p)->GetClassName(a,b)
2092 /*** IDirect3DRMShadow methods ***/
2093 #define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g) (p)->Load(a,b,c,d,e,f,g)
2096 /*****************************************************************************
2097 * IDirect3DRMShadow2 interface
2099 #define INTERFACE IDirect3DRMShadow2
2100 DECLARE_INTERFACE_(IDirect3DRMShadow2
,IDirect3DRMVisual
)
2102 /*** IUnknown methods ***/
2103 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
2104 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
2105 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
2106 /*** IDirect3DRMObject methods ***/
2107 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
2108 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
2109 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
2110 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
2111 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
2112 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
2113 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
2114 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
2115 /*** IDirect3DRMShadow methods ***/
2116 STDMETHOD(Init
)(THIS_ LPUNKNOWN pUNK
, LPDIRECT3DRMLIGHT light
,
2117 D3DVALUE px
, D3DVALUE py
, D3DVALUE pz
, D3DVALUE nx
, D3DVALUE ny
, D3DVALUE nz
) PURE
;
2118 /*** IDirect3DRMShadow2 methods ***/
2119 STDMETHOD(GetVisual
)(THIS_ LPDIRECT3DRMVISUAL
*) PURE
;
2120 STDMETHOD(SetVisual
)(THIS_ LPUNKNOWN pUNK
, DWORD
) PURE
;
2121 STDMETHOD(GetLight
)(THIS_ LPDIRECT3DRMLIGHT
*) PURE
;
2122 STDMETHOD(SetLight
)(THIS_ LPDIRECT3DRMLIGHT
, DWORD
) PURE
;
2123 STDMETHOD(GetPlane
)(THIS_ LPD3DVALUE px
, LPD3DVALUE py
, LPD3DVALUE pz
,
2124 LPD3DVALUE nx
, LPD3DVALUE ny
, LPD3DVALUE nz
) PURE
;
2125 STDMETHOD(SetPlane
)(THIS_ D3DVALUE px
, D3DVALUE py
, D3DVALUE pz
,
2126 D3DVALUE nx
, D3DVALUE ny
, D3DVALUE nz
, DWORD
) PURE
;
2127 STDMETHOD(GetOptions
)(THIS_ LPDWORD
) PURE
;
2128 STDMETHOD(SetOptions
)(THIS_ DWORD
) PURE
;
2132 #if !defined(__cplusplus) || defined(CINTERFACE)
2133 /*** IUnknown methods ***/
2134 #define IDirect3DRMShadow2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2135 #define IDirect3DRMShadow2_AddRef(p) (p)->lpVtbl->AddRef(p)
2136 #define IDirect3DRMShadow2_Release(p) (p)->lpVtbl->Release(p)
2137 /*** IDirect3DRMObject methods ***/
2138 #define IDirect3DRMShadow2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2139 #define IDirect3DRMShadow2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2140 #define IDirect3DRMShadow2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2141 #define IDirect3DRMShadow2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2142 #define IDirect3DRMShadow2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2143 #define IDirect3DRMShadow2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2144 #define IDirect3DRMShadow2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2145 #define IDirect3DRMShadow2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2146 /*** IDirect3DRMShadow methods ***/
2147 #define IDirect3DRMShadow2_Init(p,a,b,c,d,e,f,g) (p)->lpVtbl->Init(p,a,b,c,d,e,f,g)
2148 /*** IDirect3DRMShadow2 methods ***/
2149 #define IDirect3DRMShadow2_GetVisual(p,a) (p)->lpVtbl->GetVisual(p,a)
2150 #define IDirect3DRMShadow2_SetVisual(p,a,b) (p)->lpVtbl->SetVisual(p,a,b)
2151 #define IDirect3DRMShadow2_GetLight(p,a) (p)->lpVtbl->GetLight(p,a)
2152 #define IDirect3DRMShadow2_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
2153 #define IDirect3DRMShadow2_GetPlane(p,a,b,c,d,e,f) (p)->lpVtbl->GetPlane(p,a,b,c,d,e,f)
2154 #define IDirect3DRMShadow2_SetPlane(p,a,b,c,d,e,f) (p)->lpVtbl->SetPlane(p,a,b,c,d,e,f)
2155 #define IDirect3DRMShadow2_GetOptions(p,a) (p)->lpVtbl->GetOptions(p,a)
2156 #define IDirect3DRMShadow2_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
2158 /*** IUnknown methods ***/
2159 #define IDirect3DRMShadow2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2160 #define IDirect3DRMShadow2_AddRef(p) (p)->AddRef()
2161 #define IDirect3DRMShadow2_Release(p) (p)->Release()
2162 /*** IDirect3DRMObject methods ***/
2163 #define IDirect3DRMShadow2_Clone(p,a,b,c) (p)->Clone(a,b,c)
2164 #define IDirect3DRMShadow2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2165 #define IDirect3DRMShadow2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2166 #define IDirect3DRMShadow2_SetAppData(p,a) (p)->SetAppData(a)
2167 #define IDirect3DRMShadow2_GetAppData(p) (p)->GetAppData()
2168 #define IDirect3DRMShadow2_SetName(p,a) (p)->SetName(a)
2169 #define IDirect3DRMShadow2_GetName(p,a,b) (p)->GetName(a,b)
2170 #define IDirect3DRMShadow2_GetClassName(p,a,b) (p)->GetClassName(a,b)
2171 /*** IDirect3DRMShadow methods ***/
2172 #define IDirect3DRMShadow2_Init(p,a,b,c,d,e,f,g) (p)->Init(a,b,c,d,e,f,g)
2173 /*** IDirect3DRMShadow2 methods ***/
2174 #define IDirect3DRMShadow2_GetVisual(p,a) (p)->GetVisual(a)
2175 #define IDirect3DRMShadow2_SetVisual(p,a,b) (p)->SetVisual(a,b)
2176 #define IDirect3DRMShadow2_GetLight(p,a) (p)->GetLight(a)
2177 #define IDirect3DRMShadow2_SetLight(p,a,b) (p)->SetLight(a,b)
2178 #define IDirect3DRMShadow2_GetPlane(p,a,b,c,d,e,f) (p)->GetPlane(a,b,c,d,e,f)
2179 #define IDirect3DRMShadow2_SetPlane(p,a,b,c,d,e,f) (p)->SetPlane(a,b,c,d,e,f)
2180 #define IDirect3DRMShadow2_GetOptions(p,a) (p)->GetOptions(a)
2181 #define IDirect3DRMShadow2_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
2184 /*****************************************************************************
2185 * IDirect3DRMFace interface
2187 #define INTERFACE IDirect3DRMFace
2188 DECLARE_INTERFACE_(IDirect3DRMFace
,IDirect3DRMObject
)
2190 /*** IUnknown methods ***/
2191 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
2192 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
2193 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
2194 /*** IDirect3DRMObject methods ***/
2195 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
2196 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
2197 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
2198 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
2199 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
2200 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
2201 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
2202 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
2203 /*** IDirect3DRMFace methods ***/
2204 STDMETHOD(AddVertex
)(THIS_ D3DVALUE x
, D3DVALUE y
, D3DVALUE z
) PURE
;
2205 STDMETHOD(AddVertexAndNormalIndexed
)(THIS_ DWORD vertex
, DWORD normal
) PURE
;
2206 STDMETHOD(SetColorRGB
)(THIS_ D3DVALUE
, D3DVALUE
, D3DVALUE
) PURE
;
2207 STDMETHOD(SetColor
)(THIS_ D3DCOLOR
) PURE
;
2208 STDMETHOD(SetTexture
)(THIS_ LPDIRECT3DRMTEXTURE
) PURE
;
2209 STDMETHOD(SetTextureCoordinates
)(THIS_ DWORD vertex
, D3DVALUE u
, D3DVALUE v
) PURE
;
2210 STDMETHOD(SetMaterial
)(THIS_ LPDIRECT3DRMMATERIAL
) PURE
;
2211 STDMETHOD(SetTextureTopology
)(THIS_ BOOL wrap_u
, BOOL wrap_v
) PURE
;
2212 STDMETHOD(GetVertex
)(THIS_ DWORD index
, D3DVECTOR
*vertex
, D3DVECTOR
*normal
) PURE
;
2213 STDMETHOD(GetVertices
)(THIS_ DWORD
*vertex_count
, D3DVECTOR
*coords
, D3DVECTOR
*normals
);
2214 STDMETHOD(GetTextureCoordinates
)(THIS_ DWORD vertex
, D3DVALUE
*u
, D3DVALUE
*v
) PURE
;
2215 STDMETHOD(GetTextureTopology
)(THIS_ BOOL
*wrap_u
, BOOL
*wrap_v
) PURE
;
2216 STDMETHOD(GetNormal
)(THIS_ D3DVECTOR
*) PURE
;
2217 STDMETHOD(GetTexture
)(THIS_ LPDIRECT3DRMTEXTURE
*) PURE
;
2218 STDMETHOD(GetMaterial
)(THIS_ LPDIRECT3DRMMATERIAL
*) PURE
;
2219 STDMETHOD_(int, GetVertexCount
)(THIS
) PURE
;
2220 STDMETHOD_(int, GetVertexIndex
)(THIS_ DWORD which
) PURE
;
2221 STDMETHOD_(int, GetTextureCoordinateIndex
)(THIS_ DWORD which
) PURE
;
2222 STDMETHOD_(D3DCOLOR
, GetColor
)(THIS
) PURE
;
2226 #if !defined(__cplusplus) || defined(CINTERFACE)
2227 /*** IUnknown methods ***/
2228 #define IDirect3DRMFace_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2229 #define IDirect3DRMFace_AddRef(p) (p)->lpVtbl->AddRef(p)
2230 #define IDirect3DRMFace_Release(p) (p)->lpVtbl->Release(p)
2231 /*** IDirect3DRMObject methods ***/
2232 #define IDirect3DRMFace_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2233 #define IDirect3DRMFace_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2234 #define IDirect3DRMFace_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2235 #define IDirect3DRMFace_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2236 #define IDirect3DRMFace_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2237 #define IDirect3DRMFace_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2238 #define IDirect3DRMFace_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2239 #define IDirect3DRMFace_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2240 /*** IDirect3DRMFace methods ***/
2241 #define IDirect3DRMFace_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2242 #define IDirect3DRMFace_AddVertexAndNormalIndexed(p,a,b) (p)->lpVtbl->AddVertexAndNormalIndexed(p,a,b)
2243 #define IDirect3DRMFace_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2244 #define IDirect3DRMFace_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2245 #define IDirect3DRMFace_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2246 #define IDirect3DRMFace_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2247 #define IDirect3DRMFace_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
2248 #define IDirect3DRMFace_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2249 #define IDirect3DRMFace_GetVertex(p,a,b,c) (p)->lpVtbl->GetVertex(p,a,b,c)
2250 #define IDirect3DRMFace_GetVertices(p,a,b,c) (p)->lpVtbl->GetVertices(p,a,b,c)
2251 #define IDirect3DRMFace_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2252 #define IDirect3DRMFace_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
2253 #define IDirect3DRMFace_GetNormal(p,a) (p)->lpVtbl->GetNormal(p,a)
2254 #define IDirect3DRMFace_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
2255 #define IDirect3DRMFace_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2256 #define IDirect3DRMFace_GetVertexIndex(p,a) (p)->lpVtbl->GetVertexIndex(p,a)
2257 #define IDirect3DRMFace_GetTextureCoordinateIndex(p,a) (p)->lpVtbl->GetTextureCoordinateIndex(p,a)
2258 #define IDirect3DRMFace_GetColor(p,a) (p)->lpVtbl->GetColor(p,a)
2260 /*** IUnknown methods ***/
2261 #define IDirect3DRMFace_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2262 #define IDirect3DRMFace_AddRef(p) (p)->AddRef()
2263 #define IDirect3DRMFace_Release(p) (p)->Release()
2264 /*** IDirect3DRMObject methods ***/
2265 #define IDirect3DRMFace_Clone(p,a,b,c) (p)->Clone(a,b,c)
2266 #define IDirect3DRMFace_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2267 #define IDirect3DRMFace_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2268 #define IDirect3DRMFace_SetAppData(p,a) (p)->SetAppData(a)
2269 #define IDirect3DRMFace_GetAppData(p) (p)->GetAppData()
2270 #define IDirect3DRMFace_SetName(p,a) (p)->SetName(a)
2271 #define IDirect3DRMFace_GetName(p,a,b) (p)->GetName(a,b)
2272 #define IDirect3DRMFace_GetClassName(p,a,b) (p)->GetClassName(a,b)
2273 /*** IDirect3DRMFace methods ***/
2274 #define IDirect3DRMFace_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
2275 #define IDirect3DRMFace_AddVertexAndNormalIndexed(p,a,b) (p)->AddVertexAndNormalIndexed(a,b)
2276 #define IDirect3DRMFace_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
2277 #define IDirect3DRMFace_SetColor(p,a) (p)->SetColor(a)
2278 #define IDirect3DRMFace_SetTexture(p,a) (p)->SetTexture(a)
2279 #define IDirect3DRMFace_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
2280 #define IDirect3DRMFace_SetMaterial(p,a) (p)->SetMaterial(a)
2281 #define IDirect3DRMFace_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
2282 #define IDirect3DRMFace_GetVertex(p,a,b,c) (p)->GetVertex(a,b,c)
2283 #define IDirect3DRMFace_GetVertices(p,a,b,c) (p)->GetVertices(a,b,c)
2284 #define IDirect3DRMFace_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
2285 #define IDirect3DRMFace_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
2286 #define IDirect3DRMFace_GetNormal(p,a) (p)->GetNormal(a)
2287 #define IDirect3DRMFace_GetTexture(p,a) (p)->GetTexture(a)
2288 #define IDirect3DRMFace_GetVertexCount(p) (p)->GetVertexCount()
2289 #define IDirect3DRMFace_GetVertexIndex(p,a) (p)->GetVertexIndex(a)
2290 #define IDirect3DRMFace_GetTextureCoordinateIndex(p,a) (p)->GetTextureCoordinateIndex(a)
2291 #define IDirect3DRMFace_GetColor(p,a) (p)->GetColor(a)
2294 /*****************************************************************************
2295 * IDirect3DRMFace2 interface
2297 #define INTERFACE IDirect3DRMFace2
2298 DECLARE_INTERFACE_(IDirect3DRMFace2
,IDirect3DRMObject
)
2300 /*** IUnknown methods ***/
2301 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
2302 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
2303 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
2304 /*** IDirect3DRMObject methods ***/
2305 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
2306 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
2307 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
2308 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
2309 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
2310 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
2311 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
2312 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
2313 /*** IDirect3DRMFace methods ***/
2314 STDMETHOD(AddVertex
)(THIS_ D3DVALUE x
, D3DVALUE y
, D3DVALUE z
) PURE
;
2315 STDMETHOD(AddVertexAndNormalIndexed
)(THIS_ DWORD vertex
, DWORD normal
) PURE
;
2316 STDMETHOD(SetColorRGB
)(THIS_ D3DVALUE
, D3DVALUE
, D3DVALUE
) PURE
;
2317 STDMETHOD(SetColor
)(THIS_ D3DCOLOR
) PURE
;
2318 STDMETHOD(SetTexture
)(THIS_ LPDIRECT3DRMTEXTURE3
) PURE
;
2319 STDMETHOD(SetTextureCoordinates
)(THIS_ DWORD vertex
, D3DVALUE u
, D3DVALUE v
) PURE
;
2320 STDMETHOD(SetMaterial
)(THIS_ LPDIRECT3DRMMATERIAL2
) PURE
;
2321 STDMETHOD(SetTextureTopology
)(THIS_ BOOL wrap_u
, BOOL wrap_v
) PURE
;
2322 STDMETHOD(GetVertex
)(THIS_ DWORD index
, D3DVECTOR
*vertex
, D3DVECTOR
*normal
) PURE
;
2323 STDMETHOD(GetVertices
)(THIS_ DWORD
*vertex_count
, D3DVECTOR
*coords
, D3DVECTOR
*normals
);
2324 STDMETHOD(GetTextureCoordinates
)(THIS_ DWORD vertex
, D3DVALUE
*u
, D3DVALUE
*v
) PURE
;
2325 STDMETHOD(GetTextureTopology
)(THIS_ BOOL
*wrap_u
, BOOL
*wrap_v
) PURE
;
2326 STDMETHOD(GetNormal
)(THIS_ D3DVECTOR
*) PURE
;
2327 STDMETHOD(GetTexture
)(THIS_ LPDIRECT3DRMTEXTURE3
*) PURE
;
2328 STDMETHOD(GetMaterial
)(THIS_ LPDIRECT3DRMMATERIAL2
*) PURE
;
2329 STDMETHOD_(int, GetVertexCount
)(THIS
) PURE
;
2330 STDMETHOD_(int, GetVertexIndex
)(THIS_ DWORD which
) PURE
;
2331 STDMETHOD_(int, GetTextureCoordinateIndex
)(THIS_ DWORD which
) PURE
;
2332 STDMETHOD_(D3DCOLOR
, GetColor
)(THIS
) PURE
;
2336 #if !defined(__cplusplus) || defined(CINTERFACE)
2337 /*** IUnknown methods ***/
2338 #define IDirect3DRMFace2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2339 #define IDirect3DRMFace2_AddRef(p) (p)->lpVtbl->AddRef(p)
2340 #define IDirect3DRMFace2_Release(p) (p)->lpVtbl->Release(p)
2341 /*** IDirect3DRMObject methods ***/
2342 #define IDirect3DRMFace2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2343 #define IDirect3DRMFace2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2344 #define IDirect3DRMFace2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2345 #define IDirect3DRMFace2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2346 #define IDirect3DRMFace2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2347 #define IDirect3DRMFace2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2348 #define IDirect3DRMFace2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2349 #define IDirect3DRMFace2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2350 /*** IDirect3DRMFace methods ***/
2351 #define IDirect3DRMFace2_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2352 #define IDirect3DRMFace2_AddVertexAndNormalIndexed(p,a,b) (p)->lpVtbl->AddVertexAndNormalIndexed(p,a,b)
2353 #define IDirect3DRMFace2_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2354 #define IDirect3DRMFace2_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2355 #define IDirect3DRMFace2_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2356 #define IDirect3DRMFace2_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2357 #define IDirect3DRMFace2_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
2358 #define IDirect3DRMFace2_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2359 #define IDirect3DRMFace2_GetVertex(p,a,b,c) (p)->lpVtbl->GetVertex(p,a,b,c)
2360 #define IDirect3DRMFace2_GetVertices(p,a,b,c) (p)->lpVtbl->GetVertices(p,a,b,c)
2361 #define IDirect3DRMFace2_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2362 #define IDirect3DRMFace2_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
2363 #define IDirect3DRMFace2_GetNormal(p,a) (p)->lpVtbl->GetNormal(p,a)
2364 #define IDirect3DRMFace2_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
2365 #define IDirect3DRMFace2_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2366 #define IDirect3DRMFace2_GetVertexIndex(p,a) (p)->lpVtbl->GetVertexIndex(p,a)
2367 #define IDirect3DRMFace2_GetTextureCoordinateIndex(p,a) (p)->lpVtbl->GetTextureCoordinateIndex(p,a)
2368 #define IDirect3DRMFace2_GetColor(p,a) (p)->lpVtbl->GetColor(p,a)
2370 /*** IUnknown methods ***/
2371 #define IDirect3DRMFace2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2372 #define IDirect3DRMFace2_AddRef(p) (p)->AddRef()
2373 #define IDirect3DRMFace2_Release(p) (p)->Release()
2374 /*** IDirect3DRMObject methods ***/
2375 #define IDirect3DRMFace2_Clone(p,a,b,c) (p)->Clone(a,b,c)
2376 #define IDirect3DRMFace2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2377 #define IDirect3DRMFace2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2378 #define IDirect3DRMFace2_SetAppData(p,a) (p)->SetAppData(a)
2379 #define IDirect3DRMFace2_GetAppData(p) (p)->GetAppData()
2380 #define IDirect3DRMFace2_SetName(p,a) (p)->SetName(a)
2381 #define IDirect3DRMFace2_GetName(p,a,b) (p)->GetName(a,b)
2382 #define IDirect3DRMFace2_GetClassName(p,a,b) (p)->GetClassName(a,b)
2383 /*** IDirect3DRMFace methods ***/
2384 #define IDirect3DRMFace2_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
2385 #define IDirect3DRMFace2_AddVertexAndNormalIndexed(p,a,b) (p)->AddVertexAndNormalIndexed(a,b)
2386 #define IDirect3DRMFace2_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
2387 #define IDirect3DRMFace2_SetColor(p,a) (p)->SetColor(a)
2388 #define IDirect3DRMFace2_SetTexture(p,a) (p)->SetTexture(a)
2389 #define IDirect3DRMFace2_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
2390 #define IDirect3DRMFace2_SetMaterial(p,a) (p)->SetMaterial(a)
2391 #define IDirect3DRMFace2_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
2392 #define IDirect3DRMFace2_GetVertex(p,a,b,c) (p)->GetVertex(a,b,c)
2393 #define IDirect3DRMFace2_GetVertices(p,a,b,c) (p)->GetVertices(a,b,c)
2394 #define IDirect3DRMFace2_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
2395 #define IDirect3DRMFace2_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
2396 #define IDirect3DRMFace2_GetNormal(p,a) (p)->GetNormal(a)
2397 #define IDirect3DRMFace2_GetTexture(p,a) (p)->GetTexture(a)
2398 #define IDirect3DRMFace2_GetVertexCount(p) (p)->GetVertexCount()
2399 #define IDirect3DRMFace2_GetVertexIndex(p,a) (p)->GetVertexIndex(a)
2400 #define IDirect3DRMFace2_GetTextureCoordinateIndex(p,a) (p)->GetTextureCoordinateIndex(a)
2401 #define IDirect3DRMFace2_GetColor(p,a) (p)->GetColor(a)
2404 /*****************************************************************************
2405 * IDirect3DRMMeshBuilder interface
2407 #define INTERFACE IDirect3DRMMeshBuilder
2408 DECLARE_INTERFACE_(IDirect3DRMMeshBuilder
,IDirect3DRMVisual
)
2410 /*** IUnknown methods ***/
2411 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
2412 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
2413 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
2414 /*** IDirect3DRMObject methods ***/
2415 STDMETHOD(Clone
)(THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID
*ppvObj
) PURE
;
2416 STDMETHOD(AddDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
2417 STDMETHOD(DeleteDestroyCallback
)(THIS_ D3DRMOBJECTCALLBACK
, LPVOID argument
) PURE
;
2418 STDMETHOD(SetAppData
)(THIS_ DWORD data
) PURE
;
2419 STDMETHOD_(DWORD
, GetAppData
)(THIS
) PURE
;
2420 STDMETHOD(SetName
)(THIS_ LPCSTR
) PURE
;
2421 STDMETHOD(GetName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
2422 STDMETHOD(GetClassName
)(THIS_ LPDWORD lpdwSize
, LPSTR lpName
) PURE
;
2423 /*** IDirect3DRMMeshBuilder methods ***/
2424 STDMETHOD(Load
)(THIS_ LPVOID filename
, LPVOID name
, D3DRMLOADOPTIONS loadflags
, D3DRMLOADTEXTURECALLBACK
, LPVOID pArg
) PURE
;
2425 STDMETHOD(Save
)(THIS_
const char *filename
, D3DRMXOFFORMAT
, D3DRMSAVEOPTIONS save
) PURE
;
2426 STDMETHOD(Scale
)(THIS_ D3DVALUE sx
, D3DVALUE sy
, D3DVALUE sz
) PURE
;
2427 STDMETHOD(Translate
)(THIS_ D3DVALUE tx
, D3DVALUE ty
, D3DVALUE tz
) PURE
;
2428 STDMETHOD(SetColorSource
)(THIS_ D3DRMCOLORSOURCE
) PURE
;
2429 STDMETHOD(GetBox
)(THIS_ D3DRMBOX
*) PURE
;
2430 STDMETHOD(GenerateNormals
)(THIS
) PURE
;
2431 STDMETHOD_(D3DRMCOLORSOURCE
, GetColorSource
)(THIS
) PURE
;
2432 STDMETHOD(AddMesh
)(THIS_ LPDIRECT3DRMMESH
) PURE
;
2433 STDMETHOD(AddMeshBuilder
)(THIS_ LPDIRECT3DRMMESHBUILDER
) PURE
;
2434 STDMETHOD(AddFrame
)(THIS_ LPDIRECT3DRMFRAME
) PURE
;
2435 STDMETHOD(AddFace
)(THIS_ LPDIRECT3DRMFACE
) PURE
;
2436 STDMETHOD(AddFaces
)(THIS_ DWORD vcount
, D3DVECTOR
*vertices
, DWORD ncount
, D3DVECTOR
*normals
, DWORD
*data
,
2437 LPDIRECT3DRMFACEARRAY
*) PURE
;
2438 STDMETHOD(ReserveSpace
)(THIS_ DWORD vertex_Count
, DWORD normal_count
, DWORD face_count
) PURE
;
2439 STDMETHOD(SetColorRGB
)(THIS_ D3DVALUE red
, D3DVALUE green
, D3DVALUE blue
) PURE
;
2440 STDMETHOD(SetColor
)(THIS_ D3DCOLOR
) PURE
;
2441 STDMETHOD(SetTexture
)(THIS_ LPDIRECT3DRMTEXTURE
) PURE
;
2442 STDMETHOD(SetMaterial
)(THIS_ LPDIRECT3DRMMATERIAL
) PURE
;
2443 STDMETHOD(SetTextureTopology
)(THIS_ BOOL wrap_u
, BOOL wrap_v
) PURE
;
2444 STDMETHOD(SetQuality
)(THIS_ D3DRMRENDERQUALITY
) PURE
;
2445 STDMETHOD(SetPerspective
)(THIS_ BOOL
) PURE
;
2446 STDMETHOD(SetVertex
)(THIS_ DWORD index
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
) PURE
;
2447 STDMETHOD(SetNormal
)(THIS_ DWORD index
, D3DVALUE x
, D3DVALUE y
, D3DVALUE z
) PURE
;
2448 STDMETHOD(SetTextureCoordinates
)(THIS_ DWORD index
, D3DVALUE u
, D3DVALUE v
) PURE
;
2449 STDMETHOD(SetVertexColor
)(THIS_ DWORD index
, D3DCOLOR
) PURE
;
2450 STDMETHOD(SetVertexColorRGB
)(THIS_ DWORD index
, D3DVALUE red
, D3DVALUE green
, D3DVALUE blue
) PURE
;
2451 STDMETHOD(GetFaces
)(THIS_ LPDIRECT3DRMFACEARRAY
*) PURE
;
2452 STDMETHOD(GetVertices
)(THIS_ DWORD
*vcount
, D3DVECTOR
*vertices
, DWORD
*ncount
, D3DVECTOR
*normals
,
2453 DWORD
*face_data_size
, DWORD
*face_data
) PURE
;
2454 STDMETHOD(GetTextureCoordinates
)(THIS_ DWORD index
, D3DVALUE
*u
, D3DVALUE
*v
) PURE
;
2455 STDMETHOD_(int, AddVertex
)(THIS_ D3DVALUE x
, D3DVALUE y
, D3DVALUE z
) PURE
;
2456 STDMETHOD_(int, AddNormal
)(THIS_ D3DVALUE x
, D3DVALUE y
, D3DVALUE z
) PURE
;
2457 STDMETHOD(CreateFace
)(THIS_ LPDIRECT3DRMFACE
*) PURE
;
2458 STDMETHOD_(D3DRMRENDERQUALITY
, GetQuality
)(THIS
) PURE
;
2459 STDMETHOD_(BOOL
, GetPerspective
)(THIS
) PURE
;
2460 STDMETHOD_(int, GetFaceCount
)(THIS
) PURE
;
2461 STDMETHOD_(int, GetVertexCount
)(THIS
) PURE
;
2462 STDMETHOD_(D3DCOLOR
, GetVertexColor
)(THIS_ DWORD index
) PURE
;
2463 STDMETHOD(CreateMesh
)(THIS_ LPDIRECT3DRMMESH
*) PURE
;
2467 #if !defined(__cplusplus) || defined(CINTERFACE)
2468 /*** IUnknown methods ***/
2469 #define IDirect3DRMMeshBuilder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2470 #define IDirect3DRMMeshBuilder_AddRef(p) (p)->lpVtbl->AddRef(p)
2471 #define IDirect3DRMMeshBuilder_Release(p) (p)->lpVtbl->Release(p)
2472 /*** IDirect3DRMObject methods ***/
2473 #define IDirect3DRMMeshBuilder_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2474 #define IDirect3DRMMeshBuilder_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2475 #define IDirect3DRMMeshBuilder_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2476 #define IDirect3DRMMeshBuilder_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2477 #define IDirect3DRMMeshBuilder_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2478 #define IDirect3DRMMeshBuilder_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2479 #define IDirect3DRMMeshBuilder_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2480 #define IDirect3DRMMeshBuilder_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2481 /*** IDirect3DRMMeshBuilder methods ***/
2482 #define IDirect3DRMMeshBuilder_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
2483 #define IDirect3DRMMeshBuilder_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
2484 #define IDirect3DRMMeshBuilder_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
2485 #define IDirect3DRMMeshBuilder_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a)
2486 #define IDirect3DRMMeshBuilder_SetColorSource(p,a) (p)->lpVtbl->SetColorSource(p,a,b,c)
2487 #define IDirect3DRMMeshBuilder_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
2488 #define IDirect3DRMMeshBuilder_GenerateNormals(p) (p)->lpVtbl->GenerateNormals(p)
2489 #define IDirect3DRMMeshBuilder_GetColorSource(p) (p)->lpVtbl->GetColorSource(p)
2490 #define IDirect3DRMMeshBuilder_AddMesh(p,a) (p)->lpVtbl->AddMesh(p,a)
2491 #define IDirect3DRMMeshBuilder_AddMeshBuilder(p,a) (p)->lpVtbl->AddMeshBuilder(p,a)
2492 #define IDirect3DRMMeshBuilder_AddFrame(p,a) (p)->lpVtbl->AddFrame(p,a)
2493 #define IDirect3DRMMeshBuilder_AddFace(p,a) (p)->lpVtbl->AddFace(p,a)
2494 #define IDirect3DRMMeshBuilder_AddFaces(p,a,b,c,d,e,f) (p)->lpVtbl->AddFaces(p,a,b,c,d,e,f)
2495 #define IDirect3DRMMeshBuilder_ReserveSpace(p,a,b,c) (p)->lpVtbl->ReserveSpace(p,a,b,c)
2496 #define IDirect3DRMMeshBuilder_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2497 #define IDirect3DRMMeshBuilder_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2498 #define IDirect3DRMMeshBuilder_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2499 #define IDirect3DRMMeshBuilder_SetMateria(p,a) (p)->lpVtbl->SetMateria(p,a)
2500 #define IDirect3DRMMeshBuilder_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2501 #define IDirect3DRMMeshBuilder_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
2502 #define IDirect3DRMMeshBuilder_SetPerspective(p,a) (p)->lpVtbl->SetPerspective(p,a)
2503 #define IDirect3DRMMeshBuilder_SetVertex(p,a,b,c,d) (p)->lpVtbl->SetVertex(p,a,b,c,d)
2504 #define IDirect3DRMMeshBuilder_SetNormal(p,a,b,c,d) (p)->lpVtbl->SetNormal(p,a,b,c,d)
2505 #define IDirect3DRMMeshBuilder_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2506 #define IDirect3DRMMeshBuilder_SetVertexColor(p,a,b) (p)->lpVtbl->SetVertexColor(p,a,b)
2507 #define IDirect3DRMMeshBuilder_SetVertexColorRGB(p,a,b,c,d) (p)->lpVtbl->SetVertexColorRGB(p,a,b,c,d)
2508 #define IDirect3DRMMeshBuilder_GetFaces(p,a) (p)->lpVtbl->GetFaces(p,a)
2509 #define IDirect3DRMMeshBuilder_GetVertices(p,a,b,c,d,e,f) (p)->lpVtbl->GetVertices(p,a,b,c,d,e,f)
2510 #define IDirect3DRMMeshBuilder_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2511 #define IDirect3DRMMeshBuilder_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2512 #define IDirect3DRMMeshBuilder_AddNormal(p,a,b,c) (p)->lpVtbl->AddNormal(p,a,b,c)
2513 #define IDirect3DRMMeshBuilder_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
2514 #define IDirect3DRMMeshBuilder_GetQuality(p) (p)->lpVtbl->GetQuality(p)
2515 #define IDirect3DRMMeshBuilder_GetPerspective(p) (p)->lpVtbl->GetPerspective(p)
2516 #define IDirect3DRMMeshBuilder_GetFaceCount(p) (p)->lpVtbl->GetFaceCount(p)
2517 #define IDirect3DRMMeshBuilder_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2518 #define IDirect3DRMMeshBuilder_GetVertexColor(p,a) (p)->lpVtbl->GetVertexColor(p,a)
2519 #define IDirect3DRMMeshBuilder_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
2521 /*** IUnknown methods ***/
2522 #define IDirect3DRMMeshBuilder_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2523 #define IDirect3DRMMeshBuilder_AddRef(p) (p)->AddRef()
2524 #define IDirect3DRMMeshBuilder_Release(p) (p)->Release()
2525 /*** IDirect3DRMObject methods ***/
2526 #define IDirect3DRMMeshBuilder_Clone(p,a,b,c) (p)->Clone(a,b,c)
2527 #define IDirect3DRMMeshBuilder_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2528 #define IDirect3DRMMeshBuilder_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2529 #define IDirect3DRMMeshBuilder_SetAppData(p,a) (p)->SetAppData(a)
2530 #define IDirect3DRMMeshBuilder_GetAppData(p) (p)->GetAppData()
2531 #define IDirect3DRMMeshBuilder_SetName(p,a) (p)->SetName(a)
2532 #define IDirect3DRMMeshBuilder_GetName(p,a,b) (p)->GetName(a,b)
2533 #define IDirect3DRMMeshBuilder_GetClassName(p,a,b) (p)->GetClassName(a,b)
2534 /*** IDirect3DRMMeshBuilder methods ***/
2535 #define IDirect3DRMMeshBuilder_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
2536 #define IDirect3DRMMeshBuilder_Save(p,a,b,c) (p)->Save(a,b,c)
2537 #define IDirect3DRMMeshBuilder_Scale(p,a,b,c) (p)->Scale(a,b,c)
2538 #define IDirect3DRMMeshBuilder_Translate(p,a,b,c) (p)->Translate(a)
2539 #define IDirect3DRMMeshBuilder_SetColorSource(p,a) (p)->SetColorSource(a,b,c)
2540 #define IDirect3DRMMeshBuilder_GetBox(p,a) (p)->GetBox(a)
2541 #define IDirect3DRMMeshBuilder_GenerateNormals(p) (p)->GenerateNormals()
2542 #define IDirect3DRMMeshBuilder_GetColorSource(p) (p)->GetColorSource()
2543 #define IDirect3DRMMeshBuilder_AddMesh(p,a) (p)-->AddMesh(a)
2544 #define IDirect3DRMMeshBuilder_AddMeshBuilder(p,a) (p)->AddMeshBuilder(a)
2545 #define IDirect3DRMMeshBuilder_AddFrame(p,a) (p)->AddFrame(a)
2546 #define IDirect3DRMMeshBuilder_AddFace(p,a) (p)->AddFace(a)
2547 #define IDirect3DRMMeshBuilder_AddFaces(p,a,b,c,d,e,f) (p)->AddFaces(a,b,c,d,e,f)
2548 #define IDirect3DRMMeshBuilder_ReserveSpace(p,a,b,c) (p)->ReserveSpace(a,b,c)
2549 #define IDirect3DRMMeshBuilder_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
2550 #define IDirect3DRMMeshBuilder_SetColor(p,a) (p)->SetColor(a)
2551 #define IDirect3DRMMeshBuilder_SetTexture(p,a) (p)->SetTexture(a)
2552 #define IDirect3DRMMeshBuilder_SetMateria(p,a) (p)->SetMateria(a)
2553 #define IDirect3DRMMeshBuilder_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
2554 #define IDirect3DRMMeshBuilder_SetQuality(p,a) (p)->SetQuality(a)
2555 #define IDirect3DRMMeshBuilder_SetPerspective(p,a) (p)->SetPerspective(a)
2556 #define IDirect3DRMMeshBuilder_SetVertex(p,a,b,c,d) (p)->SetVertex(a,b,c,d)
2557 #define IDirect3DRMMeshBuilder_SetNormal(p,a,b,c,d) (p)->SetNormal(a,b,c,d)
2558 #define IDirect3DRMMeshBuilder_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
2559 #define IDirect3DRMMeshBuilder_SetVertexColor(p,a,b) (p)->SetVertexColor(a,b)
2560 #define IDirect3DRMMeshBuilder_SetVertexColorRGB(p,a,b,c,d) (p)->SetVertexColorRGB(a,b,c,d)
2561 #define IDirect3DRMMeshBuilder_GetFaces(p,a) (p)->GetFaces(a)
2562 #define IDirect3DRMMeshBuilder_GetVertices(p,a,b,c,d,e,f) (p)->GetVertices(a,b,c,d,e,f)
2563 #define IDirect3DRMMeshBuilder_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
2564 #define IDirect3DRMMeshBuilder_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
2565 #define IDirect3DRMMeshBuilder_AddNormal(p,a,b,c) (p)->AddNormal(a,b,c)
2566 #define IDirect3DRMMeshBuilder_CreateFace(p,a) (p)->CreateFace(a)
2567 #define IDirect3DRMMeshBuilder_GetQuality(p) (p)->GetQuality()
2568 #define IDirect3DRMMeshBuilder_GetPerspective(p) (p)->GetPerspective()
2569 #define IDirect3DRMMeshBuilder_GetFaceCount(p) (p)->GetFaceCount()
2570 #define IDirect3DRMMeshBuilder_GetVertexCount(p) (p)->GetVertexCount()
2571 #define IDirect3DRMMeshBuilder_GetVertexColor(p,a) (p)->GetVertexColor(a)
2572 #define IDirect3DRMMeshBuilder_CreateMesh(p,a) (p)->CreateMesh(a)
2579 #endif /* __D3DRMOBJ_H__ */