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_IDirect3DRMObject2, 0x4516ec7c, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
38 DEFINE_GUID(IID_IDirect3DRMDevice, 0xe9e19280, 0x6e05, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
39 DEFINE_GUID(IID_IDirect3DRMDevice2, 0x4516ec78, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
40 DEFINE_GUID(IID_IDirect3DRMDevice3, 0x549f498b, 0xbfeb, 0x11d1, 0x8e, 0xd8, 0x00, 0xa0, 0xc9, 0x67, 0xa4, 0x82);
41 DEFINE_GUID(IID_IDirect3DRMViewport, 0xeb16cb02, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
42 DEFINE_GUID(IID_IDirect3DRMViewport2, 0x4a1b1be6, 0xbfed, 0x11d1, 0x8e, 0xd8, 0x00, 0xa0, 0xc9, 0x67, 0xa4, 0x82);
43 DEFINE_GUID(IID_IDirect3DRMFrame, 0xeb16cb03, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
44 DEFINE_GUID(IID_IDirect3DRMFrame2, 0xc3dfbd60, 0x3988, 0x11d0, 0x9e, 0xc2, 0x00, 0x00, 0xc0, 0x29, 0x1a, 0xc3);
45 DEFINE_GUID(IID_IDirect3DRMFrame3, 0xff6b7f70, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
46 DEFINE_GUID(IID_IDirect3DRMVisual, 0xeb16cb04, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
47 DEFINE_GUID(IID_IDirect3DRMMesh, 0xa3a80d01, 0x6e12, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
48 DEFINE_GUID(IID_IDirect3DRMMeshBuilder, 0xa3a80d02, 0x6e12, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
49 DEFINE_GUID(IID_IDirect3DRMMeshBuilder2, 0x4516ec77, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
50 DEFINE_GUID(IID_IDirect3DRMMeshBuilder3, 0x4516ec82, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
51 DEFINE_GUID(IID_IDirect3DRMFace, 0xeb16cb07, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
52 DEFINE_GUID(IID_IDirect3DRMFace2, 0x4516ec81, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
53 DEFINE_GUID(IID_IDirect3DRMLight, 0xeb16cb08, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
54 DEFINE_GUID(IID_IDirect3DRMTexture, 0xeb16cb09, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
55 DEFINE_GUID(IID_IDirect3DRMTexture2, 0x120f30c0, 0x1629, 0x11d0, 0x94, 0x1c, 0x00, 0x80, 0xc8, 0x0c, 0xfa, 0x7b);
56 DEFINE_GUID(IID_IDirect3DRMTexture3, 0xff6b7f73, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
57 DEFINE_GUID(IID_IDirect3DRMWrap, 0xeb16cb0a, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
58 DEFINE_GUID(IID_IDirect3DRMMaterial, 0xeb16cb0b, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
59 DEFINE_GUID(IID_IDirect3DRMMaterial2, 0xff6b7f75, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
60 DEFINE_GUID(IID_IDirect3DRMAnimation, 0xeb16cb0d, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
61 DEFINE_GUID(IID_IDirect3DRMAnimation2, 0xff6b7f77, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
62 DEFINE_GUID(IID_IDirect3DRMAnimationSet, 0xeb16cb0e, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
63 DEFINE_GUID(IID_IDirect3DRMAnimationSet2, 0xff6b7f79, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
64 DEFINE_GUID(IID_IDirect3DRMObjectArray, 0x242f6bc2, 0x3849, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
65 DEFINE_GUID(IID_IDirect3DRMDeviceArray, 0xeb16cb10, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
66 DEFINE_GUID(IID_IDirect3DRMViewportArray, 0xeb16cb11, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
67 DEFINE_GUID(IID_IDirect3DRMFrameArray, 0xeb16cb12, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
68 DEFINE_GUID(IID_IDirect3DRMVisualArray, 0xeb16cb13, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
69 DEFINE_GUID(IID_IDirect3DRMLightArray, 0xeb16cb14, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
70 DEFINE_GUID(IID_IDirect3DRMPickedArray, 0xeb16cb16, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
71 DEFINE_GUID(IID_IDirect3DRMFaceArray, 0xeb16cb17, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
72 DEFINE_GUID(IID_IDirect3DRMAnimationArray, 0xd5f1cae0, 0x4bd7, 0x11d1, 0xb9, 0x74, 0x00, 0x60, 0x08, 0x3e, 0x45, 0xf3);
73 DEFINE_GUID(IID_IDirect3DRMUserVisual, 0x59163de0, 0x6d43, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
74 DEFINE_GUID(IID_IDirect3DRMShadow, 0xaf359780, 0x6ba3, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
75 DEFINE_GUID(IID_IDirect3DRMShadow2, 0x86b44e25, 0x9c82, 0x11d1, 0xbb, 0x0b, 0x00, 0xa0, 0xc9, 0x81, 0xa0, 0xa6);
76 DEFINE_GUID(IID_IDirect3DRMInterpolator, 0x242f6bc1, 0x3849, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
77 DEFINE_GUID(IID_IDirect3DRMProgressiveMesh, 0x4516ec79, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
78 DEFINE_GUID(IID_IDirect3DRMPicked2Array, 0x4516ec7b, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
79 DEFINE_GUID(IID_IDirect3DRMClippedVisual, 0x5434e733, 0x6d66, 0x11d1, 0xbb, 0x0b, 0x00, 0x00, 0xf8, 0x75, 0x86, 0x5a);
81 typedef struct IDirect3DRMObject *LPDIRECT3DRMOBJECT, **LPLPDIRECT3DRMOBJECT;
82 typedef struct IDirect3DRMObject2 *LPDIRECT3DRMOBJECT2, **LPLPDIRECT3DRMOBJECT2;
83 typedef struct IDirect3DRMDevice *LPDIRECT3DRMDEVICE, **LPLPDIRECT3DRMDEVICE;
84 typedef struct IDirect3DRMDevice2 *LPDIRECT3DRMDEVICE2, **LPLPDIRECT3DRMDEVICE2;
85 typedef struct IDirect3DRMDevice3 *LPDIRECT3DRMDEVICE3, **LPLPDIRECT3DRMDEVICE3;
86 typedef struct IDirect3DRMViewport *LPDIRECT3DRMVIEWPORT, **LPLPDIRECT3DRMVIEWPORT;
87 typedef struct IDirect3DRMViewport2 *LPDIRECT3DRMVIEWPORT2, **LPLPDIRECT3DRMVIEWPORT2;
88 typedef struct IDirect3DRMFrame *LPDIRECT3DRMFRAME, **LPLPDIRECT3DRMFRAME;
89 typedef struct IDirect3DRMFrame2 *LPDIRECT3DRMFRAME2, **LPLPDIRECT3DRMFRAME2;
90 typedef struct IDirect3DRMFrame3 *LPDIRECT3DRMFRAME3, **LPLPDIRECT3DRMFRAME3;
91 typedef struct IDirect3DRMVisual *LPDIRECT3DRMVISUAL, **LPLPDIRECT3DRMVISUAL;
92 typedef struct IDirect3DRMMesh *LPDIRECT3DRMMESH, **LPLPDIRECT3DRMMESH;
93 typedef struct IDirect3DRMMeshBuilder *LPDIRECT3DRMMESHBUILDER, **LPLPDIRECT3DRMMESHBUILDER;
94 typedef struct IDirect3DRMMeshBuilder2 *LPDIRECT3DRMMESHBUILDER2, **LPLPDIRECT3DRMMESHBUILDER2;
95 typedef struct IDirect3DRMMeshBuilder3 *LPDIRECT3DRMMESHBUILDER3, **LPLPDIRECT3DRMMESHBUILDER3;
96 typedef struct IDirect3DRMFace *LPDIRECT3DRMFACE, **LPLPDIRECT3DRMFACE;
97 typedef struct IDirect3DRMFace2 *LPDIRECT3DRMFACE2, **LPLPDIRECT3DRMFACE2;
98 typedef struct IDirect3DRMLight *LPDIRECT3DRMLIGHT, **LPLPDIRECT3DRMLIGHT;
99 typedef struct IDirect3DRMTexture *LPDIRECT3DRMTEXTURE, **LPLPDIRECT3DRMTEXTURE;
100 typedef struct IDirect3DRMTexture2 *LPDIRECT3DRMTEXTURE2, **LPLPDIRECT3DRMTEXTURE2;
101 typedef struct IDirect3DRMTexture3 *LPDIRECT3DRMTEXTURE3, **LPLPDIRECT3DRMTEXTURE3;
102 typedef struct IDirect3DRMWrap *LPDIRECT3DRMWRAP, **LPLPDIRECT3DRMWRAP;
103 typedef struct IDirect3DRMMaterial *LPDIRECT3DRMMATERIAL, **LPLPDIRECT3DRMMATERIAL;
104 typedef struct IDirect3DRMMaterial2 *LPDIRECT3DRMMATERIAL2, **LPLPDIRECT3DRMMATERIAL2;
105 typedef struct IDirect3DRMAnimation *LPDIRECT3DRMANIMATION, **LPLPDIRECT3DRMANIMATION;
106 typedef struct IDirect3DRMAnimation2 *LPDIRECT3DRMANIMATION2, **LPLPDIRECT3DRMANIMATION2;
107 typedef struct IDirect3DRMAnimationSet *LPDIRECT3DRMANIMATIONSET, **LPLPDIRECT3DRMANIMATIONSET;
108 typedef struct IDirect3DRMAnimationSet2 *LPDIRECT3DRMANIMATIONSET2, **LPLPDIRECT3DRMANIMATIONSET2;
109 typedef struct IDirect3DRMUserVisual *LPDIRECT3DRMUSERVISUAL, **LPLPDIRECT3DRMUSERVISUAL;
110 typedef struct IDirect3DRMShadow *LPDIRECT3DRMSHADOW, **LPLPDIRECT3DRMSHADOW;
111 typedef struct IDirect3DRMShadow2 *LPDIRECT3DRMSHADOW2, **LPLPDIRECT3DRMSHADOW2;
112 typedef struct IDirect3DRMArray *LPDIRECT3DRMARRAY, **LPLPDIRECT3DRMARRAY;
113 typedef struct IDirect3DRMObjectArray *LPDIRECT3DRMOBJECTARRAY, **LPLPDIRECT3DRMOBJECTARRAY;
114 typedef struct IDirect3DRMDeviceArray *LPDIRECT3DRMDEVICEARRAY, **LPLPDIRECT3DRMDEVICEARRAY;
115 typedef struct IDirect3DRMFaceArray *LPDIRECT3DRMFACEARRAY, **LPLPDIRECT3DRMFACEARRAY;
116 typedef struct IDirect3DRMViewportArray *LPDIRECT3DRMVIEWPORTARRAY, **LPLPDIRECT3DRMVIEWPORTARRAY;
117 typedef struct IDirect3DRMFrameArray *LPDIRECT3DRMFRAMEARRAY, **LPLPDIRECT3DRMFRAMEARRAY;
118 typedef struct IDirect3DRMAnimationArray *LPDIRECT3DRMANIMATIONARRAY, **LPLPDIRECT3DRMANIMATIONARRAY;
119 typedef struct IDirect3DRMVisualArray *LPDIRECT3DRMVISUALARRAY, **LPLPDIRECT3DRMVISUALARRAY;
120 typedef struct IDirect3DRMPickedArray *LPDIRECT3DRMPICKEDARRAY, **LPLPDIRECT3DRMPICKEDARRAY;
121 typedef struct IDirect3DRMPicked2Array *LPDIRECT3DRMPICKED2ARRAY, **LPLPDIRECT3DRMPICKED2ARRAY;
122 typedef struct IDirect3DRMLightArray *LPDIRECT3DRMLIGHTARRAY, **LPLPDIRECT3DRMLIGHTARRAY;
123 typedef struct IDirect3DRMProgressiveMesh *LPDIRECT3DRMPROGRESSIVEMESH, **LPLPDIRECT3DRMPROGRESSIVEMESH;
124 typedef struct IDirect3DRMClippedVisual *LPDIRECT3DRMCLIPPEDVISUAL, **LPLPDIRECT3DRMCLIPPEDVISUAL;
126 /* ********************************************************************
128 ******************************************************************** */
130 typedef void (__cdecl *D3DRMOBJECTCALLBACK)(LPDIRECT3DRMOBJECT obj, LPVOID arg);
131 typedef void (__cdecl *D3DRMFRAMEMOVECALLBACK)(LPDIRECT3DRMFRAME obj, LPVOID arg, D3DVALUE delta);
132 typedef void (__cdecl *D3DRMFRAME3MOVECALLBACK)(LPDIRECT3DRMFRAME3 obj, LPVOID arg, D3DVALUE delta);
133 typedef void (__cdecl *D3DRMUPDATECALLBACK)(LPDIRECT3DRMDEVICE obj, LPVOID arg, int, LPD3DRECT);
134 typedef int (__cdecl *D3DRMUSERVISUALCALLBACK)(LPDIRECT3DRMUSERVISUAL obj, LPVOID arg,
135 D3DRMUSERVISUALREASON reason, LPDIRECT3DRMDEVICE dev, LPDIRECT3DRMVIEWPORT view);
136 typedef HRESULT (__cdecl *D3DRMLOADTEXTURECALLBACK)(char *tex_name, void *arg, LPDIRECT3DRMTEXTURE *);
137 typedef HRESULT (__cdecl *D3DRMLOADTEXTURE3CALLBACK)(char *tex_name, void *arg, LPDIRECT3DRMTEXTURE3 *);
138 typedef void (__cdecl *D3DRMLOADCALLBACK)(LPDIRECT3DRMOBJECT object, REFIID objectguid, LPVOID arg);
140 typedef struct _D3DRMPICKDESC
145 } D3DRMPICKDESC, *LPD3DRMPICKDESC;
147 typedef struct _D3DRMPICKDESC2
156 } D3DRMPICKDESC2, *LPD3DRMPICKDESC2;
158 /*****************************************************************************
159 * IDirect3DRMObject interface
161 #ifdef WINE_NO_UNICODE_MACROS
164 #define INTERFACE IDirect3DRMObject
165 DECLARE_INTERFACE_(IDirect3DRMObject,IUnknown)
167 /*** IUnknown methods ***/
168 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
169 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
170 STDMETHOD_(ULONG,Release)(THIS) PURE;
171 /*** IDirect3DRMObject methods ***/
172 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
173 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
174 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
175 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
176 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
177 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
178 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
179 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
183 #if !defined(__cplusplus) || defined(CINTERFACE)
184 /*** IUnknown methods ***/
185 #define IDirect3DRMObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
186 #define IDirect3DRMObject_AddRef(p) (p)->lpVtbl->AddRef(p)
187 #define IDirect3DRMObject_Release(p) (p)->lpVtbl->Release(p)
188 /*** IDirect3DRMObject methods ***/
189 #define IDirect3DRMObject_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
190 #define IDirect3DRMObject_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
191 #define IDirect3DRMObject_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
192 #define IDirect3DRMObject_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
193 #define IDirect3DRMObject_GetAppData(p) (p)->lpVtbl->GetAppData(p)
194 #define IDirect3DRMObject_SetName(p,a) (p)->lpVtbl->SetName(p,a)
195 #define IDirect3DRMObject_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
196 #define IDirect3DRMObject_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
198 /*** IUnknown methods ***/
199 #define IDirect3DRMObject_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
200 #define IDirect3DRMObject_AddRef(p) (p)->AddRef()
201 #define IDirect3DRMObject_Release(p) (p)->Release()
202 /*** IDirect3DRMObject methods ***/
203 #define IDirect3DRMObject_Clone(p,a,b,c) (p)->Clone(a,b,c)
204 #define IDirect3DRMObject_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
205 #define IDirect3DRMObject_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
206 #define IDirect3DRMObject_SetAppData(p,a) (p)->SetAppData(a)
207 #define IDirect3DRMObject_GetAppData(p) (p)->GetAppData()
208 #define IDirect3DRMObject_SetName(p,a) (p)->SetName(a)
209 #define IDirect3DRMObject_GetName(p,a,b) (p)->GetName(a,b)
210 #define IDirect3DRMObject_GetClassName(p,a,b) (p)->GetClassName(a,b)
213 /*****************************************************************************
214 * IDirect3DRMObject2 interface
216 #ifdef WINE_NO_UNICODE_MACROS
219 #define INTERFACE IDirect3DRMObject2
220 DECLARE_INTERFACE_(IDirect3DRMObject2,IUnknown)
222 /*** IUnknown methods ***/
223 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
224 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
225 STDMETHOD_(ULONG,Release)(THIS) PURE;
226 /*** IDirect3DRMObject2 methods ***/
227 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
228 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
229 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
230 STDMETHOD(GetClientData)(THIS_ DWORD id, LPVOID* ppData) PURE;
231 STDMETHOD(GetDirect3DRM)(THIS_ LPDIRECT3DRM* ppDirect3DRM) PURE;
232 STDMETHOD(GetName)(THIS_ LPDWORD pSize, LPSTR pName) PURE;
233 STDMETHOD(SetClientData)(THIS_ DWORD id, LPVOID pData, DWORD flags) PURE;
234 STDMETHOD(SetName)(THIS_ LPCSTR pName) PURE;
235 STDMETHOD(GetAge)(THIS_ DWORD flags, LPDWORD pAge) PURE;
239 #if !defined(__cplusplus) || defined(CINTERFACE)
240 /*** IUnknown methods ***/
241 #define IDirect3DRMObject2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
242 #define IDirect3DRMObject2_AddRef(p) (p)->lpVtbl->AddRef(p)
243 #define IDirect3DRMObject2_Release(p) (p)->lpVtbl->Release(p)
244 /*** IDirect3DRMObject2 methods ***/
245 #define IDirect3DRMObject2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
246 #define IDirect3DRMObject2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
247 #define IDirect3DRMObject2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
248 #define IDirect3DRMObject2_GetClientData(p,a,b) (p)->lpVtbl->SetClientData(p,a,b)
249 #define IDirect3DRMObject2_GetDirect3DRM(p,a) (p)->lpVtbl->GetDirect3DRM(p,a)
250 #define IDirect3DRMObject2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
251 #define IDirect3DRMObject2_SetClientData(p,a,b,c) (p)->lpVtbl->SetClientData(p,a,b,c)
252 #define IDirect3DRMObject2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
253 #define IDirect3DRMObject2_GetAge(p,a,b) (p)->lpVtbl->GetAge(p,a,b)
255 /*** IUnknown methods ***/
256 #define IDirect3DRMObject2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
257 #define IDirect3DRMObject2_AddRef(p) (p)->AddRef()
258 #define IDirect3DRMObject2_Release(p) (p)->Release()
259 /*** IDirect3DRMObject2 methods ***/
260 #define IDirect3DRMObject2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
261 #define IDirect3DRMObject2_Clone(p,a,b,c) (p)->Clone(a,b,c)
262 #define IDirect3DRMObject2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
263 #define IDirect3DRMObject2_GetClientData(p,a,b) (p)->SetClientData(a,b)
264 #define IDirect3DRMObject2_GetDirect3DRM(p,a) (p)->GetDirect3DRM(a)
265 #define IDirect3DRMObject2_GetName(p,a,b) (p)->GetName(a,b)
266 #define IDirect3DRMObject2_SetClientData(p,a,b,c) (p)->SetClientData(a,b,c)
267 #define IDirect3DRMObject2_SetName(p,a) (p)->SetName(a)
268 #define IDirect3DRMObject2_GetAge(p,a,b) (p)->GetAge(a,b)
271 /*****************************************************************************
272 * IDirect3DRMVisual interface
274 #define INTERFACE IDirect3DRMVisual
275 DECLARE_INTERFACE_(IDirect3DRMVisual,IDirect3DRMObject)
277 /*** IUnknown methods ***/
278 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
279 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
280 STDMETHOD_(ULONG,Release)(THIS) PURE;
281 /*** IDirect3DRMObject methods ***/
282 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
283 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
284 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
285 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
286 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
287 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
288 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
289 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
293 #if !defined(__cplusplus) || defined(CINTERFACE)
294 /*** IUnknown methods ***/
295 #define IDirect3DRMVisual_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
296 #define IDirect3DRMVisual_AddRef(p) (p)->lpVtbl->AddRef(p)
297 #define IDirect3DRMVisual_Release(p) (p)->lpVtbl->Release(p)
298 /*** IDirect3DRMObject methods ***/
299 #define IDirect3DRMVisual_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
300 #define IDirect3DRMVisual_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
301 #define IDirect3DRMVisual_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
302 #define IDirect3DRMVisual_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
303 #define IDirect3DRMVisual_GetAppData(p) (p)->lpVtbl->GetAppData(p)
304 #define IDirect3DRMVisual_SetName(p,a) (p)->lpVtbl->SetName(p,a)
305 #define IDirect3DRMVisual_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
306 #define IDirect3DRMVisual_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
308 /*** IUnknown methods ***/
309 #define IDirect3DRMVisual_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
310 #define IDirect3DRMVisual_AddRef(p) (p)->AddRef()
311 #define IDirect3DRMVisual_Release(p) (p)->Release()
312 /*** IDirect3DRMObject methods ***/
313 #define IDirect3DRMVisual_Clone(p,a,b,c) (p)->Clone(a,b,c)
314 #define IDirect3DRMVisual_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
315 #define IDirect3DRMVisual_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
316 #define IDirect3DRMVisual_SetAppData(p,a) (p)->SetAppData(a)
317 #define IDirect3DRMVisual_GetAppData(p) (p)->GetAppData()
318 #define IDirect3DRMVisual_SetName(p,a) (p)->SetName(a)
319 #define IDirect3DRMVisual_GetName(p,a,b) (p)->GetName(a,b)
320 #define IDirect3DRMVisual_GetClassName(p,a,b) (p)->GetClassName(a,b)
323 /*****************************************************************************
324 * IDirect3DRMDevice interface
326 #ifdef WINE_NO_UNICODE_MACROS
329 #define INTERFACE IDirect3DRMDevice
330 DECLARE_INTERFACE_(IDirect3DRMDevice,IUnknown)
332 /*** IUnknown methods ***/
333 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
334 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
335 STDMETHOD_(ULONG,Release)(THIS) PURE;
336 /*** IDirect3DRMObject methods ***/
337 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
338 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
339 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
340 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
341 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
342 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
343 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
344 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
345 /*** IDirect3DRMDevice methods ***/
346 STDMETHOD(Init)(THIS_ ULONG width, ULONG height) PURE;
347 STDMETHOD(InitFromD3D)(THIS_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev) PURE;
348 STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height) PURE;
349 STDMETHOD(Update)(THIS) PURE;
350 STDMETHOD(AddUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
351 STDMETHOD(DeleteUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
352 STDMETHOD(SetBufferCount)(THIS_ DWORD) PURE;
353 STDMETHOD_(DWORD, GetBufferCount)(THIS) PURE;
354 STDMETHOD(SetDither)(THIS_ BOOL) PURE;
355 STDMETHOD(SetShades)(THIS_ DWORD) PURE;
356 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
357 STDMETHOD(SetTextureQuality)(THIS_ D3DRMTEXTUREQUALITY) PURE;
358 STDMETHOD(GetViewports)(THIS_ LPDIRECT3DRMVIEWPORTARRAY *return_views) PURE;
359 STDMETHOD_(BOOL, GetDither)(THIS) PURE;
360 STDMETHOD_(DWORD, GetShades)(THIS) PURE;
361 STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
362 STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
363 STDMETHOD_(DWORD, GetTrianglesDrawn)(THIS) PURE;
364 STDMETHOD_(DWORD, GetWireframeOptions)(THIS) PURE;
365 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
366 STDMETHOD_(D3DCOLORMODEL, GetColorModel)(THIS) PURE;
367 STDMETHOD_(D3DRMTEXTUREQUALITY, GetTextureQuality)(THIS) PURE;
368 STDMETHOD(GetDirect3DDevice)(THIS_ LPDIRECT3DDEVICE *) PURE;
372 #if !defined(__cplusplus) || defined(CINTERFACE)
373 /*** IUnknown methods ***/
374 #define IDirect3DRMDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
375 #define IDirect3DRMDevice_AddRef(p) (p)->lpVtbl->AddRef(p)
376 #define IDirect3DRMDevice_Release(p) (p)->lpVtbl->Release(p)
377 /*** IDirect3DRMObject methods ***/
378 #define IDirect3DRMDevice_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
379 #define IDirect3DRMDevice_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
380 #define IDirect3DRMDevice_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
381 #define IDirect3DRMDevice_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
382 #define IDirect3DRMDevice_GetAppData(p) (p)->lpVtbl->GetAppData(p)
383 #define IDirect3DRMDevice_SetName(p,a) (p)->lpVtbl->SetName(p,a)
384 #define IDirect3DRMDevice_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
385 #define IDirect3DRMDevice_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
386 /*** IDirect3DRMDevice methods ***/
387 #define IDirect3DRMDevice_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
388 #define IDirect3DRMDevice_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
389 #define IDirect3DRMDevice_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
390 #define IDirect3DRMDevice_Update(p) (p)->lpVtbl->Update(p)
391 #define IDirect3DRMDevice_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
392 #define IDirect3DRMDevice_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b,c)
393 #define IDirect3DRMDevice_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
394 #define IDirect3DRMDevice_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
395 #define IDirect3DRMDevice_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
396 #define IDirect3DRMDevice_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
397 #define IDirect3DRMDevice_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
398 #define IDirect3DRMDevice_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
399 #define IDirect3DRMDevice_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
400 #define IDirect3DRMDevice_GetDither(p) (p)->lpVtbl->GetDither(p)
401 #define IDirect3DRMDevice_GetShades(p) (p)->lpVtbl->GetShades(p)
402 #define IDirect3DRMDevice_GetHeight(p) (p)->lpVtbl->GetHeight(p)
403 #define IDirect3DRMDevice_GetWidth(p) (p)->lpVtbl->GetWidth(p)
404 #define IDirect3DRMDevice_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
405 #define IDirect3DRMDevice_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
406 #define IDirect3DRMDevice_GetQuality(p) (p)->lpVtbl->GetQuality(p)
407 #define IDirect3DRMDevice_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
408 #define IDirect3DRMDevice_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
409 #define IDirect3DRMDevice_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
411 /*** IUnknown methods ***/
412 #define IDirect3DRMDevice_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
413 #define IDirect3DRMDevice_AddRef(p) (p)->AddRef()
414 #define IDirect3DRMDevice_Release(p) (p)->Release()
415 /*** IDirect3DRMObject methods ***/
416 #define IDirect3DRMDevice_Clone(p,a,b,c) (p)->Clone(a,b,c)
417 #define IDirect3DRMDevice_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
418 #define IDirect3DRMDevice_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
419 #define IDirect3DRMDevice_SetAppData(p,a) (p)->SetAppData(a)
420 #define IDirect3DRMDevice_GetAppData(p) (p)->GetAppData()
421 #define IDirect3DRMDevice_SetName(p,a) (p)->SetName(a)
422 #define IDirect3DRMDevice_GetName(p,a,b) (p)->GetName(a,b)
423 #define IDirect3DRMDevice_GetClassName(p,a,b) (p)->GetClassName(a,b)
424 /*** IDirect3DRMDevice methods ***/
425 #define IDirect3DRMDevice_Init(p,a,b) (p)->Init(p,a,b)
426 #define IDirect3DRMDevice_InitFromD3D(p,a,b) (p)->InitFromD3D(p,a,b)
427 #define IDirect3DRMDevice_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(p,a,b,c,d)
428 #define IDirect3DRMDevice_Update(p) (p)->Update(p)
429 #define IDirect3DRMDevice_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(p,a,b)
430 #define IDirect3DRMDevice_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(p,a,b,c)
431 #define IDirect3DRMDevice_SetBufferCount(p,a) (p)->SetBufferCount(p,a)
432 #define IDirect3DRMDevice_GetBufferCount(p) (p)->GetBufferCount(p)
433 #define IDirect3DRMDevice_SetDither(p,a) (p)->SetDither(p,a)
434 #define IDirect3DRMDevice_SetShades(p,a) (p)->SetShades(p,a)
435 #define IDirect3DRMDevice_SetQuality(p,a) (p)->SetQuality(p,a)
436 #define IDirect3DRMDevice_SetTextureQuality(p,a) (p)->SetTextureQuality(p,a)
437 #define IDirect3DRMDevice_GetViewports(p,a) (p)->GetViewports(p,a)
438 #define IDirect3DRMDevice_GetDither(p) (p)->GetDither(p)
439 #define IDirect3DRMDevice_GetShades(p) (p)->GetShades(p)
440 #define IDirect3DRMDevice_GetHeight(p) (p)->GetHeight(p)
441 #define IDirect3DRMDevice_GetWidth(p) (p)->GetWidth(p)
442 #define IDirect3DRMDevice_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn(p)
443 #define IDirect3DRMDevice_GetWireframeOptions(p) (p)->GetWireframeOptions(p)
444 #define IDirect3DRMDevice_GetQuality(p) (p)->GetQuality(p)
445 #define IDirect3DRMDevice_GetColorModel(p) (p)->GetColorModel(p)
446 #define IDirect3DRMDevice_GetTextureQuality(p) (p)->GetTextureQuality(p)
447 #define IDirect3DRMDevice_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(p,a)
450 /*****************************************************************************
451 * IDirect3DRMDevice2 interface
453 #ifdef WINE_NO_UNICODE_MACROS
456 #define INTERFACE IDirect3DRMDevice2
457 DECLARE_INTERFACE_(IDirect3DRMDevice2,IDirect3DRMDevice)
459 /*** IUnknown methods ***/
460 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
461 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
462 STDMETHOD_(ULONG,Release)(THIS) PURE;
463 /*** IDirect3DRMObject methods ***/
464 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
465 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
466 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
467 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
468 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
469 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
470 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
471 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
472 /*** IDirect3DRMDevice methods ***/
473 STDMETHOD(Init)(THIS_ ULONG width, ULONG height) PURE;
474 STDMETHOD(InitFromD3D)(THIS_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev) PURE;
475 STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height) PURE;
476 STDMETHOD(Update)(THIS) PURE;
477 STDMETHOD(AddUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
478 STDMETHOD(DeleteUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
479 STDMETHOD(SetBufferCount)(THIS_ DWORD) PURE;
480 STDMETHOD_(DWORD, GetBufferCount)(THIS) PURE;
481 STDMETHOD(SetDither)(THIS_ BOOL) PURE;
482 STDMETHOD(SetShades)(THIS_ DWORD) PURE;
483 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
484 STDMETHOD(SetTextureQuality)(THIS_ D3DRMTEXTUREQUALITY) PURE;
485 STDMETHOD(GetViewports)(THIS_ LPDIRECT3DRMVIEWPORTARRAY *return_views) PURE;
486 STDMETHOD_(BOOL, GetDither)(THIS) PURE;
487 STDMETHOD_(DWORD, GetShades)(THIS) PURE;
488 STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
489 STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
490 STDMETHOD_(DWORD, GetTrianglesDrawn)(THIS) PURE;
491 STDMETHOD_(DWORD, GetWireframeOptions)(THIS) PURE;
492 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
493 STDMETHOD_(D3DCOLORMODEL, GetColorModel)(THIS) PURE;
494 STDMETHOD_(D3DRMTEXTUREQUALITY, GetTextureQuality)(THIS) PURE;
495 STDMETHOD(GetDirect3DDevice)(THIS_ LPDIRECT3DDEVICE *) PURE;
496 /*** IDirect3DRMDevice2 methods ***/
497 STDMETHOD(InitFromD3D2)(THIS_ LPDIRECT3D2 pD3D, LPDIRECT3DDEVICE2 pD3DDev) PURE;
498 STDMETHOD(InitFromSurface)(THIS_ LPGUID pGUID, LPDIRECTDRAW pDD, LPDIRECTDRAWSURFACE pDDSBack) PURE;
499 STDMETHOD(SetRenderMode)(THIS_ DWORD flags) PURE;
500 STDMETHOD_(DWORD, GetRenderMode)(THIS) PURE;
501 STDMETHOD(GetDirect3DDevice2)(THIS_ LPDIRECT3DDEVICE2 *) PURE;
505 #if !defined(__cplusplus) || defined(CINTERFACE)
506 /*** IUnknown methods ***/
507 #define IDirect3DRMDevice2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
508 #define IDirect3DRMDevice2_AddRef(p) (p)->lpVtbl->AddRef(p)
509 #define IDirect3DRMDevice2_Release(p) (p)->lpVtbl->Release(p)
510 /*** IDirect3DRMObject methods ***/
511 #define IDirect3DRMDevice2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
512 #define IDirect3DRMDevice2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
513 #define IDirect3DRMDevice2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
514 #define IDirect3DRMDevice2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
515 #define IDirect3DRMDevice2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
516 #define IDirect3DRMDevice2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
517 #define IDirect3DRMDevice2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
518 #define IDirect3DRMDevice2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
519 /*** IDirect3DRMDevice methods ***/
520 #define IDirect3DRMDevice2_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
521 #define IDirect3DRMDevice2_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
522 #define IDirect3DRMDevice2_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
523 #define IDirect3DRMDevice2_Update(p) (p)->lpVtbl->Update(p)
524 #define IDirect3DRMDevice2_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
525 #define IDirect3DRMDevice2_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b,c)
526 #define IDirect3DRMDevice2_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
527 #define IDirect3DRMDevice2_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
528 #define IDirect3DRMDevice2_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
529 #define IDirect3DRMDevice2_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
530 #define IDirect3DRMDevice2_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
531 #define IDirect3DRMDevice2_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
532 #define IDirect3DRMDevice2_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
533 #define IDirect3DRMDevice2_GetDither(p) (p)->lpVtbl->GetDither(p)
534 #define IDirect3DRMDevice2_GetShades(p) (p)->lpVtbl->GetShades(p)
535 #define IDirect3DRMDevice2_GetHeight(p) (p)->lpVtbl->GetHeight(p)
536 #define IDirect3DRMDevice2_GetWidth(p) (p)->lpVtbl->GetWidth(p)
537 #define IDirect3DRMDevice2_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
538 #define IDirect3DRMDevice2_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
539 #define IDirect3DRMDevice2_GetQuality(p) (p)->lpVtbl->GetQuality(p)
540 #define IDirect3DRMDevice2_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
541 #define IDirect3DRMDevice2_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
542 #define IDirect3DRMDevice2_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
543 /*** IDirect3DRMDevice2 methods ***/
544 #define IDirect3DRMDevice2_InitFromD3D2(p,a,b) (p)->lpVtbl->InitFromD3D2(p,a,b)
545 #define IDirect3DRMDevice2_InitFromSurface(p,a,b,c) (p)->lpVtbl->InitFromSurface(p,a,b,c)
546 #define IDirect3DRMDevice2_SetRenderMode(p,a) (p)->lpVtbl->SetRenderMode(p,a)
547 #define IDirect3DRMDevice2_GetRenderMode(p) (p)->lpVtbl->GetRenderMode(p)
548 #define IDirect3DRMDevice2_GetDirect3DDevice2(p,a) (p)->lpVtbl->GetDirect3DDevice2(p,a)
550 /*** IUnknown methods ***/
551 #define IDirect3DRMDevice2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
552 #define IDirect3DRMDevice2_AddRef(p) (p)->AddRef()
553 #define IDirect3DRMDevice2_Release(p) (p)->Release()
554 /*** IDirect3DRMObject methods ***/
555 #define IDirect3DRMDevice2_Clone(p,a,b,c) (p)->Clone(a,b,c)
556 #define IDirect3DRMDevice2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
557 #define IDirect3DRMDevice2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
558 #define IDirect3DRMDevice2_SetAppData(p,a) (p)->SetAppData(a)
559 #define IDirect3DRMDevice2_GetAppData(p) (p)->GetAppData()
560 #define IDirect3DRMDevice2_SetName(p,a) (p)->SetName(a)
561 #define IDirect3DRMDevice2_GetName(p,a,b) (p)->GetName(a,b)
562 #define IDirect3DRMDevice2_GetClassName(p,a,b) (p)->GetClassName(a,b)
563 /*** IDirect3DRMDevice methods ***/
564 #define IDirect3DRMDevice2_Init(p,a,b) (p)->Init(p,a,b)
565 #define IDirect3DRMDevice2_InitFromD3D(p,a,b) (p)->InitFromD3D(p,a,b)
566 #define IDirect3DRMDevice2_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(p,a,b,c,d)
567 #define IDirect3DRMDevice2_Update(p) (p)->Update(p)
568 #define IDirect3DRMDevice2_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(p,a,b)
569 #define IDirect3DRMDevice2_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(p,a,b,c)
570 #define IDirect3DRMDevice2_SetBufferCount(p,a) (p)->SetBufferCount(p,a)
571 #define IDirect3DRMDevice2_GetBufferCount(p) (p)->GetBufferCount(p)
572 #define IDirect3DRMDevice2_SetDither(p,a) (p)->SetDither(p,a)
573 #define IDirect3DRMDevice2_SetShades(p,a) (p)->SetShades(p,a)
574 #define IDirect3DRMDevice2_SetQuality(p,a) (p)->SetQuality(p,a)
575 #define IDirect3DRMDevice2_SetTextureQuality(p,a) (p)->SetTextureQuality(p,a)
576 #define IDirect3DRMDevice2_GetViewports(p,a) (p)->GetViewports(p,a)
577 #define IDirect3DRMDevice2_GetDither(p) (p)->GetDither(p)
578 #define IDirect3DRMDevice2_GetShades(p) (p)->GetShades(p)
579 #define IDirect3DRMDevice2_GetHeight(p) (p)->GetHeight(p)
580 #define IDirect3DRMDevice2_GetWidth(p) (p)->GetWidth(p)
581 #define IDirect3DRMDevice2_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn(p)
582 #define IDirect3DRMDevice2_GetWireframeOptions(p) (p)->GetWireframeOptions(p)
583 #define IDirect3DRMDevice2_GetQuality(p) (p)->GetQuality(p)
584 #define IDirect3DRMDevice2_GetColorModel(p) (p)->GetColorModel(p)
585 #define IDirect3DRMDevice2_GetTextureQuality(p) (p)->GetTextureQuality(p)
586 #define IDirect3DRMDevice2_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(p,a)
587 /*** IDirect3DRMDevice2 methods ***/
588 #define IDirect3DRMDevice2_InitFromD3D2(p,a,b) (p)->InitFromD3D2(a,b)
589 #define IDirect3DRMDevice2_InitFromSurface(p,a,b,c) (p)->InitFromSurface(a,b,c)
590 #define IDirect3DRMDevice2_SetRenderMode(p,a) (p)->SetRenderMode(a)
591 #define IDirect3DRMDevice2_GetRenderMode(p) (p)->GetRenderMode()
592 #define IDirect3DRMDevice2_GetDirect3DDevice2(p,a) (p)->GetDirect3DDevice2(a)
595 /*****************************************************************************
596 * IDirect3DRMDevice3 interface
598 #ifdef WINE_NO_UNICODE_MACROS
601 #define INTERFACE IDirect3DRMDevice3
602 DECLARE_INTERFACE_(IDirect3DRMDevice3,IDirect3DRMObject)
604 /*** IUnknown methods ***/
605 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
606 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
607 STDMETHOD_(ULONG,Release)(THIS) PURE;
608 /*** IDirect3DRMObject methods ***/
609 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
610 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
611 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
612 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
613 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
614 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
615 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
616 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
617 /*** IDirect3DRMDevice methods ***/
618 STDMETHOD(Init)(THIS_ ULONG width, ULONG height) PURE;
619 STDMETHOD(InitFromD3D)(THIS_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev) PURE;
620 STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height) PURE;
621 STDMETHOD(Update)(THIS) PURE;
622 STDMETHOD(AddUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
623 STDMETHOD(DeleteUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
624 STDMETHOD(SetBufferCount)(THIS_ DWORD) PURE;
625 STDMETHOD_(DWORD, GetBufferCount)(THIS) PURE;
626 STDMETHOD(SetDither)(THIS_ BOOL) PURE;
627 STDMETHOD(SetShades)(THIS_ DWORD) PURE;
628 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
629 STDMETHOD(SetTextureQuality)(THIS_ D3DRMTEXTUREQUALITY) PURE;
630 STDMETHOD(GetViewports)(THIS_ LPDIRECT3DRMVIEWPORTARRAY *return_views) PURE;
631 STDMETHOD_(BOOL, GetDither)(THIS) PURE;
632 STDMETHOD_(DWORD, GetShades)(THIS) PURE;
633 STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
634 STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
635 STDMETHOD_(DWORD, GetTrianglesDrawn)(THIS) PURE;
636 STDMETHOD_(DWORD, GetWireframeOptions)(THIS) PURE;
637 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
638 STDMETHOD_(D3DCOLORMODEL, GetColorModel)(THIS) PURE;
639 STDMETHOD_(D3DRMTEXTUREQUALITY, GetTextureQuality)(THIS) PURE;
640 STDMETHOD(GetDirect3DDevice)(THIS_ LPDIRECT3DDEVICE *) PURE;
641 /*** IDirect3DRMDevice2 methods ***/
642 STDMETHOD(InitFromD3D2)(THIS_ LPDIRECT3D2 pD3D, LPDIRECT3DDEVICE2 pD3DDev) PURE;
643 STDMETHOD(InitFromSurface)(THIS_ LPGUID pGUID, LPDIRECTDRAW pDD, LPDIRECTDRAWSURFACE pDDSBack) PURE;
644 STDMETHOD(SetRenderMode)(THIS_ DWORD flags) PURE;
645 STDMETHOD_(DWORD, GetRenderMode)(THIS) PURE;
646 STDMETHOD(GetDirect3DDevice2)(THIS_ LPDIRECT3DDEVICE2 *) PURE;
647 /*** IDirect3DRMDevice3 methods ***/
648 STDMETHOD(FindPreferredTextureFormat)(THIS_ DWORD BitDepths, DWORD flags, LPDDPIXELFORMAT pDDPF) PURE;
649 STDMETHOD(RenderStateChange)(THIS_ D3DRENDERSTATETYPE drsType, DWORD val, DWORD flags) PURE;
650 STDMETHOD(LightStateChange)(THIS_ D3DLIGHTSTATETYPE drsType, DWORD val, DWORD flags) PURE;
651 STDMETHOD(GetStateChangeOptions)(THIS_ DWORD StateClass, DWORD StateNum, LPDWORD pFlags) PURE;
652 STDMETHOD(SetStateChangeOptions)(THIS_ DWORD StateClass, DWORD StateNum, DWORD flags) PURE;
656 #if !defined(__cplusplus) || defined(CINTERFACE)
657 /*** IUnknown methods ***/
658 #define IDirect3DRMDevice3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
659 #define IDirect3DRMDevice3_AddRef(p) (p)->lpVtbl->AddRef(p)
660 #define IDirect3DRMDevice3_Release(p) (p)->lpVtbl->Release(p)
661 /*** IDirect3DRMObject methods ***/
662 #define IDirect3DRMDevice3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
663 #define IDirect3DRMDevice3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
664 #define IDirect3DRMDevice3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
665 #define IDirect3DRMDevice3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
666 #define IDirect3DRMDevice3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
667 #define IDirect3DRMDevice3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
668 #define IDirect3DRMDevice3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
669 #define IDirect3DRMDevice3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
670 /*** IDirect3DRMDevice methods ***/
671 #define IDirect3DRMDevice3_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
672 #define IDirect3DRMDevice3_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
673 #define IDirect3DRMDevice3_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
674 #define IDirect3DRMDevice3_Update(p) (p)->lpVtbl->Update(p)
675 #define IDirect3DRMDevice3_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
676 #define IDirect3DRMDevice3_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b,c)
677 #define IDirect3DRMDevice3_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
678 #define IDirect3DRMDevice3_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
679 #define IDirect3DRMDevice3_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
680 #define IDirect3DRMDevice3_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
681 #define IDirect3DRMDevice3_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
682 #define IDirect3DRMDevice3_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
683 #define IDirect3DRMDevice3_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
684 #define IDirect3DRMDevice3_GetDither(p) (p)->lpVtbl->GetDither(p)
685 #define IDirect3DRMDevice3_GetShades(p) (p)->lpVtbl->GetShades(p)
686 #define IDirect3DRMDevice3_GetHeight(p) (p)->lpVtbl->GetHeight(p)
687 #define IDirect3DRMDevice3_GetWidth(p) (p)->lpVtbl->GetWidth(p)
688 #define IDirect3DRMDevice3_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
689 #define IDirect3DRMDevice3_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
690 #define IDirect3DRMDevice3_GetQuality(p) (p)->lpVtbl->GetQuality(p)
691 #define IDirect3DRMDevice3_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
692 #define IDirect3DRMDevice3_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
693 #define IDirect3DRMDevice3_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
694 /*** IDirect3DRMDevice2 methods ***/
695 #define IDirect3DRMDevice3_InitFromD3D2(p,a,b) (p)->lpVtbl->InitFromD3D2(p,a,b)
696 #define IDirect3DRMDevice3_InitFromSurface(p,a,b,c) (p)->lpVtbl->InitFromSurface(p,a,b,c)
697 #define IDirect3DRMDevice3_SetRenderMode(p,a) (p)->lpVtbl->SetRenderMode(p,a)
698 #define IDirect3DRMDevice3_GetRenderMode(p) (p)->lpVtbl->GetRenderMode(p)
699 #define IDirect3DRMDevice3_GetDirect3DDevice2(p,a) (p)->lpVtbl->GetDirect3DDevice2(p,a)
700 /*** IDirect3DRMDevice3 methods ***/
701 #define IDirect3DRMDevice3_FindPreferredTextureFormat(p,a,b,c) (p)->lpVtbl->FindPreferredTextureFormat(p,a,b)
702 #define IDirect3DRMDevice3_RenderStateChange(p,a,b,c) (p)->lpVtbl->RenderStateChange(p,a,b)
703 #define IDirect3DRMDevice3_LightStateChange(p,a,b,c) (p)->lpVtbl->LightStateChange(p,a,b)
704 #define IDirect3DRMDevice3_GetStateChangeOptions(p,a,b,c) (p)->lpVtbl->GetStateChangeOptions(p,a,b)
705 #define IDirect3DRMDevice3_SetStateChangeOptions(p,a,b,c) (p)->lpVtbl->SetStateChangeOptions(p,a,b)
707 /*** IUnknown methods ***/
708 #define IDirect3DRMDevice3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
709 #define IDirect3DRMDevice3_AddRef(p) (p)->AddRef()
710 #define IDirect3DRMDevice3_Release(p) (p)->Release()
711 /*** IDirect3DRMObject methods ***/
712 #define IDirect3DRMDevice3_Clone(p,a,b,c) (p)->Clone(a,b,c)
713 #define IDirect3DRMDevice3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
714 #define IDirect3DRMDevice3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
715 #define IDirect3DRMDevice3_SetAppData(p,a) (p)->SetAppData(a)
716 #define IDirect3DRMDevice3_GetAppData(p) (p)->GetAppData()
717 #define IDirect3DRMDevice3_SetName(p,a) (p)->SetName(a)
718 #define IDirect3DRMDevice3_GetName(p,a,b) (p)->GetName(a,b)
719 #define IDirect3DRMDevice3_GetClassName(p,a,b) (p)->GetClassName(a,b)
720 /*** IDirect3DRMDevice methods ***/
721 #define IDirect3DRMDevice3_Init(p,a,b) (p)->Init(p,a,b)
722 #define IDirect3DRMDevice3_InitFromD3D(p,a,b) (p)->InitFromD3D(p,a,b)
723 #define IDirect3DRMDevice3_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(p,a,b,c,d)
724 #define IDirect3DRMDevice3_Update(p) (p)->Update(p)
725 #define IDirect3DRMDevice3_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(p,a,b)
726 #define IDirect3DRMDevice3_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(p,a,b,c)
727 #define IDirect3DRMDevice3_SetBufferCount(p,a) (p)->SetBufferCount(p,a)
728 #define IDirect3DRMDevice3_GetBufferCount(p) (p)->GetBufferCount(p)
729 #define IDirect3DRMDevice3_SetDither(p,a) (p)->SetDither(p,a)
730 #define IDirect3DRMDevice3_SetShades(p,a) (p)->SetShades(p,a)
731 #define IDirect3DRMDevice3_SetQuality(p,a) (p)->SetQuality(p,a)
732 #define IDirect3DRMDevice3_SetTextureQuality(p,a) (p)->SetTextureQuality(p,a)
733 #define IDirect3DRMDevice3_GetViewports(p,a) (p)->GetViewports(p,a)
734 #define IDirect3DRMDevice3_GetDither(p) (p)->GetDither(p)
735 #define IDirect3DRMDevice3_GetShades(p) (p)->GetShades(p)
736 #define IDirect3DRMDevice3_GetHeight(p) (p)->GetHeight(p)
737 #define IDirect3DRMDevice3_GetWidth(p) (p)->GetWidth(p)
738 #define IDirect3DRMDevice3_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn(p)
739 #define IDirect3DRMDevice3_GetWireframeOptions(p) (p)->GetWireframeOptions(p)
740 #define IDirect3DRMDevice3_GetQuality(p) (p)->GetQuality(p)
741 #define IDirect3DRMDevice3_GetColorModel(p) (p)->GetColorModel(p)
742 #define IDirect3DRMDevice3_GetTextureQuality(p) (p)->GetTextureQuality(p)
743 #define IDirect3DRMDevice3_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(p,a)
744 /*** IDirect3DRMDevice2 methods ***/
745 #define IDirect3DRMDevice3_InitFromD3D2(p,a,b) (p)->InitFromD3D2(a,b)
746 #define IDirect3DRMDevice3_InitFromSurface(p,a,b,c) (p)->InitFromSurface(a,b,c)
747 #define IDirect3DRMDevice3_SetRenderMode(p,a) (p)->SetRenderMode(a)
748 #define IDirect3DRMDevice3_GetRenderMode(p) (p)->GetRenderMode()
749 #define IDirect3DRMDevice3_GetDirect3DDevice2(p,a) (p)->GetDirect3DDevice2(a)
750 /*** IDirect3DRMDevice3 methods ***/
751 #define IDirect3DRMDevice3_FindPreferredTextureFormat(p,a,b,c) (p)->FindPreferredTextureFormat(a,b,c)
752 #define IDirect3DRMDevice3_RenderStateChange(p,a,b,c) (p)->RenderStateChange(a,b,c)
753 #define IDirect3DRMDevice3_LightStateChange(p,a,b,c) (p)->LightStateChange(a,b,c)
754 #define IDirect3DRMDevice3_GetStateChangeOptions(p,a,b,c) (p)->GetStateChangeOptions(a,b,c)
755 #define IDirect3DRMDevice3_SetStateChangeOptions(p,a,b,c) (p)->SetStateChangeOptions(a,b,c)
758 /*****************************************************************************
759 * IDirect3DRMViewport interface
761 #define INTERFACE IDirect3DRMViewport
762 DECLARE_INTERFACE_(IDirect3DRMViewport,IDirect3DRMObject)
764 /*** IUnknown methods ***/
765 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
766 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
767 STDMETHOD_(ULONG,Release)(THIS) PURE;
768 /*** IDirect3DRMObject methods ***/
769 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
770 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
771 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
772 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
773 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
774 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
775 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
776 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
777 /*** IDirect3DRMViewport methods ***/
778 STDMETHOD(Init) (THIS_ LPDIRECT3DRMDEVICE dev, LPDIRECT3DRMFRAME camera, DWORD xpos, DWORD ypos,
779 DWORD width, DWORD height) PURE;
780 STDMETHOD(Clear)(THIS) PURE;
781 STDMETHOD(Render)(THIS_ LPDIRECT3DRMFRAME) PURE;
782 STDMETHOD(SetFront)(THIS_ D3DVALUE) PURE;
783 STDMETHOD(SetBack)(THIS_ D3DVALUE) PURE;
784 STDMETHOD(SetField)(THIS_ D3DVALUE) PURE;
785 STDMETHOD(SetUniformScaling)(THIS_ BOOL) PURE;
786 STDMETHOD(SetCamera)(THIS_ LPDIRECT3DRMFRAME) PURE;
787 STDMETHOD(SetProjection)(THIS_ D3DRMPROJECTIONTYPE) PURE;
788 STDMETHOD(Transform)(THIS_ D3DRMVECTOR4D *d, D3DVECTOR *s) PURE;
789 STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DRMVECTOR4D *s) PURE;
790 STDMETHOD(Configure)(THIS_ LONG x, LONG y, DWORD width, DWORD height) PURE;
791 STDMETHOD(ForceUpdate)(THIS_ DWORD x1, DWORD y1, DWORD x2, DWORD y2) PURE;
792 STDMETHOD(SetPlane)(THIS_ D3DVALUE left, D3DVALUE right, D3DVALUE bottom, D3DVALUE top) PURE;
793 STDMETHOD(GetCamera)(THIS_ LPDIRECT3DRMFRAME *) PURE;
794 STDMETHOD(GetDevice)(THIS_ LPDIRECT3DRMDEVICE *) PURE;
795 STDMETHOD(GetPlane)(THIS_ D3DVALUE *left, D3DVALUE *right, D3DVALUE *bottom, D3DVALUE *top) PURE;
796 STDMETHOD(Pick)(THIS_ LONG x, LONG y, LPDIRECT3DRMPICKEDARRAY *return_visuals) PURE;
797 STDMETHOD_(BOOL, GetUniformScaling)(THIS) PURE;
798 STDMETHOD_(LONG, GetX)(THIS) PURE;
799 STDMETHOD_(LONG, GetY)(THIS) PURE;
800 STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
801 STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
802 STDMETHOD_(D3DVALUE, GetField)(THIS) PURE;
803 STDMETHOD_(D3DVALUE, GetBack)(THIS) PURE;
804 STDMETHOD_(D3DVALUE, GetFront)(THIS) PURE;
805 STDMETHOD_(D3DRMPROJECTIONTYPE, GetProjection)(THIS) PURE;
806 STDMETHOD(GetDirect3DViewport)(THIS_ LPDIRECT3DVIEWPORT *) PURE;
810 #if !defined(__cplusplus) || defined(CINTERFACE)
811 /*** IUnknown methods ***/
812 #define IDirect3DRMViewport_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
813 #define IDirect3DRMViewport_AddRef(p) (p)->lpVtbl->AddRef(p)
814 #define IDirect3DRMViewport_Release(p) (p)->lpVtbl->Release(p)
815 /*** IDirect3DRMObject methods ***/
816 #define IDirect3DRMViewport_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
817 #define IDirect3DRMViewport_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
818 #define IDirect3DRMViewport_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
819 #define IDirect3DRMViewport_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
820 #define IDirect3DRMViewport_GetAppData(p) (p)->lpVtbl->GetAppData(p)
821 #define IDirect3DRMViewport_SetName(p,a) (p)->lpVtbl->SetName(p,a)
822 #define IDirect3DRMViewport_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
823 #define IDirect3DRMViewport_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
824 /*** IDirect3DRMViewport methods ***/
825 #define IDirect3DRMViewport_Init(p,a,b,c,d) (p)->lpVtbl->Init(p,a,b,c,d)
826 #define IDirect3DRMViewport_Clear(p) (p)->lpVtbl->Clear(p)
827 #define IDirect3DRMViewport_Render(p,a) (p)->lpVtbl->Render(p,a)
828 #define IDirect3DRMViewport_SetFront(p,a) (p)->lpVtbl->SetFront(p,a)
829 #define IDirect3DRMViewport_SetBack(p,a) (p)->lpVtbl->(p,a)
830 #define IDirect3DRMViewport_SetField(p,a) (p)->lpVtbl->(p,a)
831 #define IDirect3DRMViewport_SetUniformScaling(p,a) (p)->lpVtbl->SetUniformScaling(p,a)
832 #define IDirect3DRMViewport_SetCamera(p,a) (p)->lpVtbl->SetCamera(p,a)
833 #define IDirect3DRMViewport_SetProjection(p,a) (p)->lpVtbl->SetProjection(p,a)
834 #define IDirect3DRMViewport_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
835 #define IDirect3DRMViewport_InverseTransform(p,a,b) (p)->lpVtbl->(p,a,b)
836 #define IDirect3DRMViewport_Configure(p,a,b,c,d) (p)->lpVtbl->Configure(p,a,b,c,d)
837 #define IDirect3DRMViewport_ForceUpdate(p,a,b,c,d) (p)->lpVtbl->ForceUpdate(p,a,b,c,d)
838 #define IDirect3DRMViewport_SetPlane(p,a,b,c,d) (p)->lpVtbl->SetPlane(p,a,b,c,d)
839 #define IDirect3DRMViewport_GetCamera(p,a) (p)->lpVtbl->(p,a)
840 #define IDirect3DRMViewport_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
841 #define IDirect3DRMViewport_GetPlane(p,a,b,c,d) (p)->lpVtbl->GetPlane(p,a,b,c,d)
842 #define IDirect3DRMViewport_Pick(p,a,b,c) (p)->lpVtbl->Pick(p,a,b,c)
843 #define IDirect3DRMViewport_GetUniformScaling(p) (p)->lpVtbl->GetUniformScaling(p)
844 #define IDirect3DRMViewport_GetX(p) (p)->lpVtbl->GetX(p)
845 #define IDirect3DRMViewport_GetY(p) (p)->lpVtbl->GetY(p)
846 #define IDirect3DRMViewport_GetWidth(p) (p)->lpVtbl->GetWidth(p)
847 #define IDirect3DRMViewport_GetHeight(p) (p)->lpVtbl->GetHeight(p)
848 #define IDirect3DRMViewport_GetField(p) (p)->lpVtbl->GetField(p)
849 #define IDirect3DRMViewport_GetBack(p) (p)->lpVtbl->GetBack(p)
850 #define IDirect3DRMViewport_GetFront(p) (p)->lpVtbl->GetFront(p)
851 #define IDirect3DRMViewport_GetProjection(p) (p)->lpVtbl->GetProjection(p)
852 #define IDirect3DRMViewport_GetDirect3DViewport(p,a) (p)->lpVtbl->GetDirect3DViewport(p,a)
854 /*** IUnknown methods ***/
855 #define IDirect3DRMViewport_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
856 #define IDirect3DRMViewport_AddRef(p) (p)->AddRef()
857 #define IDirect3DRMViewport_Release(p) (p)->Release()
858 /*** IDirect3DRMObject methods ***/
859 #define IDirect3DRMViewport_Clone(p,a,b,c) (p)->Clone(a,b,c)
860 #define IDirect3DRMViewport_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
861 #define IDirect3DRMViewport_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
862 #define IDirect3DRMViewport_SetAppData(p,a) (p)->SetAppData(a)
863 #define IDirect3DRMViewport_GetAppData(p) (p)->GetAppData()
864 #define IDirect3DRMViewport_SetName(p,a) (p)->SetName(a)
865 #define IDirect3DRMViewport_GetName(p,a,b) (p)->GetName(a,b)
866 #define IDirect3DRMViewport_GetClassName(p,a,b) (p)->GetClassName(a,b)
867 /*** IDirect3DRMViewport methods ***/
868 #define IDirect3DRMViewport_Init(p,a,b,c,d) (p)->Init(p,a,b,c,d)
869 #define IDirect3DRMViewport_Clear(p) (p)->Clear(p)
870 #define IDirect3DRMViewport_Render(p,a) (p)->Render(p,a)
871 #define IDirect3DRMViewport_SetFront(p,a) (p)->SetFront(p,a)
872 #define IDirect3DRMViewport_SetBack(p,a) (p)->(p,a)
873 #define IDirect3DRMViewport_SetField(p,a) (p)->(p,a)
874 #define IDirect3DRMViewport_SetUniformScaling(p,a) (p)->SetUniformScaling(p,a)
875 #define IDirect3DRMViewport_SetCamera(p,a) (p)->SetCamera(p,a)
876 #define IDirect3DRMViewport_SetProjection(p,a) (p)->SetProjection(p,a)
877 #define IDirect3DRMViewport_Transform(p,a,b) (p)->Transform(p,a,b)
878 #define IDirect3DRMViewport_InverseTransform(p,a,b) (p)->(p,a,b)
879 #define IDirect3DRMViewport_Configure(p,a,b,c,d) (p)->Configure(p,a,b,c,d)
880 #define IDirect3DRMViewport_ForceUpdate(p,a,b,c,d) (p)->ForceUpdate(p,a,b,c,d)
881 #define IDirect3DRMViewport_SetPlane(p,a,b,c,d) (p)->SetPlane(p,a,b,c,d)
882 #define IDirect3DRMViewport_GetCamera(p,a) (p)->GetCamera(p,a)
883 #define IDirect3DRMViewport_GetDevice(p,a) (p)->GetDevice(p,a)
884 #define IDirect3DRMViewport_GetPlane(p,a,b,c,d) (p)->GetPlane(p,a,b,c,d)
885 #define IDirect3DRMViewport_Pick(p,a,b,c) (p)->Pick(p,a,b,c)
886 #define IDirect3DRMViewport_GetUniformScaling(p) (p)->GetUniformScaling(p)
887 #define IDirect3DRMViewport_GetX(p) (p)->GetX(p)
888 #define IDirect3DRMViewport_GetY(p) (p)->GetY(p)
889 #define IDirect3DRMViewport_GetWidth(p) (p)->GetWidth(p)
890 #define IDirect3DRMViewport_GetHeight(p) (p)->GetHeight(p)
891 #define IDirect3DRMViewport_GetField(p) (p)->GetField(p)
892 #define IDirect3DRMViewport_GetBack(p) (p)->GetBack(p)
893 #define IDirect3DRMViewport_GetFront(p) (p)->GetFront(p)
894 #define IDirect3DRMViewport_GetProjection(p) (p)->GetProjection(p)
895 #define IDirect3DRMViewport_GetDirect3DViewport(p,a) (p)->GetDirect3DViewport(p,a)
898 /*****************************************************************************
899 * IDirect3DRMViewport2 interface
901 #define INTERFACE IDirect3DRMViewport2
902 DECLARE_INTERFACE_(IDirect3DRMViewport2,IDirect3DRMObject)
904 /*** IUnknown methods ***/
905 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
906 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
907 STDMETHOD_(ULONG,Release)(THIS) PURE;
908 /*** IDirect3DRMObject methods ***/
909 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
910 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
911 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
912 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
913 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
914 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
915 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
916 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
917 /*** IDirect3DRMViewport2 methods ***/
918 STDMETHOD(Init) (THIS_ LPDIRECT3DRMDEVICE3 dev, LPDIRECT3DRMFRAME3 camera, DWORD xpos, DWORD ypos,
919 DWORD width, DWORD height) PURE;
920 STDMETHOD(Clear)(THIS_ DWORD flags) PURE;
921 STDMETHOD(Render)(THIS_ LPDIRECT3DRMFRAME3) PURE;
922 STDMETHOD(SetFront)(THIS_ D3DVALUE) PURE;
923 STDMETHOD(SetBack)(THIS_ D3DVALUE) PURE;
924 STDMETHOD(SetField)(THIS_ D3DVALUE) PURE;
925 STDMETHOD(SetUniformScaling)(THIS_ BOOL) PURE;
926 STDMETHOD(SetCamera)(THIS_ LPDIRECT3DRMFRAME3) PURE;
927 STDMETHOD(SetProjection)(THIS_ D3DRMPROJECTIONTYPE) PURE;
928 STDMETHOD(Transform)(THIS_ D3DRMVECTOR4D *d, D3DVECTOR *s) PURE;
929 STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DRMVECTOR4D *s) PURE;
930 STDMETHOD(Configure)(THIS_ LONG x, LONG y, DWORD width, DWORD height) PURE;
931 STDMETHOD(ForceUpdate)(THIS_ DWORD x1, DWORD y1, DWORD x2, DWORD y2) PURE;
932 STDMETHOD(SetPlane)(THIS_ D3DVALUE left, D3DVALUE right, D3DVALUE bottom, D3DVALUE top) PURE;
933 STDMETHOD(GetCamera)(THIS_ LPDIRECT3DRMFRAME3 *) PURE;
934 STDMETHOD(GetDevice)(THIS_ LPDIRECT3DRMDEVICE3 *) PURE;
935 STDMETHOD(GetPlane)(THIS_ D3DVALUE *left, D3DVALUE *right, D3DVALUE *bottom, D3DVALUE *top) PURE;
936 STDMETHOD(Pick)(THIS_ LONG x, LONG y, LPDIRECT3DRMPICKEDARRAY *return_visuals) PURE;
937 STDMETHOD_(BOOL, GetUniformScaling)(THIS) PURE;
938 STDMETHOD_(LONG, GetX)(THIS) PURE;
939 STDMETHOD_(LONG, GetY)(THIS) PURE;
940 STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
941 STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
942 STDMETHOD_(D3DVALUE, GetField)(THIS) PURE;
943 STDMETHOD_(D3DVALUE, GetBack)(THIS) PURE;
944 STDMETHOD_(D3DVALUE, GetFront)(THIS) PURE;
945 STDMETHOD_(D3DRMPROJECTIONTYPE, GetProjection)(THIS) PURE;
946 STDMETHOD(GetDirect3DViewport)(THIS_ LPDIRECT3DVIEWPORT *) PURE;
947 STDMETHOD(TransformVectors)(THIS_ DWORD NumVectors, LPD3DRMVECTOR4D pDstVectors,
948 LPD3DVECTOR pSrcVectors) PURE;
949 STDMETHOD(InverseTransformVectors)(THIS_ DWORD NumVectors, LPD3DVECTOR pDstVectors,
950 LPD3DRMVECTOR4D pSrcVectors) PURE;
954 #if !defined(__cplusplus) || defined(CINTERFACE)
955 /*** IUnknown methods ***/
956 #define IDirect3DRMViewport2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
957 #define IDirect3DRMViewport2_AddRef(p) (p)->lpVtbl->AddRef(p)
958 #define IDirect3DRMViewport2_Release(p) (p)->lpVtbl->Release(p)
959 /*** IDirect3DRMObject methods ***/
960 #define IDirect3DRMViewport_2Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
961 #define IDirect3DRMViewport2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
962 #define IDirect3DRMViewport2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
963 #define IDirect3DRMViewport2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
964 #define IDirect3DRMViewport2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
965 #define IDirect3DRMViewport2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
966 #define IDirect3DRMViewport2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
967 #define IDirect3DRMViewport2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
968 /*** IDirect3DRMViewport2 methods ***/
969 #define IDirect3DRMViewport2_Init(p,a,b,c,d,e,f) (p)->lpVtbl->Init(p,a,b,c,d,e,f)
970 #define IDirect3DRMViewport2_Clear(p,a) (p)->lpVtbl->Clear(p,a)
971 #define IDirect3DRMViewport2_Render(p,a) (p)->lpVtbl->Render(p,a)
972 #define IDirect3DRMViewport2_SetFront(p,a) (p)->lpVtbl->SetFront(p,a)
973 #define IDirect3DRMViewport2_SetBack(p,a) (p)->lpVtbl->(p,a)
974 #define IDirect3DRMViewport2_SetField(p,a) (p)->lpVtbl->(p,a)
975 #define IDirect3DRMViewport2_SetUniformScaling(p,a) (p)->lpVtbl->SetUniformScaling(p,a)
976 #define IDirect3DRMViewport2_SetCamera(p,a) (p)->lpVtbl->SetCamera(p,a)
977 #define IDirect3DRMViewport2_SetProjection(p,a) (p)->lpVtbl->SetProjection(p,a)
978 #define IDirect3DRMViewport2_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
979 #define IDirect3DRMViewport2_InverseTransform(p,a,b) (p)->lpVtbl->(p,a,b)
980 #define IDirect3DRMViewport2_Configure(p,a,b,c,d) (p)->lpVtbl->Configure(p,a,b,c,d)
981 #define IDirect3DRMViewport2_ForceUpdate(p,a,b,c,d) (p)->lpVtbl->ForceUpdate(p,a,b,c,d)
982 #define IDirect3DRMViewport2_SetPlane(p,a,b,c,d) (p)->lpVtbl->SetPlane(p,a,b,c,d)
983 #define IDirect3DRMViewport2_GetCamera(p,a) (p)->lpVtbl->(p,a)
984 #define IDirect3DRMViewport2_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
985 #define IDirect3DRMViewport2_GetPlane(p,a,b,c,d) (p)->lpVtbl->GetPlane(p,a,b,c,d)
986 #define IDirect3DRMViewport2_Pick(p,a,b,c) (p)->lpVtbl->Pick(p,a,b,c)
987 #define IDirect3DRMViewport2_GetUniformScaling(p) (p)->lpVtbl->GetUniformScaling(p)
988 #define IDirect3DRMViewport2_GetX(p) (p)->lpVtbl->GetX(p)
989 #define IDirect3DRMViewport2_GetY(p) (p)->lpVtbl->GetY(p)
990 #define IDirect3DRMViewport2_GetWidth(p) (p)->lpVtbl->GetWidth(p)
991 #define IDirect3DRMViewport2_GetHeight(p) (p)->lpVtbl->GetHeight(p)
992 #define IDirect3DRMViewport2_GetField(p) (p)->lpVtbl->GetField(p)
993 #define IDirect3DRMViewport2_GetBack(p) (p)->lpVtbl->GetBack(p)
994 #define IDirect3DRMViewport2_GetFront(p) (p)->lpVtbl->GetFront(p)
995 #define IDirect3DRMViewport2_GetProjection(p) (p)->lpVtbl->GetProjection(p)
996 #define IDirect3DRMViewport2_GetDirect3DViewport(p,a) (p)->lpVtbl->GetDirect3DViewport(p,a)
997 #define IDirect3DRMViewport2_TransformVectors(p,a,b,c) (p)->lpVtbl->TransformVectors(p,a,b,c)
998 #define IDirect3DRMViewport2_InverseTransformVectors(p,a,b,c) (p)->lpVtbl->InverseTransformVectors(p,ab,c)
1000 /*** IUnknown methods ***/
1001 #define IDirect3DRMViewport2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1002 #define IDirect3DRMViewport2_AddRef(p) (p)->AddRef()
1003 #define IDirect3DRMViewport2_Release(p) (p)->Release()
1004 /*** IDirect3DRMObject methods ***/
1005 #define IDirect3DRMViewport2_Clone(p,a,b,c) (p)->Clone(a,b,c)
1006 #define IDirect3DRMViewport2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
1007 #define IDirect3DRMViewport2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
1008 #define IDirect3DRMViewport2_SetAppData(p,a) (p)->SetAppData(a)
1009 #define IDirect3DRMViewport2_GetAppData(p) (p)->GetAppData()
1010 #define IDirect3DRMViewport2_SetName(p,a) (p)->SetName(a)
1011 #define IDirect3DRMViewport2_GetName(p,a,b) (p)->GetName(a,b)
1012 #define IDirect3DRMViewport2_GetClassName(p,a,b) (p)->GetClassName(a,b)
1013 /*** IDirect3DRMViewport2 methods ***/
1014 #define IDirect3DRMViewport2_Init(p,a,b,c,d) (p)->Init(p,a,b,c,d)
1015 #define IDirect3DRMViewport2_Clear(p) (p)->Clear(p)
1016 #define IDirect3DRMViewport2_Render(p,a) (p)->Render(p,a)
1017 #define IDirect3DRMViewport2_SetFront(p,a) (p)->SetFront(p,a)
1018 #define IDirect3DRMViewport2_SetBack(p,a) (p)->(p,a)
1019 #define IDirect3DRMViewport2_SetField(p,a) (p)->(p,a)
1020 #define IDirect3DRMViewport2_SetUniformScaling(p,a) (p)->SetUniformScaling(p,a)
1021 #define IDirect3DRMViewport2_SetCamera(p,a) (p)->SetCamera(p,a)
1022 #define IDirect3DRMViewport2_SetProjection(p,a) (p)->SetProjection(p,a)
1023 #define IDirect3DRMViewport2_Transform(p,a,b) (p)->Transform(p,a,b)
1024 #define IDirect3DRMViewport2_InverseTransform(p,a,b) (p)->(p,a,b)
1025 #define IDirect3DRMViewport2_Configure(p,a,b,c,d) (p)->Configure(p,a,b,c,d)
1026 #define IDirect3DRMViewport2_ForceUpdate(p,a,b,c,d) (p)->ForceUpdate(p,a,b,c,d)
1027 #define IDirect3DRMViewport2_SetPlane(p,a,b,c,d) (p)->SetPlane(p,a,b,c,d)
1028 #define IDirect3DRMViewport2_GetCamera(p,a) (p)->GetCamera(p,a)
1029 #define IDirect3DRMViewport2_GetDevice(p,a) (p)->GetDevice(p,a)
1030 #define IDirect3DRMViewport2_GetPlane(p,a,b,c,d) (p)->GetPlane(p,a,b,c,d)
1031 #define IDirect3DRMViewport2_Pick(p,a,b,c) (p)->Pick(p,a,b,c)
1032 #define IDirect3DRMViewport2_GetUniformScaling(p) (p)->GetUniformScaling(p)
1033 #define IDirect3DRMViewport2_GetX(p) (p)->GetX(p)
1034 #define IDirect3DRMViewport2_GetY(p) (p)->GetY(p)
1035 #define IDirect3DRMViewport2_GetWidth(p) (p)->GetWidth(p)
1036 #define IDirect3DRMViewport2_GetHeight(p) (p)->GetHeight(p)
1037 #define IDirect3DRMViewport2_GetField(p) (p)->GetField(p)
1038 #define IDirect3DRMViewport2_GetBack(p) (p)->GetBack(p)
1039 #define IDirect3DRMViewport2_GetFront(p) (p)->GetFront(p)
1040 #define IDirect3DRMViewport2_GetProjection(p) (p)->GetProjection(p)
1041 #define IDirect3DRMViewport2_GetDirect3DViewport(p,a) (p)->GetDirect3DViewport(p,a)
1042 #define IDirect3DRMViewport2_TransformVectors(p,a,b,c) (p)->TransformVectors(a,b,c)
1043 #define IDirect3DRMViewport2_InverseTransformVectors(p,a,b,c) (p)->InverseTransformVectors(ab,c)
1046 /*****************************************************************************
1047 * IDirect3DRMFrame interface
1049 #define INTERFACE IDirect3DRMFrame
1050 DECLARE_INTERFACE_(IDirect3DRMFrame,IDirect3DRMVisual)
1052 /*** IUnknown methods ***/
1053 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1054 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1055 STDMETHOD_(ULONG,Release)(THIS) PURE;
1056 /*** IDirect3DRMObject methods ***/
1057 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
1058 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1059 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1060 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
1061 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
1062 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
1063 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1064 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1065 /*** IDirect3DRMFrame methods ***/
1066 STDMETHOD(AddChild)(THIS_ LPDIRECT3DRMFRAME child) PURE;
1067 STDMETHOD(AddLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
1068 STDMETHOD(AddMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE;
1069 STDMETHOD(AddTransform)(THIS_ D3DRMCOMBINETYPE, D3DRMMATRIX4D) PURE;
1070 STDMETHOD(AddTranslation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
1071 STDMETHOD(AddScale)(THIS_ D3DRMCOMBINETYPE, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
1072 STDMETHOD(AddRotation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
1073 STDMETHOD(AddVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE;
1074 STDMETHOD(GetChildren)(THIS_ LPDIRECT3DRMFRAMEARRAY *children) PURE;
1075 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
1076 STDMETHOD(GetLights)(THIS_ LPDIRECT3DRMLIGHTARRAY *lights) PURE;
1077 STDMETHOD_(D3DRMMATERIALMODE, GetMaterialMode)(THIS) PURE;
1078 STDMETHOD(GetParent)(THIS_ LPDIRECT3DRMFRAME *) PURE;
1079 STDMETHOD(GetPosition)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_position) PURE;
1080 STDMETHOD(GetRotation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR axis, LPD3DVALUE return_theta) PURE;
1081 STDMETHOD(GetScene)(THIS_ LPDIRECT3DRMFRAME *) PURE;
1082 STDMETHOD_(D3DRMSORTMODE, GetSortMode)(THIS) PURE;
1083 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE *) PURE;
1084 STDMETHOD(GetTransform)(THIS_ D3DRMMATRIX4D return_matrix) PURE;
1085 STDMETHOD(GetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_velocity, BOOL with_rotation) PURE;
1086 STDMETHOD(GetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR dir, LPD3DVECTOR up) PURE;
1087 STDMETHOD(GetVisuals)(THIS_ LPDIRECT3DRMVISUALARRAY *visuals) PURE;
1088 STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
1089 STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
1090 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK,
1092 STDMETHOD(LookAt)(THIS_ LPDIRECT3DRMFRAME target, LPDIRECT3DRMFRAME reference, D3DRMFRAMECONSTRAINT) PURE;
1093 STDMETHOD(Move)(THIS_ D3DVALUE delta) PURE;
1094 STDMETHOD(DeleteChild)(THIS_ LPDIRECT3DRMFRAME) PURE;
1095 STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
1096 STDMETHOD(DeleteMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE;
1097 STDMETHOD(DeleteVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE;
1098 STDMETHOD_(D3DCOLOR, GetSceneBackground)(THIS) PURE;
1099 STDMETHOD(GetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *) PURE;
1100 STDMETHOD_(D3DCOLOR, GetSceneFogColor)(THIS) PURE;
1101 STDMETHOD_(BOOL, GetSceneFogEnable)(THIS) PURE;
1102 STDMETHOD_(D3DRMFOGMODE, GetSceneFogMode)(THIS) PURE;
1103 STDMETHOD(GetSceneFogParams)(THIS_ D3DVALUE *return_start, D3DVALUE *return_end, D3DVALUE *return_density) PURE;
1104 STDMETHOD(SetSceneBackground)(THIS_ D3DCOLOR) PURE;
1105 STDMETHOD(SetSceneBackgroundRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
1106 STDMETHOD(SetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE;
1107 STDMETHOD(SetSceneBackgroundImage)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
1108 STDMETHOD(SetSceneFogEnable)(THIS_ BOOL) PURE;
1109 STDMETHOD(SetSceneFogColor)(THIS_ D3DCOLOR) PURE;
1110 STDMETHOD(SetSceneFogMode)(THIS_ D3DRMFOGMODE) PURE;
1111 STDMETHOD(SetSceneFogParams)(THIS_ D3DVALUE start, D3DVALUE end, D3DVALUE density) PURE;
1112 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
1113 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
1114 STDMETHOD_(D3DRMZBUFFERMODE, GetZbufferMode)(THIS) PURE;
1115 STDMETHOD(SetMaterialMode)(THIS_ D3DRMMATERIALMODE) PURE;
1116 STDMETHOD(SetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
1117 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz) PURE;
1118 STDMETHOD(SetPosition)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
1119 STDMETHOD(SetRotation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
1120 STDMETHOD(SetSortMode)(THIS_ D3DRMSORTMODE) PURE;
1121 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
1122 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
1123 STDMETHOD(SetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, BOOL with_rotation) PURE;
1124 STDMETHOD(SetZbufferMode)(THIS_ D3DRMZBUFFERMODE) PURE;
1125 STDMETHOD(Transform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
1129 #if !defined(__cplusplus) || defined(CINTERFACE)
1130 /*** IUnknown methods ***/
1131 #define IDirect3DRMFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1132 #define IDirect3DRMFrame_AddRef(p) (p)->lpVtbl->AddRef(p)
1133 #define IDirect3DRMFrame_Release(p) (p)->lpVtbl->Release(p)
1134 /*** IDirect3DRMObject methods ***/
1135 #define IDirect3DRMFrame_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
1136 #define IDirect3DRMFrame_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
1137 #define IDirect3DRMFrame_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
1138 #define IDirect3DRMFrame_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
1139 #define IDirect3DRMFrame_GetAppData(p) (p)->lpVtbl->GetAppData(p)
1140 #define IDirect3DRMFrame_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1141 #define IDirect3DRMFrame_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
1142 #define IDirect3DRMFrame_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
1143 /*** IDirect3DRMFrame methods ***/
1144 #define IDirect3DRMFrame_AddChild(p,a) (p)->lpVtbl->AddChild(p,a)
1145 #define IDirect3DRMFrame_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
1146 #define IDirect3DRMFrame_AddMoveCallback(p,a,b) (p)->lpVtbl->AddMoveCallback(p,a,b)
1147 #define IDirect3DRMFrame_AddTransform(p,a,b) (p)->lpVtbl->AddTransform(p,a,b)
1148 #define IDirect3DRMFrame_AddTranslation(p,a,b,c,d) (p)->lpVtbl->AddTranslation(p,a,b,c,d)
1149 #define IDirect3DRMFrame_AddScale(p,a,b,c,d) (p)->lpVtbl->AddScale(p,a,b,c,d)
1150 #define IDirect3DRMFrame_AddRotation(p,a,b,c,d,e) (p)->lpVtbl->AddRotation(p,a,b,c,d,e)
1151 #define IDirect3DRMFrame_AddVisual(p,a) (p)->lpVtbl->AddVisual(p,a)
1152 #define IDirect3DRMFrame_GetChildren(p,a) (p)->lpVtbl->GetChildren(p,a)
1153 #define IDirect3DRMFrame_GetColor(p) (p)->lpVtbl->GetColor(p)
1154 #define IDirect3DRMFrame_GetLights(p,a) (p)->lpVtbl->GetLights(p,a)
1155 #define IDirect3DRMFrame_GetMaterialMode(p) (p)->lpVtbl->GetMaterialMode(p)
1156 #define IDirect3DRMFrame_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
1157 #define IDirect3DRMFrame_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
1158 #define IDirect3DRMFrame_GetRotation(p,a,b,c) (p)->lpVtbl->GetRotation(p,a,b,c)
1159 #define IDirect3DRMFrame_GetScene(p,a) (p)->lpVtbl->GetScene(p,a)
1160 #define IDirect3DRMFrame_GetSortMode(p) (p)->lpVtbl->GetSortMode(p)
1161 #define IDirect3DRMFrame_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
1162 #define IDirect3DRMFrame_GetTransform(p,a) (p)->lpVtbl->GetTransform(p,a)
1163 #define IDirect3DRMFrame_GetVelocity(p,a,b,c) (p)->lpVtbl->GetVelocity(p,a,b,c)
1164 #define IDirect3DRMFrame_GetOrientation(p,a,b,c) (p)->lpVtbl->GetOrientation(p,a,b,c)
1165 #define IDirect3DRMFrame_GetVisuals(p,a) (p)->lpVtbl->GetVisuals(p,a)
1166 #define IDirect3DRMFrame_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
1167 #define IDirect3DRMFrame_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
1168 #define IDirect3DRMFrame_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
1169 #define IDirect3DRMFrame_LookAt(p,a,b,c) (p)->lpVtbl->LookAt(p,a,b,c)
1170 #define IDirect3DRMFrame_Move(p,a) (p)->lpVtbl->Move(p,a)
1171 #define IDirect3DRMFrame_DeleteChild(p,a) (p)->lpVtbl->DeleteChild(p,a)
1172 #define IDirect3DRMFrame_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
1173 #define IDirect3DRMFrame_DeleteMoveCallback(p,a,b) (p)->lpVtbl->DeleteMoveCallback(p,a,b)
1174 #define IDirect3DRMFrame_DeleteVisual(p,a) (p)->lpVtbl->DeleteVisual(p,a)
1175 #define IDirect3DRMFrame_GetSceneBackground(p) (p)->lpVtbl->GetSceneBackground(p)
1176 #define IDirect3DRMFrame_GetSceneBackgroundDepth(p,a) (p)->lpVtbl->GetSceneBackgroundDepth(p,a)
1177 #define IDirect3DRMFrame_GetSceneFogColor(p) (p)->lpVtbl->GetSceneFogColor(p)
1178 #define IDirect3DRMFrame_GetSceneFogEnable(p) (p)->lpVtbl->GetSceneFogEnable(p)
1179 #define IDirect3DRMFrame_GetSceneFogMode(p) (p)->lpVtbl->GetSceneFogMode(p)
1180 #define IDirect3DRMFrame_GetSceneFogParams(p,a,b,c) (p)->lpVtbl->GetSceneFogParams(p,a,b,c)
1181 #define IDirect3DRMFrame_SetSceneBackground(p,a) (p)->lpVtbl->SetSceneBackground(p,a)
1182 #define IDirect3DRMFrame_SetSceneBackgroundRGB(p,a,b,c) (p)->lpVtbl->SetSceneBackgroundRGB(p,a,b,c)
1183 #define IDirect3DRMFrame_SetSceneBackgroundDepth(p,a) (p)->lpVtbl->SetSceneBackgroundDepth(p,a)
1184 #define IDirect3DRMFrame_SetSceneBackgroundImage(p,a) (p)->lpVtbl->SetSceneBackgroundImage(p,a)
1185 #define IDirect3DRMFrame_SetSceneFogEnable(p,a) (p)->lpVtbl->SetSceneFogEnable(p,a)
1186 #define IDirect3DRMFrame_SetSceneFogColor(p,a) (p)->lpVtbl->SetSceneFogColor(p,a)
1187 #define IDirect3DRMFrame_SetSceneFogMode(p,a) (p)->lpVtbl->SetSceneFogMode(p,a)
1188 #define IDirect3DRMFrame_SetSceneFogParams(p,a,b,c) (p)->lpVtbl->SetSceneFogParams(p,a,b,c)
1189 #define IDirect3DRMFrame_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
1190 #define IDirect3DRMFrame_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
1191 #define IDirect3DRMFrame_GetZbufferMode(p) (p)->lpVtbl->GetZbufferMode(p)
1192 #define IDirect3DRMFrame_SetMaterialMode(p,a) (p)->lpVtbl->SetMaterialMode(p,a)
1193 #define IDirect3DRMFrame_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
1194 #define IDirect3DRMFrame_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
1195 #define IDirect3DRMFrame_SetRotation(p,a,b,c,d,e) (p)->lpVtbl->SetRotation(p,a,b,c,d,e)
1196 #define IDirect3DRMFrame_SetSortMode(p,a) (p)->lpVtbl->SetSortMode(p,a)
1197 #define IDirect3DRMFrame_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
1198 #define IDirect3DRMFrame_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
1199 #define IDirect3DRMFrame_SetVelocity(p,a,b,c,d,e) (p)->lpVtbl->SetVelocity(p,a,b,c,d,e)
1200 #define IDirect3DRMFrame_SetZbufferMode(p,a) (p)->lpVtbl->SetZbufferMode(p,a)
1201 #define IDirect3DRMFrame_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
1203 /*** IUnknown methods ***/
1204 #define IDirect3DRMFrame_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1205 #define IDirect3DRMFrame_AddRef(p) (p)->AddRef()
1206 #define IDirect3DRMFrame_Release(p) (p)->Release()
1207 /*** IDirect3DRMObject methods ***/
1208 #define IDirect3DRMFrame_Clone(p,a,b,c) (p)->Clone(a,b,c)
1209 #define IDirect3DRMFrame_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
1210 #define IDirect3DRMFrame_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
1211 #define IDirect3DRMFrame_SetAppData(p,a) (p)->SetAppData(a)
1212 #define IDirect3DRMFrame_GetAppData(p) (p)->GetAppData()
1213 #define IDirect3DRMFrame_SetName(p,a) (p)->SetName(a)
1214 #define IDirect3DRMFrame_GetName(p,a,b) (p)->GetName(a,b)
1215 #define IDirect3DRMFrame_GetClassName(p,a,b) (p)->GetClassName(a,b)
1216 /*** IDirect3DRMFrame methods ***/
1217 #define IDirect3DRMFrame_AddChild(p,a) (p)->AddChild(a)
1218 #define IDirect3DRMFrame_AddLight(p,a) (p)->AddLight(a)
1219 #define IDirect3DRMFrame_AddMoveCallback(p,a,b) (p)->AddMoveCallback(a,b)
1220 #define IDirect3DRMFrame_AddTransform(p,a,b) (p)->AddTransform(a,b)
1221 #define IDirect3DRMFrame_AddTranslation(p,a,b,c,d) (p)->AddTranslation(a,b,c,d)
1222 #define IDirect3DRMFrame_AddScale(p,a,b,c,d) (p)->AddScale(a,b,c,d)
1223 #define IDirect3DRMFrame_AddRotation(p,a,b,c,d,e) (p)->AddRotation(a,b,c,d,e)
1224 #define IDirect3DRMFrame_AddVisual(p,a) (p)->AddVisual(a)
1225 #define IDirect3DRMFrame_GetChildren(p,a) (p)->GetChildren(a)
1226 #define IDirect3DRMFrame_GetColor(p) (p)->GetColor()
1227 #define IDirect3DRMFrame_GetLights(p,a) (p)->GetLights(a)
1228 #define IDirect3DRMFrame_GetMaterialMode(p) (p)->GetMaterialMode()
1229 #define IDirect3DRMFrame_GetParent(p,a) (p)->GetParent(a)
1230 #define IDirect3DRMFrame_GetPosition(p,a,b) (p)->GetPosition(a,b)
1231 #define IDirect3DRMFrame_GetRotation(p,a,b,c) (p)->GetRotation(a,b,c)
1232 #define IDirect3DRMFrame_GetScene(p,a) (p)->GetScene(a)
1233 #define IDirect3DRMFrame_GetSortMode(p) (p)->GetSortMode()
1234 #define IDirect3DRMFrame_GetTexture(p,a) (p)->GetTexture(a)
1235 #define IDirect3DRMFrame_GetTransform(p,a) (p)->GetTransform(a)
1236 #define IDirect3DRMFrame_GetVelocity(p,a,b,c) (p)->GetVelocity(a,b,c)
1237 #define IDirect3DRMFrame_GetOrientation(p,a,b,c) (p)->GetOrientation(a,b,c)
1238 #define IDirect3DRMFrame_GetVisuals(p,a) (p)->GetVisuals(a)
1239 #define IDirect3DRMFrame_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
1240 #define IDirect3DRMFrame_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
1241 #define IDirect3DRMFrame_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
1242 #define IDirect3DRMFrame_LookAt(p,a,b,c) (p)->LookAt(a,b,c)
1243 #define IDirect3DRMFrame_Move(p,a) (p)->Move(a)
1244 #define IDirect3DRMFrame_DeleteChild(p,a) (p)->DeleteChild(a)
1245 #define IDirect3DRMFrame_DeleteLight(p,a) (p)->DeleteLight(a)
1246 #define IDirect3DRMFrame_DeleteMoveCallback(p,a,b) (p)->DeleteMoveCallback(a,b)
1247 #define IDirect3DRMFrame_DeleteVisual(p,a) (p)->DeleteVisual(a)
1248 #define IDirect3DRMFrame_GetSceneBackground(p) (p)->GetSceneBackground()
1249 #define IDirect3DRMFrame_GetSceneBackgroundDepth(p,a) (p)->GetSceneBackgroundDepth(a)
1250 #define IDirect3DRMFrame_GetSceneFogColor(p) (p)->GetSceneFogColor()
1251 #define IDirect3DRMFrame_GetSceneFogEnable(p) (p)->GetSceneFogEnable()
1252 #define IDirect3DRMFrame_GetSceneFogMode(p) (p)->GetSceneFogMode()
1253 #define IDirect3DRMFrame_GetSceneFogParams(p,a,b,c) (p)->GetSceneFogParams(a,b,c)
1254 #define IDirect3DRMFrame_SetSceneBackground(p,a) (p)->SetSceneBackground(a)
1255 #define IDirect3DRMFrame_SetSceneBackgroundRGB(p,a,b,c) (p)->SetSceneBackgroundRGB(a,b,c)
1256 #define IDirect3DRMFrame_SetSceneBackgroundDepth(p,a) (p)->SetSceneBackgroundDepth(a)
1257 #define IDirect3DRMFrame_SetSceneBackgroundImage(p,a) (p)->SetSceneBackgroundImage(a)
1258 #define IDirect3DRMFrame_SetSceneFogEnable(p,a) (p)->SetSceneFogEnable(a)
1259 #define IDirect3DRMFrame_SetSceneFogColor(p,a) (p)->SetSceneFogColor(a)
1260 #define IDirect3DRMFrame_SetSceneFogMode(p,a) (p)->SetSceneFogMode(a)
1261 #define IDirect3DRMFrame_SetSceneFogParams(p,a,b,c) (p)->SetSceneFogParams(a,b,c)
1262 #define IDirect3DRMFrame_SetColor(p,a) (p)->SetColor(a)
1263 #define IDirect3DRMFrame_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
1264 #define IDirect3DRMFrame_GetZbufferMode(p) (p)->GetZbufferMode()
1265 #define IDirect3DRMFrame_SetMaterialMode(p,a) (p)->SetMaterialMode(a)
1266 #define IDirect3DRMFrame_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
1267 #define IDirect3DRMFrame_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
1268 #define IDirect3DRMFrame_SetRotation(p,a,b,c,d,e) (p)->SetRotation(a,b,c,d,e)
1269 #define IDirect3DRMFrame_SetSortMode(p,a) (p)->SetSortMode(a)
1270 #define IDirect3DRMFrame_SetTexture(p,a) (p)->SetTexture(a)
1271 #define IDirect3DRMFrame_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
1272 #define IDirect3DRMFrame_SetVelocity(p,a,b,c,d,e) (p)->SetVelocity(a,b,c,d,e)
1273 #define IDirect3DRMFrame_SetZbufferMode(p,a) (p)->SetZbufferMode(a)
1274 #define IDirect3DRMFrame_Transform(p,a,b) (p)->Transform(a,b)
1277 /*****************************************************************************
1278 * IDirect3DRMFrame2 interface
1280 #define INTERFACE IDirect3DRMFrame2
1281 DECLARE_INTERFACE_(IDirect3DRMFrame2,IDirect3DRMFrame)
1283 /*** IUnknown methods ***/
1284 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1285 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1286 STDMETHOD_(ULONG,Release)(THIS) PURE;
1287 /*** IDirect3DRMObject methods ***/
1288 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
1289 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1290 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1291 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
1292 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
1293 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
1294 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1295 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1296 /*** IDirect3DRMFrame methods ***/
1297 STDMETHOD(AddChild)(THIS_ LPDIRECT3DRMFRAME child) PURE;
1298 STDMETHOD(AddLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
1299 STDMETHOD(AddMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE;
1300 STDMETHOD(AddTransform)(THIS_ D3DRMCOMBINETYPE, D3DRMMATRIX4D) PURE;
1301 STDMETHOD(AddTranslation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
1302 STDMETHOD(AddScale)(THIS_ D3DRMCOMBINETYPE, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
1303 STDMETHOD(AddRotation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
1304 STDMETHOD(AddVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE;
1305 STDMETHOD(GetChildren)(THIS_ LPDIRECT3DRMFRAMEARRAY *children) PURE;
1306 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
1307 STDMETHOD(GetLights)(THIS_ LPDIRECT3DRMLIGHTARRAY *lights) PURE;
1308 STDMETHOD_(D3DRMMATERIALMODE, GetMaterialMode)(THIS) PURE;
1309 STDMETHOD(GetParent)(THIS_ LPDIRECT3DRMFRAME *) PURE;
1310 STDMETHOD(GetPosition)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_position) PURE;
1311 STDMETHOD(GetRotation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR axis, LPD3DVALUE return_theta) PURE;
1312 STDMETHOD(GetScene)(THIS_ LPDIRECT3DRMFRAME *) PURE;
1313 STDMETHOD_(D3DRMSORTMODE, GetSortMode)(THIS) PURE;
1314 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE *) PURE;
1315 STDMETHOD(GetTransform)(THIS_ D3DRMMATRIX4D return_matrix) PURE;
1316 STDMETHOD(GetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_velocity, BOOL with_rotation) PURE;
1317 STDMETHOD(GetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR dir, LPD3DVECTOR up) PURE;
1318 STDMETHOD(GetVisuals)(THIS_ LPDIRECT3DRMVISUALARRAY *visuals) PURE;
1319 STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
1320 STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
1321 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK,
1323 STDMETHOD(LookAt)(THIS_ LPDIRECT3DRMFRAME target, LPDIRECT3DRMFRAME reference, D3DRMFRAMECONSTRAINT) PURE;
1324 STDMETHOD(Move)(THIS_ D3DVALUE delta) PURE;
1325 STDMETHOD(DeleteChild)(THIS_ LPDIRECT3DRMFRAME) PURE;
1326 STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
1327 STDMETHOD(DeleteMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE;
1328 STDMETHOD(DeleteVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE;
1329 STDMETHOD_(D3DCOLOR, GetSceneBackground)(THIS) PURE;
1330 STDMETHOD(GetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *) PURE;
1331 STDMETHOD_(D3DCOLOR, GetSceneFogColor)(THIS) PURE;
1332 STDMETHOD_(BOOL, GetSceneFogEnable)(THIS) PURE;
1333 STDMETHOD_(D3DRMFOGMODE, GetSceneFogMode)(THIS) PURE;
1334 STDMETHOD(GetSceneFogParams)(THIS_ D3DVALUE *return_start, D3DVALUE *return_end, D3DVALUE *return_density) PURE;
1335 STDMETHOD(SetSceneBackground)(THIS_ D3DCOLOR) PURE;
1336 STDMETHOD(SetSceneBackgroundRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
1337 STDMETHOD(SetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE;
1338 STDMETHOD(SetSceneBackgroundImage)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
1339 STDMETHOD(SetSceneFogEnable)(THIS_ BOOL) PURE;
1340 STDMETHOD(SetSceneFogColor)(THIS_ D3DCOLOR) PURE;
1341 STDMETHOD(SetSceneFogMode)(THIS_ D3DRMFOGMODE) PURE;
1342 STDMETHOD(SetSceneFogParams)(THIS_ D3DVALUE start, D3DVALUE end, D3DVALUE density) PURE;
1343 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
1344 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
1345 STDMETHOD_(D3DRMZBUFFERMODE, GetZbufferMode)(THIS) PURE;
1346 STDMETHOD(SetMaterialMode)(THIS_ D3DRMMATERIALMODE) PURE;
1347 STDMETHOD(SetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
1348 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz) PURE;
1349 STDMETHOD(SetPosition)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
1350 STDMETHOD(SetRotation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
1351 STDMETHOD(SetSortMode)(THIS_ D3DRMSORTMODE) PURE;
1352 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
1353 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
1354 STDMETHOD(SetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, BOOL with_rotation) PURE;
1355 STDMETHOD(SetZbufferMode)(THIS_ D3DRMZBUFFERMODE) PURE;
1356 STDMETHOD(Transform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
1357 /*** IDirect3DRMFrame2 methods ***/
1358 STDMETHOD(AddMoveCallback2)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg, DWORD flags) PURE;
1359 STDMETHOD(GetBox)(THIS_ LPD3DRMBOX) PURE;
1360 STDMETHOD_(BOOL, GetBoxEnable)(THIS) PURE;
1361 STDMETHOD(GetAxes)(THIS_ LPD3DVECTOR dir, LPD3DVECTOR up);
1362 STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL *) PURE;
1363 STDMETHOD_(BOOL, GetInheritAxes)(THIS);
1364 STDMETHOD(GetHierarchyBox)(THIS_ LPD3DRMBOX) PURE;
1365 STDMETHOD(SetBox)(THIS_ LPD3DRMBOX) PURE;
1366 STDMETHOD(SetBoxEnable)(THIS_ BOOL) PURE;
1367 STDMETHOD(SetAxes)(THIS_ D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz);
1368 STDMETHOD(SetInheritAxes)(THIS_ BOOL inherit_from_parent);
1369 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
1370 STDMETHOD(SetQuaternion)(THIS_ LPDIRECT3DRMFRAME reference, D3DRMQUATERNION *q) PURE;
1371 STDMETHOD(RayPick)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DRMRAY ray, DWORD flags,
1372 LPDIRECT3DRMPICKED2ARRAY *return_visuals) PURE;
1373 STDMETHOD(Save)(THIS_ LPCSTR filename, D3DRMXOFFORMAT d3dFormat, D3DRMSAVEOPTIONS d3dSaveFlags);
1377 #if !defined(__cplusplus) || defined(CINTERFACE)
1378 /*** IUnknown methods ***/
1379 #define IDirect3DRMFrame2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1380 #define IDirect3DRMFrame2_AddRef(p) (p)->lpVtbl->AddRef(p)
1381 #define IDirect3DRMFrame2_Release(p) (p)->lpVtbl->Release(p)
1382 /*** IDirect3DRMObject methods ***/
1383 #define IDirect3DRMFrame2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
1384 #define IDirect3DRMFrame2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
1385 #define IDirect3DRMFrame2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
1386 #define IDirect3DRMFrame2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
1387 #define IDirect3DRMFrame2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
1388 #define IDirect3DRMFrame2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1389 #define IDirect3DRMFrame2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
1390 #define IDirect3DRMFrame2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
1391 /*** IDirect3DRMFrame methods ***/
1392 #define IDirect3DRMFrame2_AddChild(p,a) (p)->lpVtbl->AddChild(p,a)
1393 #define IDirect3DRMFrame2_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
1394 #define IDirect3DRMFrame2_AddMoveCallback(p,a,b) (p)->lpVtbl->AddMoveCallback(p,a,b)
1395 #define IDirect3DRMFrame2_AddTransform(p,a,b) (p)->lpVtbl->AddTransform(p,a,b)
1396 #define IDirect3DRMFrame2_AddTranslation(p,a,b,c,d) (p)->lpVtbl->AddTranslation(p,a,b,c,d)
1397 #define IDirect3DRMFrame2_AddScale(p,a,b,c,d) (p)->lpVtbl->AddScale(p,a,b,c,d)
1398 #define IDirect3DRMFrame2_AddRotation(p,a,b,c,d,e) (p)->lpVtbl->AddRotation(p,a,b,c,d,e)
1399 #define IDirect3DRMFrame2_AddVisual(p,a) (p)->lpVtbl->AddVisual(p,a)
1400 #define IDirect3DRMFrame2_GetChildren(p,a) (p)->lpVtbl->GetChildren(p,a)
1401 #define IDirect3DRMFrame2_GetColor(p) (p)->lpVtbl->GetColor(p)
1402 #define IDirect3DRMFrame2_GetLights(p,a) (p)->lpVtbl->GetLights(p,a)
1403 #define IDirect3DRMFrame2_GetMaterialMode(p) (p)->lpVtbl->GetMaterialMode(p)
1404 #define IDirect3DRMFrame2_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
1405 #define IDirect3DRMFrame2_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
1406 #define IDirect3DRMFrame2_GetRotation(p,a,b,c) (p)->lpVtbl->GetRotation(p,a,b,c)
1407 #define IDirect3DRMFrame2_GetScene(p,a) (p)->lpVtbl->GetScene(p,a)
1408 #define IDirect3DRMFrame2_GetSortMode(p) (p)->lpVtbl->GetSortMode(p)
1409 #define IDirect3DRMFrame2_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
1410 #define IDirect3DRMFrame2_GetTransform(p,a) (p)->lpVtbl->GetTransform(p,a)
1411 #define IDirect3DRMFrame2_GetVelocity(p,a,b,c) (p)->lpVtbl->GetVelocity(p,a,b,c)
1412 #define IDirect3DRMFrame2_GetOrientation(p,a,b,c) (p)->lpVtbl->GetOrientation(p,a,b,c)
1413 #define IDirect3DRMFrame2_GetVisuals(p,a) (p)->lpVtbl->GetVisuals(p,a)
1414 #define IDirect3DRMFrame2_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
1415 #define IDirect3DRMFrame2_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
1416 #define IDirect3DRMFrame2_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
1417 #define IDirect3DRMFrame2_LookAt(p,a,b,c) (p)->lpVtbl->LookAt(p,a,b,c)
1418 #define IDirect3DRMFrame2_Move(p,a) (p)->lpVtbl->Move(p,a)
1419 #define IDirect3DRMFrame2_DeleteChild(p,a) (p)->lpVtbl->DeleteChild(p,a)
1420 #define IDirect3DRMFrame2_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
1421 #define IDirect3DRMFrame2_DeleteMoveCallback(p,a,b) (p)->lpVtbl->DeleteMoveCallback(p,a,b)
1422 #define IDirect3DRMFrame2_DeleteVisual(p,a) (p)->lpVtbl->DeleteVisual(p,a)
1423 #define IDirect3DRMFrame2_GetSceneBackground(p) (p)->lpVtbl->GetSceneBackground(p)
1424 #define IDirect3DRMFrame2_GetSceneBackgroundDepth(p,a) (p)->lpVtbl->GetSceneBackgroundDepth(p,a)
1425 #define IDirect3DRMFrame2_GetSceneFogColor(p) (p)->lpVtbl->GetSceneFogColor(p)
1426 #define IDirect3DRMFrame2_GetSceneFogEnable(p) (p)->lpVtbl->GetSceneFogEnable(p)
1427 #define IDirect3DRMFrame2_GetSceneFogMode(p) (p)->lpVtbl->GetSceneFogMode(p)
1428 #define IDirect3DRMFrame2_GetSceneFogParams(p,a,b,c) (p)->lpVtbl->GetSceneFogParams(p,a,b,c)
1429 #define IDirect3DRMFrame2_SetSceneBackground(p,a) (p)->lpVtbl->SetSceneBackground(p,a)
1430 #define IDirect3DRMFrame2_SetSceneBackgroundRGB(p,a,b,c) (p)->lpVtbl->SetSceneBackgroundRGB(p,a,b,c)
1431 #define IDirect3DRMFrame2_SetSceneBackgroundDepth(p,a) (p)->lpVtbl->SetSceneBackgroundDepth(p,a)
1432 #define IDirect3DRMFrame2_SetSceneBackgroundImage(p,a) (p)->lpVtbl->SetSceneBackgroundImage(p,a)
1433 #define IDirect3DRMFrame2_SetSceneFogEnable(p,a) (p)->lpVtbl->SetSceneFogEnable(p,a)
1434 #define IDirect3DRMFrame2_SetSceneFogColor(p,a) (p)->lpVtbl->SetSceneFogColor(p,a)
1435 #define IDirect3DRMFrame2_SetSceneFogMode(p,a) (p)->lpVtbl->SetSceneFogMode(p,a)
1436 #define IDirect3DRMFrame2_SetSceneFogParams(p,a,b,c) (p)->lpVtbl->SetSceneFogParams(p,a,b,c)
1437 #define IDirect3DRMFrame2_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
1438 #define IDirect3DRMFrame2_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
1439 #define IDirect3DRMFrame2_GetZbufferMode(p) (p)->lpVtbl->GetZbufferMode(p)
1440 #define IDirect3DRMFrame2_SetMaterialMode(p,a) (p)->lpVtbl->SetMaterialMode(p,a)
1441 #define IDirect3DRMFrame2_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
1442 #define IDirect3DRMFrame2_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
1443 #define IDirect3DRMFrame2_SetRotation(p,a,b,c,d,e) (p)->lpVtbl->SetRotation(p,a,b,c,d,e)
1444 #define IDirect3DRMFrame2_SetSortMode(p,a) (p)->lpVtbl->SetSortMode(p,a)
1445 #define IDirect3DRMFrame2_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
1446 #define IDirect3DRMFrame2_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
1447 #define IDirect3DRMFrame2_SetVelocity(p,a,b,c,d,e) (p)->lpVtbl->SetVelocity(p,a,b,c,d,e)
1448 #define IDirect3DRMFrame2_SetZbufferMode(p,a) (p)->lpVtbl->SetZbufferMode(p,a)
1449 #define IDirect3DRMFrame2_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
1450 /*** IDirect3DRMFrame2 methods ***/
1451 #define IDirect3DRMFrame2_AddMoveCallback2(p,a,b,c) (p)->lpVtbl->AddMoveCallback2(p,a,b,c)
1452 #define IDirect3DRMFrame2_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
1453 #define IDirect3DRMFrame2_GetBoxEnable(p) (p)->lpVtbl->GetBoxEnable(p)
1454 #define IDirect3DRMFrame2_GetAxes(p,a,b) (p)->lpVtbl->GetAxes(p,a,b)
1455 #define IDirect3DRMFrame2_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
1456 #define IDirect3DRMFrame2_GetInheritAxes(p,a,b) (p)->lpVtbl->GetInheritAxes(p,a,b)
1457 #define IDirect3DRMFrame2_GetHierarchyBox(p,a) (p)->lpVtbl->GetHierarchyBox(p,a)
1458 #define IDirect3DRMFrame2_SetBox(p,a) (p)->lpVtbl->SetBox(p,a)
1459 #define IDirect3DRMFrame2_SetBoxEnable(p,a) (p)->lpVtbl->SetBoxEnable(p,a)
1460 #define IDirect3DRMFrame2_SetAxes(p,a,b,c,d,e,f) (p)->lpVtbl->SetAxes(p,a,b,c,d,e,f)
1461 #define IDirect3DRMFrame2_SetInheritAxes(p,a) (p)->lpVtbl->SetInheritAxes(p,a)
1462 #define IDirect3DRMFrame2_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
1463 #define IDirect3DRMFrame2_SetQuaternion(p,a,b) (p)->lpVtbl->SetQuaternion(p,a,b)
1464 #define IDirect3DRMFrame2_RayPick(p,a,b,c,d) (p)->lpVtbl->RayPick(p,a,b,c,d)
1465 #define IDirect3DRMFrame2_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
1467 /*** IUnknown methods ***/
1468 #define IDirect3DRMFrame2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1469 #define IDirect3DRMFrame2_AddRef(p) (p)->AddRef()
1470 #define IDirect3DRMFrame2_Release(p) (p)->Release()
1471 /*** IDirect3DRMObject methods ***/
1472 #define IDirect3DRMFrame2_Clone(p,a,b,c) (p)->Clone(a,b,c)
1473 #define IDirect3DRMFrame2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
1474 #define IDirect3DRMFrame2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
1475 #define IDirect3DRMFrame2_SetAppData(p,a) (p)->SetAppData(a)
1476 #define IDirect3DRMFrame2_GetAppData(p) (p)->GetAppData()
1477 #define IDirect3DRMFrame2_SetName(p,a) (p)->SetName(a)
1478 #define IDirect3DRMFrame2_GetName(p,a,b) (p)->GetName(a,b)
1479 #define IDirect3DRMFrame2_GetClassName(p,a,b) (p)->GetClassName(a,b)
1480 /*** IDirect3DRMFrame methods ***/
1481 #define IDirect3DRMFrame2_AddChild(p,a) (p)->AddChild(a)
1482 #define IDirect3DRMFrame2_AddLight(p,a) (p)->AddLight(a)
1483 #define IDirect3DRMFrame2_AddMoveCallback(p,a,b) (p)->AddMoveCallback(a,b)
1484 #define IDirect3DRMFrame2_AddTransform(p,a,b) (p)->AddTransform(a,b)
1485 #define IDirect3DRMFrame2_AddTranslation(p,a,b,c,d) (p)->AddTranslation(a,b,c,d)
1486 #define IDirect3DRMFrame2_AddScale(p,a,b,c,d) (p)->AddScale(a,b,c,d)
1487 #define IDirect3DRMFrame2_AddRotation(p,a,b,c,d,e) (p)->AddRotation(a,b,c,d,e)
1488 #define IDirect3DRMFrame2_AddVisual(p,a) (p)->AddVisual(a)
1489 #define IDirect3DRMFrame2_GetChildren(p,a) (p)->GetChildren(a)
1490 #define IDirect3DRMFrame2_GetColor(p) (p)->GetColor()
1491 #define IDirect3DRMFrame2_GetLights(p,a) (p)->GetLights(a)
1492 #define IDirect3DRMFrame2_GetMaterialMode(p) (p)->GetMaterialMode()
1493 #define IDirect3DRMFrame2_GetParent(p,a) (p)->GetParent(a)
1494 #define IDirect3DRMFrame2_GetPosition(p,a,b) (p)->GetPosition(a,b)
1495 #define IDirect3DRMFrame2_GetRotation(p,a,b,c) (p)->GetRotation(a,b,c)
1496 #define IDirect3DRMFrame2_GetScene(p,a) (p)->GetScene(a)
1497 #define IDirect3DRMFrame2_GetSortMode(p) (p)->GetSortMode()
1498 #define IDirect3DRMFrame2_GetTexture(p,a) (p)->GetTexture(a)
1499 #define IDirect3DRMFrame2_GetTransform(p,a) (p)->GetTransform(a)
1500 #define IDirect3DRMFrame2_GetVelocity(p,a,b,c) (p)->GetVelocity(a,b,c)
1501 #define IDirect3DRMFrame2_GetOrientation(p,a,b,c) (p)->GetOrientation(a,b,c)
1502 #define IDirect3DRMFrame2_GetVisuals(p,a) (p)->GetVisuals(a)
1503 #define IDirect3DRMFrame2_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
1504 #define IDirect3DRMFrame2_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
1505 #define IDirect3DRMFrame2_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
1506 #define IDirect3DRMFrame2_LookAt(p,a,b,c) (p)->LookAt(a,b,c)
1507 #define IDirect3DRMFrame2_Move(p,a) (p)->Move(a)
1508 #define IDirect3DRMFrame2_DeleteChild(p,a) (p)->DeleteChild(a)
1509 #define IDirect3DRMFrame2_DeleteLight(p,a) (p)->DeleteLight(a)
1510 #define IDirect3DRMFrame2_DeleteMoveCallback(p,a,b) (p)->DeleteMoveCallback(a,b)
1511 #define IDirect3DRMFrame2_DeleteVisual(p,a) (p)->DeleteVisual(a)
1512 #define IDirect3DRMFrame2_GetSceneBackground(p) (p)->GetSceneBackground()
1513 #define IDirect3DRMFrame2_GetSceneBackgroundDepth(p,a) (p)->GetSceneBackgroundDepth(a)
1514 #define IDirect3DRMFrame2_GetSceneFogColor(p) (p)->GetSceneFogColor()
1515 #define IDirect3DRMFrame2_GetSceneFogEnable(p) (p)->GetSceneFogEnable()
1516 #define IDirect3DRMFrame2_GetSceneFogMode(p) (p)->GetSceneFogMode()
1517 #define IDirect3DRMFrame2_GetSceneFogParams(p,a,b,c) (p)->GetSceneFogParams(a,b,c)
1518 #define IDirect3DRMFrame2_SetSceneBackground(p,a) (p)->SetSceneBackground(a)
1519 #define IDirect3DRMFrame2_SetSceneBackgroundRGB(p,a,b,c) (p)->SetSceneBackgroundRGB(a,b,c)
1520 #define IDirect3DRMFrame2_SetSceneBackgroundDepth(p,a) (p)->SetSceneBackgroundDepth(a)
1521 #define IDirect3DRMFrame2_SetSceneBackgroundImage(p,a) (p)->SetSceneBackgroundImage(a)
1522 #define IDirect3DRMFrame2_SetSceneFogEnable(p,a) (p)->SetSceneFogEnable(a)
1523 #define IDirect3DRMFrame2_SetSceneFogColor(p,a) (p)->SetSceneFogColor(a)
1524 #define IDirect3DRMFrame2_SetSceneFogMode(p,a) (p)->SetSceneFogMode(a)
1525 #define IDirect3DRMFrame2_SetSceneFogParams(p,a,b,c) (p)->SetSceneFogParams(a,b,c)
1526 #define IDirect3DRMFrame2_SetColor(p,a) (p)->SetColor(a)
1527 #define IDirect3DRMFrame2_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
1528 #define IDirect3DRMFrame2_GetZbufferMode(p) (p)->GetZbufferMode()
1529 #define IDirect3DRMFrame2_SetMaterialMode(p,a) (p)->SetMaterialMode(a)
1530 #define IDirect3DRMFrame2_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
1531 #define IDirect3DRMFrame2_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
1532 #define IDirect3DRMFrame2_SetRotation(p,a,b,c,d,e) (p)->SetRotation(a,b,c,d,e)
1533 #define IDirect3DRMFrame2_SetSortMode(p,a) (p)->SetSortMode(a)
1534 #define IDirect3DRMFrame2_SetTexture(p,a) (p)->SetTexture(a)
1535 #define IDirect3DRMFrame2_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
1536 #define IDirect3DRMFrame2_SetVelocity(p,a,b,c,d,e) (p)->SetVelocity(a,b,c,d,e)
1537 #define IDirect3DRMFrame2_SetZbufferMode(p,a) (p)->SetZbufferMode(a)
1538 #define IDirect3DRMFrame2_Transform(p,a,b) (p)->Transform(a,b)
1539 /*** IDirect3DRMFrame2 methods ***/
1540 #define IDirect3DRMFrame2_AddMoveCallback2(p,a,b,c) (p)->AddMoveCallback2(a,b,c)
1541 #define IDirect3DRMFrame2_GetBox(p,a) (p)->GetBox(a)
1542 #define IDirect3DRMFrame2_GetBoxEnable(p) (p)->GetBoxEnable()
1543 #define IDirect3DRMFrame2_GetAxes(p,a,b) (p)->GetAxes(a,b)
1544 #define IDirect3DRMFrame2_GetMaterial(p,a) (p)->GetMaterial(a)
1545 #define IDirect3DRMFrame2_GetInheritAxes(p,a,b) (p)->GetInheritAxes(a,b)
1546 #define IDirect3DRMFrame2_GetHierarchyBox(p,a) (p)->GetHierarchyBox(a)
1547 #define IDirect3DRMFrame2_SetBox(p,a) (p)->SetBox(a)
1548 #define IDirect3DRMFrame2_SetBoxEnable(p,a) (p)->SetBoxEnable(a)
1549 #define IDirect3DRMFrame2_SetAxes(p,a,b,c,d,e,f) (p)->SetAxes(a,b,c,d,e,f)
1550 #define IDirect3DRMFrame2_SetInheritAxes(p,a) (p)->SetInheritAxes(a)
1551 #define IDirect3DRMFrame2_SetMaterial(p,a) (p)->SetMaterial(a)
1552 #define IDirect3DRMFrame2_SetQuaternion(p,a,b) (p)->SetQuaternion(a,b)
1553 #define IDirect3DRMFrame2_RayPick(p,a,b,c,d) (p)->RayPick(a,b,c,d)
1554 #define IDirect3DRMFrame2_Save(p,a,b,c) (p)->Save(a,b,c)
1557 /*****************************************************************************
1558 * IDirect3DRMFrame3 interface
1560 #define INTERFACE IDirect3DRMFrame3
1561 DECLARE_INTERFACE_(IDirect3DRMFrame3,IDirect3DRMVisual)
1563 /*** IUnknown methods ***/
1564 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1565 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1566 STDMETHOD_(ULONG,Release)(THIS) PURE;
1567 /*** IDirect3DRMObject methods ***/
1568 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
1569 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1570 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1571 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
1572 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
1573 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
1574 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1575 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1576 /*** IDirect3DRMFrame3 methods ***/
1577 STDMETHOD(AddChild)(THIS_ LPDIRECT3DRMFRAME3 child) PURE;
1578 STDMETHOD(AddLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
1579 STDMETHOD(AddMoveCallback)(THIS_ D3DRMFRAME3MOVECALLBACK, VOID *arg, DWORD flags) PURE;
1580 STDMETHOD(AddTranslation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
1581 STDMETHOD(AddScale)(THIS_ D3DRMCOMBINETYPE, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
1582 STDMETHOD(AddRotation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
1583 STDMETHOD(AddVisual)(THIS_ LPUNKNOWN) PURE;
1584 STDMETHOD(GetChildren)(THIS_ LPDIRECT3DRMFRAMEARRAY *children) PURE;
1585 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
1586 STDMETHOD(GetLights)(THIS_ LPDIRECT3DRMLIGHTARRAY *lights) PURE;
1587 STDMETHOD_(D3DRMMATERIALMODE, GetMaterialMode)(THIS) PURE;
1588 STDMETHOD(GetParent)(THIS_ LPDIRECT3DRMFRAME3 *) PURE;
1589 STDMETHOD(GetPosition)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR return_position) PURE;
1590 STDMETHOD(GetRotation)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR axis, LPD3DVALUE return_theta) PURE;
1591 STDMETHOD(GetScene)(THIS_ LPDIRECT3DRMFRAME3 *) PURE;
1592 STDMETHOD_(D3DRMSORTMODE, GetSortMode)(THIS) PURE;
1593 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE3 *) PURE;
1594 STDMETHOD(GetTransform)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DRMMATRIX4D rmMatrix) PURE;
1595 STDMETHOD(GetVelocity)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR return_velocity,
1596 BOOL with_rotation) PURE;
1597 STDMETHOD(GetOrientation)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR dir, LPD3DVECTOR up) PURE;
1598 STDMETHOD(GetVisuals)(THIS_ LPDWORD pCount, LPUNKNOWN *) PURE;
1599 STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
1600 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags,
1601 D3DRMLOADTEXTURE3CALLBACK, LPVOID pArg) PURE;
1602 STDMETHOD(LookAt)(THIS_ LPDIRECT3DRMFRAME3 target, LPDIRECT3DRMFRAME3 reference, D3DRMFRAMECONSTRAINT) PURE;
1603 STDMETHOD(Move)(THIS_ D3DVALUE delta) PURE;
1604 STDMETHOD(DeleteChild)(THIS_ LPDIRECT3DRMFRAME3) PURE;
1605 STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
1606 STDMETHOD(DeleteMoveCallback)(THIS_ D3DRMFRAME3MOVECALLBACK, VOID *arg) PURE;
1607 STDMETHOD(DeleteVisual)(THIS_ LPUNKNOWN) PURE;
1608 STDMETHOD_(D3DCOLOR, GetSceneBackground)(THIS) PURE;
1609 STDMETHOD(GetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *) PURE;
1610 STDMETHOD_(D3DCOLOR, GetSceneFogColor)(THIS) PURE;
1611 STDMETHOD_(BOOL, GetSceneFogEnable)(THIS) PURE;
1612 STDMETHOD_(D3DRMFOGMODE, GetSceneFogMode)(THIS) PURE;
1613 STDMETHOD(GetSceneFogParams)(THIS_ D3DVALUE *return_start, D3DVALUE *return_end,
1614 D3DVALUE *return_density) PURE;
1615 STDMETHOD(SetSceneBackground)(THIS_ D3DCOLOR) PURE;
1616 STDMETHOD(SetSceneBackgroundRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
1617 STDMETHOD(SetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE;
1618 STDMETHOD(SetSceneBackgroundImage)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
1619 STDMETHOD(SetSceneFogEnable)(THIS_ BOOL) PURE;
1620 STDMETHOD(SetSceneFogColor)(THIS_ D3DCOLOR) PURE;
1621 STDMETHOD(SetSceneFogMode)(THIS_ D3DRMFOGMODE) PURE;
1622 STDMETHOD(SetSceneFogParams)(THIS_ D3DVALUE start, D3DVALUE end, D3DVALUE density) PURE;
1623 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
1624 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
1625 STDMETHOD_(D3DRMZBUFFERMODE, GetZbufferMode)(THIS) PURE;
1626 STDMETHOD(SetMaterialMode)(THIS_ D3DRMMATERIALMODE) PURE;
1627 STDMETHOD(SetOrientation)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
1628 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz) PURE;
1629 STDMETHOD(SetPosition)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
1630 STDMETHOD(SetRotation)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z,
1631 D3DVALUE theta) PURE;
1632 STDMETHOD(SetSortMode)(THIS_ D3DRMSORTMODE) PURE;
1633 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
1634 STDMETHOD(SetVelocity)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z,
1635 BOOL with_rotation) PURE;
1636 STDMETHOD(SetZbufferMode)(THIS_ D3DRMZBUFFERMODE) PURE;
1637 STDMETHOD(Transform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
1638 STDMETHOD(GetBox)(THIS_ LPD3DRMBOX) PURE;
1639 STDMETHOD_(BOOL, GetBoxEnable)(THIS) PURE;
1640 STDMETHOD(GetAxes)(THIS_ LPD3DVECTOR dir, LPD3DVECTOR up);
1641 STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2 *) PURE;
1642 STDMETHOD_(BOOL, GetInheritAxes)(THIS);
1643 STDMETHOD(GetHierarchyBox)(THIS_ LPD3DRMBOX) PURE;
1644 STDMETHOD(SetBox)(THIS_ LPD3DRMBOX) PURE;
1645 STDMETHOD(SetBoxEnable)(THIS_ BOOL) PURE;
1646 STDMETHOD(SetAxes)(THIS_ D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz);
1647 STDMETHOD(SetInheritAxes)(THIS_ BOOL inherit_from_parent);
1648 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE;
1649 STDMETHOD(SetQuaternion)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DRMQUATERNION *q) PURE;
1650 STDMETHOD(RayPick)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DRMRAY ray, DWORD flags,
1651 LPDIRECT3DRMPICKED2ARRAY *return_visuals) PURE;
1652 STDMETHOD(Save)(THIS_ LPCSTR filename, D3DRMXOFFORMAT d3dFormat, D3DRMSAVEOPTIONS d3dSaveFlags);
1653 STDMETHOD(TransformVectors)(THIS_ LPDIRECT3DRMFRAME3 reference, DWORD NumVectors,
1654 LPD3DVECTOR pDstVectors, LPD3DVECTOR pSrcVectors) PURE;
1655 STDMETHOD(InverseTransformVectors)(THIS_ LPDIRECT3DRMFRAME3 reference, DWORD NumVectors,
1656 LPD3DVECTOR pDstVectors, LPD3DVECTOR pSrcVectors) PURE;
1657 STDMETHOD(SetTraversalOptions)(THIS_ DWORD flags) PURE;
1658 STDMETHOD(GetTraversalOptions)(THIS_ LPDWORD pFlags) PURE;
1659 STDMETHOD(SetSceneFogMethod)(THIS_ DWORD flags) PURE;
1660 STDMETHOD(GetSceneFogMethod)(THIS_ LPDWORD pFlags) PURE;
1661 STDMETHOD(SetMaterialOverride)(THIS_ LPD3DRMMATERIALOVERRIDE) PURE;
1662 STDMETHOD(GetMaterialOverride)(THIS_ LPD3DRMMATERIALOVERRIDE) PURE;
1666 #if !defined(__cplusplus) || defined(CINTERFACE)
1667 /*** IUnknown methods ***/
1668 #define IDirect3DRMFrame3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1669 #define IDirect3DRMFrame3_AddRef(p) (p)->lpVtbl->AddRef(p)
1670 #define IDirect3DRMFrame3_Release(p) (p)->lpVtbl->Release(p)
1671 /*** IDirect3DRMObject methods ***/
1672 #define IDirect3DRMFrame3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
1673 #define IDirect3DRMFrame3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
1674 #define IDirect3DRMFrame3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
1675 #define IDirect3DRMFrame3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
1676 #define IDirect3DRMFrame3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
1677 #define IDirect3DRMFrame3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1678 #define IDirect3DRMFrame3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
1679 #define IDirect3DRMFrame3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
1680 /*** IDirect3DRMFrame3 methods ***/
1681 #define IDirect3DRMFrame3_AddChild(p,a) (p)->lpVtbl->AddChild(p,a)
1682 #define IDirect3DRMFrame3_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
1683 #define IDirect3DRMFrame3_AddMoveCallback(p,a,b,c) (p)->lpVtbl->AddMoveCallback(p,a,b,c)
1684 #define IDirect3DRMFrame3_AddTransform(p,a,b) (p)->lpVtbl->AddTransform(p,a,b)
1685 #define IDirect3DRMFrame3_AddTranslation(p,a,b,c,d) (p)->lpVtbl->AddTranslation(p,a,b,c,d)
1686 #define IDirect3DRMFrame3_AddScale(p,a,b,c,d) (p)->lpVtbl->AddScale(p,a,b,c,d)
1687 #define IDirect3DRMFrame3_AddRotation(p,a,b,c,d,e) (p)->lpVtbl->AddRotation(p,a,b,c,d,e)
1688 #define IDirect3DRMFrame3_AddVisual(p,a) (p)->lpVtbl->AddVisual(p,a)
1689 #define IDirect3DRMFrame3_GetChildren(p,a) (p)->lpVtbl->GetChildren(p,a)
1690 #define IDirect3DRMFrame3_GetColor(p) (p)->lpVtbl->GetColor(p)
1691 #define IDirect3DRMFrame3_GetLights(p,a) (p)->lpVtbl->GetLights(p,a)
1692 #define IDirect3DRMFrame3_GetMaterialMode(p) (p)->lpVtbl->GetMaterialMode(p)
1693 #define IDirect3DRMFrame3_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
1694 #define IDirect3DRMFrame3_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
1695 #define IDirect3DRMFrame3_GetRotation(p,a,b,c) (p)->lpVtbl->GetRotation(p,a,b,c)
1696 #define IDirect3DRMFrame3_GetScene(p,a) (p)->lpVtbl->GetScene(p,a)
1697 #define IDirect3DRMFrame3_GetSortMode(p) (p)->lpVtbl->GetSortMode(p)
1698 #define IDirect3DRMFrame3_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
1699 #define IDirect3DRMFrame3_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
1700 #define IDirect3DRMFrame3_GetVelocity(p,a,b,c) (p)->lpVtbl->GetVelocity(p,a,b,c)
1701 #define IDirect3DRMFrame3_GetOrientation(p,a,b,c) (p)->lpVtbl->GetOrientation(p,a,b,c)
1702 #define IDirect3DRMFrame3_GetVisuals(p,a,b) (p)->lpVtbl->GetVisuals(p,a,b)
1703 #define IDirect3DRMFrame3_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
1704 #define IDirect3DRMFrame3_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
1705 #define IDirect3DRMFrame3_LookAt(p,a,b,c) (p)->lpVtbl->LookAt(p,a,b,c)
1706 #define IDirect3DRMFrame3_Move(p,a) (p)->lpVtbl->Move(p,a)
1707 #define IDirect3DRMFrame3_DeleteChild(p,a) (p)->lpVtbl->DeleteChild(p,a)
1708 #define IDirect3DRMFrame3_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
1709 #define IDirect3DRMFrame3_DeleteMoveCallback(p,a,b) (p)->lpVtbl->DeleteMoveCallback(p,a,b)
1710 #define IDirect3DRMFrame3_DeleteVisual(p,a) (p)->lpVtbl->DeleteVisual(p,a)
1711 #define IDirect3DRMFrame3_GetSceneBackground(p) (p)->lpVtbl->GetSceneBackground(p)
1712 #define IDirect3DRMFrame3_GetSceneBackgroundDepth(p,a) (p)->lpVtbl->GetSceneBackgroundDepth(p,a)
1713 #define IDirect3DRMFrame3_GetSceneFogColor(p) (p)->lpVtbl->GetSceneFogColor(p)
1714 #define IDirect3DRMFrame3_GetSceneFogEnable(p) (p)->lpVtbl->GetSceneFogEnable(p)
1715 #define IDirect3DRMFrame3_GetSceneFogMode(p) (p)->lpVtbl->GetSceneFogMode(p)
1716 #define IDirect3DRMFrame3_GetSceneFogParams(p,a,b,c) (p)->lpVtbl->GetSceneFogParams(p,a,b,c)
1717 #define IDirect3DRMFrame3_SetSceneBackground(p,a) (p)->lpVtbl->SetSceneBackground(p,a)
1718 #define IDirect3DRMFrame3_SetSceneBackgroundRGB(p,a,b,c) (p)->lpVtbl->SetSceneBackgroundRGB(p,a,b,c)
1719 #define IDirect3DRMFrame3_SetSceneBackgroundDepth(p,a) (p)->lpVtbl->SetSceneBackgroundDepth(p,a)
1720 #define IDirect3DRMFrame3_SetSceneBackgroundImage(p,a) (p)->lpVtbl->SetSceneBackgroundImage(p,a)
1721 #define IDirect3DRMFrame3_SetSceneFogEnable(p,a) (p)->lpVtbl->SetSceneFogEnable(p,a)
1722 #define IDirect3DRMFrame3_SetSceneFogColor(p,a) (p)->lpVtbl->SetSceneFogColor(p,a)
1723 #define IDirect3DRMFrame3_SetSceneFogMode(p,a) (p)->lpVtbl->SetSceneFogMode(p,a)
1724 #define IDirect3DRMFrame3_SetSceneFogParams(p,a,b,c) (p)->lpVtbl->SetSceneFogParams(p,a,b,c)
1725 #define IDirect3DRMFrame3_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
1726 #define IDirect3DRMFrame3_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
1727 #define IDirect3DRMFrame3_GetZbufferMode(p) (p)->lpVtbl->GetZbufferMode(p)
1728 #define IDirect3DRMFrame3_SetMaterialMode(p,a) (p)->lpVtbl->SetMaterialMode(p,a)
1729 #define IDirect3DRMFrame3_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
1730 #define IDirect3DRMFrame3_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
1731 #define IDirect3DRMFrame3_SetRotation(p,a,b,c,d,e) (p)->lpVtbl->SetRotation(p,a,b,c,d,e)
1732 #define IDirect3DRMFrame3_SetSortMode(p,a) (p)->lpVtbl->SetSortMode(p,a)
1733 #define IDirect3DRMFrame3_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
1734 #define IDirect3DRMFrame3_SetVelocity(p,a,b,c,d,e) (p)->lpVtbl->SetVelocity(p,a,b,c,d,e)
1735 #define IDirect3DRMFrame3_SetZbufferMode(p,a) (p)->lpVtbl->SetZbufferMode(p,a)
1736 #define IDirect3DRMFrame3_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
1737 #define IDirect3DRMFrame3_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
1738 #define IDirect3DRMFrame3_GetBoxEnable(p) (p)->lpVtbl->GetBoxEnable(p)
1739 #define IDirect3DRMFrame3_GetAxes(p,a,b) (p)->lpVtbl->GetAxes(p,a,b)
1740 #define IDirect3DRMFrame3_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
1741 #define IDirect3DRMFrame3_GetInheritAxes(p) (p)->lpVtbl->GetInheritAxes(p)
1742 #define IDirect3DRMFrame3_GetHierarchyBox(p,a) (p)->lpVtbl->GetHierarchyBox(p,a)
1743 #define IDirect3DRMFrame3_SetBox(p,a) (p)->lpVtbl->SetBox(p,a)
1744 #define IDirect3DRMFrame3_SetBoxEnable(p,a) (p)->lpVtbl->SetBoxEnable(p,a)
1745 #define IDirect3DRMFrame3_SetAxes(p,a,b,c,d,e,f) (p)->lpVtbl->SetAxes(p,a,b,c,d,e,f)
1746 #define IDirect3DRMFrame3_SetInheritAxes(p,a) (p)->lpVtbl->SetInheritAxes(p,a)
1747 #define IDirect3DRMFrame3_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
1748 #define IDirect3DRMFrame3_SetQuaternion(p,a,b) (p)->lpVtbl->SetQuaternion(p,a,b)
1749 #define IDirect3DRMFrame3_RayPick(p,a,b,c,d) (p)->lpVtbl->RayPick(p,a,b,c,d)
1750 #define IDirect3DRMFrame3_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
1751 #define IDirect3DRMFrame3_TransformVectors(p,a,b,c,d) (p)->lpVtbl->TransformVectors(p,a,b,c,d)
1752 #define IDirect3DRMFrame3_InverseTransformVectors(p,a,b,c,d) (p)->lpVtbl->InverseTransformVectors(p,a,b,c,d)
1753 #define IDirect3DRMFrame3_SetTraversalOptions(p,a) (p)->lpVtbl->SetTraversalOptions(p,a)
1754 #define IDirect3DRMFrame3_GetTraversalOptions(p,a) (p)->lpVtbl->GetTraversalOptions(p,a)
1755 #define IDirect3DRMFrame3_SetSceneFogMethod(p,a) (p)->lpVtbl->SetSceneFogMethod(p,a)
1756 #define IDirect3DRMFrame3_GetSceneFogMethod(p,a) (p)->lpVtbl->GetSceneFogMethod(p,a)
1757 #define IDirect3DRMFrame3_SetMaterialOverride(p,a) (p)->lpVtbl->SetMaterialOverride(p,a)
1758 #define IDirect3DRMFrame3_GetMaterialOverride(p,a) (p)->lpVtbl->GetMaterialOverride(p,a)
1760 /*** IUnknown methods ***/
1761 #define IDirect3DRMFrame3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1762 #define IDirect3DRMFrame3_AddRef(p) (p)->AddRef()
1763 #define IDirect3DRMFrame3_Release(p) (p)->Release()
1764 /*** IDirect3DRMObject methods ***/
1765 #define IDirect3DRMFrame3_Clone(p,a,b,c) (p)->Clone(a,b,c)
1766 #define IDirect3DRMFrame3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
1767 #define IDirect3DRMFrame3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
1768 #define IDirect3DRMFrame3_SetAppData(p,a) (p)->SetAppData(a)
1769 #define IDirect3DRMFrame3_GetAppData(p) (p)->GetAppData()
1770 #define IDirect3DRMFrame3_SetName(p,a) (p)->SetName(a)
1771 #define IDirect3DRMFrame3_GetName(p,a,b) (p)->GetName(a,b)
1772 #define IDirect3DRMFrame3_GetClassName(p,a,b) (p)->GetClassName(a,b)
1773 /*** IDirect3DRMFrame3 methods ***/
1774 #define IDirect3DRMFrame3_AddChild(p,a) (p)->AddChild(a)
1775 #define IDirect3DRMFrame3_AddLight(p,a) (p)->AddLight(a)
1776 #define IDirect3DRMFrame3_AddMoveCallback(p,a,b,c) (p)->AddMoveCallback(a,b,c)
1777 #define IDirect3DRMFrame3_AddTransform(p,a,b) (p)->AddTransform(a,b)
1778 #define IDirect3DRMFrame3_AddTranslation(p,a,b,c,d) (p)->AddTranslation(a,b,c,d)
1779 #define IDirect3DRMFrame3_AddScale(p,a,b,c,d) (p)->AddScale(a,b,c,d)
1780 #define IDirect3DRMFrame3_AddRotation(p,a,b,c,d,e) (p)->AddRotation(a,b,c,d,e)
1781 #define IDirect3DRMFrame3_AddVisual(p,a) (p)->AddVisual(a)
1782 #define IDirect3DRMFrame3_GetChildren(p,a) (p)->GetChildren(a)
1783 #define IDirect3DRMFrame3_GetColor(p) (p)->GetColor()
1784 #define IDirect3DRMFrame3_GetLights(p,a) (p)->GetLights(a)
1785 #define IDirect3DRMFrame3_GetMaterialMode(p) (p)->GetMaterialMode()
1786 #define IDirect3DRMFrame3_GetParent(p,a) (p)->GetParent(a)
1787 #define IDirect3DRMFrame3_GetPosition(p,a,b) (p)->GetPosition(a,b)
1788 #define IDirect3DRMFrame3_GetRotation(p,a,b,c) (p)->GetRotation(a,b,c)
1789 #define IDirect3DRMFrame3_GetScene(p,a) (p)->GetScene(a)
1790 #define IDirect3DRMFrame3_GetSortMode(p) (p)->GetSortMode()
1791 #define IDirect3DRMFrame3_GetTexture(p,a) (p)->GetTexture(a)
1792 #define IDirect3DRMFrame3_GetTransform(p,a,b) (p)->GetTransform(a,b)
1793 #define IDirect3DRMFrame3_GetVelocity(p,a,b,c) (p)->GetVelocity(a,b,c)
1794 #define IDirect3DRMFrame3_GetOrientation(p,a,b,c) (p)->GetOrientation(a,b,c)
1795 #define IDirect3DRMFrame3_GetVisuals(p,a,b) (p)->GetVisuals(a,b)
1796 #define IDirect3DRMFrame3_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
1797 #define IDirect3DRMFrame3_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
1798 #define IDirect3DRMFrame3_LookAt(p,a,b,c) (p)->LookAt(a,b,c)
1799 #define IDirect3DRMFrame3_Move(p,a) (p)->Move(a)
1800 #define IDirect3DRMFrame3_DeleteChild(p,a) (p)->DeleteChild(a)
1801 #define IDirect3DRMFrame3_DeleteLight(p,a) (p)->DeleteLight(a)
1802 #define IDirect3DRMFrame3_DeleteMoveCallback(p,a,b) (p)->DeleteMoveCallback(a,b)
1803 #define IDirect3DRMFrame3_DeleteVisual(p,a) (p)->DeleteVisual(a)
1804 #define IDirect3DRMFrame3_GetSceneBackground(p) (p)->GetSceneBackground()
1805 #define IDirect3DRMFrame3_GetSceneBackgroundDepth(p,a) (p)->GetSceneBackgroundDepth(a)
1806 #define IDirect3DRMFrame3_GetSceneFogColor(p) (p)->GetSceneFogColor()
1807 #define IDirect3DRMFrame3_GetSceneFogEnable(p) (p)->GetSceneFogEnable()
1808 #define IDirect3DRMFrame3_GetSceneFogMode(p) (p)->GetSceneFogMode()
1809 #define IDirect3DRMFrame3_GetSceneFogParams(p,a,b,c) (p)->GetSceneFogParams(a,b,c)
1810 #define IDirect3DRMFrame3_SetSceneBackground(p,a) (p)->SetSceneBackground(a)
1811 #define IDirect3DRMFrame3_SetSceneBackgroundRGB(p,a,b,c) (p)->SetSceneBackgroundRGB(a,b,c)
1812 #define IDirect3DRMFrame3_SetSceneBackgroundDepth(p,a) (p)->SetSceneBackgroundDepth(a)
1813 #define IDirect3DRMFrame3_SetSceneBackgroundImage(p,a) (p)->SetSceneBackgroundImage(a)
1814 #define IDirect3DRMFrame3_SetSceneFogEnable(p,a) (p)->SetSceneFogEnable(a)
1815 #define IDirect3DRMFrame3_SetSceneFogColor(p,a) (p)->SetSceneFogColor(a)
1816 #define IDirect3DRMFrame3_SetSceneFogMode(p,a) (p)->SetSceneFogMode(a)
1817 #define IDirect3DRMFrame3_SetSceneFogParams(p,a,b,c) (p)->SetSceneFogParams(a,b,c)
1818 #define IDirect3DRMFrame3_SetColor(p,a) (p)->SetColor(a)
1819 #define IDirect3DRMFrame3_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
1820 #define IDirect3DRMFrame3_GetZbufferMode(p) (p)->GetZbufferMode()
1821 #define IDirect3DRMFrame3_SetMaterialMode(p,a) (p)->SetMaterialMode(a)
1822 #define IDirect3DRMFrame3_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
1823 #define IDirect3DRMFrame3_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
1824 #define IDirect3DRMFrame3_SetRotation(p,a,b,c,d,e) (p)->SetRotation(a,b,c,d,e)
1825 #define IDirect3DRMFrame3_SetSortMode(p,a) (p)->SetSortMode(a)
1826 #define IDirect3DRMFrame3_SetTexture(p,a) (p)->SetTexture(a)
1827 #define IDirect3DRMFrame3_SetVelocity(p,a,b,c,d,e) (p)->SetVelocity(a,b,c,d,e)
1828 #define IDirect3DRMFrame3_SetZbufferMode(p,a) (p)->SetZbufferMode(a)
1829 #define IDirect3DRMFrame3_Transform(p,a,b) (p)->Transform(a,b)
1830 #define IDirect3DRMFrame3_GetBox(p,a) (p)->GetBox(a)
1831 #define IDirect3DRMFrame3_GetBoxEnable(p) (p)->GetBoxEnable()
1832 #define IDirect3DRMFrame3_GetAxes(p,a,b) (p)->GetAxes(a,b)
1833 #define IDirect3DRMFrame3_GetMaterial(p,a) (p)->GetMaterial(a)
1834 #define IDirect3DRMFrame3_GetInheritAxes(p) (p)->GetInheritAxes()
1835 #define IDirect3DRMFrame3_GetHierarchyBox(p,a) (p)->GetHierarchyBox(a)
1836 #define IDirect3DRMFrame3_SetBox(p,a) (p)->SetBox(a)
1837 #define IDirect3DRMFrame3_SetBoxEnable(p,a) (p)->SetBoxEnable(a)
1838 #define IDirect3DRMFrame3_SetAxes(p,a,b,c,d,e,f) (p)->SetAxes(a,b,c,d,e,f)
1839 #define IDirect3DRMFrame3_SetInheritAxes(p,a) (p)->SetInheritAxes(a)
1840 #define IDirect3DRMFrame3_SetMaterial(p,a) (p)->SetMaterial(a)
1841 #define IDirect3DRMFrame3_SetQuaternion(p,a,b) (p)->SetQuaternion(a,b)
1842 #define IDirect3DRMFrame3_RayPick(p,a,b,c,d) (p)->RayPick(a,b,c,d)
1843 #define IDirect3DRMFrame3_Save(p,a,b,c) (p)->Save(a,b,c)
1844 #define IDirect3DRMFrame3_TransformVectors(p,a,b,c,d) (p)->TransformVectors(a,b,c,d)
1845 #define IDirect3DRMFrame3_InverseTransformVectors(p,a,b,c,d) (p)->InverseTransformVectors(a,b,c,d)
1846 #define IDirect3DRMFrame3_SetTraversalOptions(p,a) (p)->SetTraversalOptions(a)
1847 #define IDirect3DRMFrame3_GetTraversalOptions(p,a) (p)->GetTraversalOptions(a)
1848 #define IDirect3DRMFrame3_SetSceneFogMethod(p,a) (p)->SetSceneFogMethod(a)
1849 #define IDirect3DRMFrame3_GetSceneFogMethod(p,a) (p)->GetSceneFogMethod(a)
1850 #define IDirect3DRMFrame3_SetMaterialOverride(p,a) (p)->SetMaterialOverride(a)
1851 #define IDirect3DRMFrame3_GetMaterialOverride(p,a) (p)->GetMaterialOverride(a)
1854 /*****************************************************************************
1855 * IDirect3DRMMesh interface
1857 #define INTERFACE IDirect3DRMMesh
1858 DECLARE_INTERFACE_(IDirect3DRMMesh,IDirect3DRMVisual)
1860 /*** IUnknown methods ***/
1861 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1862 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1863 STDMETHOD_(ULONG,Release)(THIS) PURE;
1864 /*** IDirect3DRMObject methods ***/
1865 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
1866 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1867 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1868 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
1869 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
1870 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
1871 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1872 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1873 /*** IDirect3DRMMesh methods ***/
1874 STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
1875 STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
1876 STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
1877 STDMETHOD(AddGroup)(THIS_ unsigned vCount, unsigned fCount, unsigned vPerFace, unsigned *fData,
1878 D3DRMGROUPINDEX *returnId) PURE;
1879 STDMETHOD(SetVertices)(THIS_ D3DRMGROUPINDEX id, unsigned index, unsigned count,
1880 D3DRMVERTEX *values) PURE;
1881 STDMETHOD(SetGroupColor)(THIS_ D3DRMGROUPINDEX id, D3DCOLOR value) PURE;
1882 STDMETHOD(SetGroupColorRGB)(THIS_ D3DRMGROUPINDEX id, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
1883 STDMETHOD(SetGroupMapping)(THIS_ D3DRMGROUPINDEX id, D3DRMMAPPING value) PURE;
1884 STDMETHOD(SetGroupQuality)(THIS_ D3DRMGROUPINDEX id, D3DRMRENDERQUALITY value) PURE;
1885 STDMETHOD(SetGroupMaterial)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMMATERIAL value) PURE;
1886 STDMETHOD(SetGroupTexture)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMTEXTURE value) PURE;
1887 STDMETHOD_(unsigned, GetGroupCount)(THIS) PURE;
1888 STDMETHOD(GetGroup)(THIS_ D3DRMGROUPINDEX id, unsigned *vCount, unsigned *fCount, unsigned *vPerFace,
1889 DWORD *fDataSize, unsigned *fData) PURE;
1890 STDMETHOD(GetVertices)(THIS_ D3DRMGROUPINDEX id, DWORD index, DWORD count, D3DRMVERTEX *returnPtr) PURE;
1891 STDMETHOD_(D3DCOLOR, GetGroupColor)(THIS_ D3DRMGROUPINDEX id) PURE;
1892 STDMETHOD_(D3DRMMAPPING, GetGroupMapping)(THIS_ D3DRMGROUPINDEX id) PURE;
1893 STDMETHOD_(D3DRMRENDERQUALITY, GetGroupQuality)(THIS_ D3DRMGROUPINDEX id) PURE;
1894 STDMETHOD(GetGroupMaterial)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMMATERIAL *returnPtr) PURE;
1895 STDMETHOD(GetGroupTexture)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMTEXTURE *returnPtr) PURE;
1899 #if !defined(__cplusplus) || defined(CINTERFACE)
1900 /*** IUnknown methods ***/
1901 #define IDirect3DRMMesh_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1902 #define IDirect3DRMMesh_AddRef(p) (p)->lpVtbl->AddRef(p)
1903 #define IDirect3DRMMesh_Release(p) (p)->lpVtbl->Release(p)
1904 /*** IDirect3DRMObject methods ***/
1905 #define IDirect3DRMMesh_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
1906 #define IDirect3DRMMesh_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
1907 #define IDirect3DRMMesh_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
1908 #define IDirect3DRMMesh_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
1909 #define IDirect3DRMMesh_GetAppData(p) (p)->lpVtbl->GetAppData(p)
1910 #define IDirect3DRMMesh_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1911 #define IDirect3DRMMesh_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
1912 #define IDirect3DRMMesh_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
1913 /*** IDirect3DRMMesh methods ***/
1914 #define IDirect3DRMMesh_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
1915 #define IDirect3DRMMesh_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a,b,c)
1916 #define IDirect3DRMMesh_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
1917 #define IDirect3DRMMesh_AddGroup(p,a,b,c,d,e) (p)->lpVtbl->AddGroup(p,a,b,c,d,e)
1918 #define IDirect3DRMMesh_SetVertices(p,a,b,c,d) (p)->lpVtbl->SetVertices(p,a,b,c,d)
1919 #define IDirect3DRMMesh_SetGroupColor(p,a,b) (p)->lpVtbl->SetGroupColor(p,a,b)
1920 #define IDirect3DRMMesh_SetGroupColorRGB(p,a,b,c,d) (p)->lpVtbl->SetGroupColorRGB(p,a,b,c,d)
1921 #define IDirect3DRMMesh_SetGroupMapping(p,a,b) (p)->lpVtbl->SetGroupMapping(p,a,b)
1922 #define IDirect3DRMMesh_SetGroupQuality(p,a,b) (p)->lpVtbl->SetGroupQuality(p,a,b)
1923 #define IDirect3DRMMesh_SetGroupMaterial(p,a,b) (p)->lpVtbl->SetGroupMaterial(p,a,b)
1924 #define IDirect3DRMMesh_SetGroupTexture(p,a,b) (p)->lpVtbl->SetGroupTexture(p,a,b)
1925 #define IDirect3DRMMesh_GetGroupCount(p) (p)->lpVtbl->GetGroupCount(p)
1926 #define IDirect3DRMMesh_GetGroup(p,a,b,c,d,e,f) (p)->lpVtbl->GetGroup(p,a,b,c,d,e,f)
1927 #define IDirect3DRMMesh_GetVertices(p,a,b,c,d) (p)->lpVtbl->GetVertices(p,a,b,c,d)
1928 #define IDirect3DRMMesh_GetGroupColor(p,a) (p)->lpVtbl->GetGroupColor(p,a)
1929 #define IDirect3DRMMesh_GetGroupMapping(p,a) (p)->lpVtbl->GetGroupMapping(p,a)
1930 #define IDirect3DRMMesh_GetGroupQuality(p,a) (p)->lpVtbl->GetGroupQuality(p,a)
1931 #define IDirect3DRMMesh_GetGroupMaterial(p,a,b) (p)->lpVtbl->GetGroupMaterial(p,a,b)
1932 #define IDirect3DRMMesh_GetGroupTexture(p,a,b) (p)->lpVtbl->GetGroupTexture(p,a,b)
1934 /*** IUnknown methods ***/
1935 #define IDirect3DRMMesh_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1936 #define IDirect3DRMMesh_AddRef(p) (p)->AddRef()
1937 #define IDirect3DRMMesh_Release(p) (p)->Release()
1938 /*** IDirect3DRMObject methods ***/
1939 #define IDirect3DRMMesh_Clone(p,a,b,c) (p)->Clone(a,b,c)
1940 #define IDirect3DRMMesh_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
1941 #define IDirect3DRMMesh_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
1942 #define IDirect3DRMMesh_SetAppData(p,a) (p)->SetAppData(a)
1943 #define IDirect3DRMMesh_GetAppData(p) (p)->GetAppData()
1944 #define IDirect3DRMMesh_SetName(p,a) (p)->SetName(a)
1945 #define IDirect3DRMMesh_GetName(p,a,b) (p)->GetName(a,b)
1946 #define IDirect3DRMMesh_GetClassName(p,a,b) (p)->GetClassName(a,b)
1947 /*** IDirect3DRMMesh methods ***/
1948 #define IDirect3DRMMesh_Scale(p,a,b,c) (p)->Scale(a,b,c)
1949 #define IDirect3DRMMesh_Translate(p,a,b,c) (p)->Translate(a,b,c)
1950 #define IDirect3DRMMesh_GetBox(p,a) (p)->GetBox(a)
1951 #define IDirect3DRMMesh_AddGroup(p,a,b,c,d,e) (p)->AddGroup(a,b,c,d,e)
1952 #define IDirect3DRMMesh_SetVertices(p,a,b,c,d) (p)->SetVertices(a,b,c,d)
1953 #define IDirect3DRMMesh_SetGroupColor(p,a,b) (p)->SetGroupColor(a,b)
1954 #define IDirect3DRMMesh_SetGroupColorRGB(p,a,b,c,d) (p)->SetGroupColorRGB(a,b,c,d)
1955 #define IDirect3DRMMesh_SetGroupMapping(p,a,b) (p)->SetGroupMapping(a,b)
1956 #define IDirect3DRMMesh_SetGroupQuality(p,a,b) (p)->SetGroupQuality(a,b)
1957 #define IDirect3DRMMesh_SetGroupMaterial(p,a,b) (p)->SetGroupMaterial(a,b)
1958 #define IDirect3DRMMesh_SetGroupTexture(p,a,b) (p)->SetGroupTexture(a,b)
1959 #define IDirect3DRMMesh_GetGroupCount(p) (p)->GetGroupCount()
1960 #define IDirect3DRMMesh_GetGroup(p,a,b,c,d,e,f) (p)->GetGroup(a,b,c,d,e,f)
1961 #define IDirect3DRMMesh_GetVertices(p,a,b,c,d) (p)->GetVertices(a,b,c,d)
1962 #define IDirect3DRMMesh_GetGroupColor(p,a) (p)->GetGroupColor(a)
1963 #define IDirect3DRMMesh_GetGroupMapping(p,a) (p)->GetGroupMapping(a)
1964 #define IDirect3DRMMesh_GetGroupQuality(p,a) (p)->GetGroupQuality(a)
1965 #define IDirect3DRMMesh_GetGroupMaterial(p,a,b) (p)->lpVtbl->GetGroupMaterial(a,b)
1966 #define IDirect3DRMMesh_GetGroupTexture(p,a,b) (p)->lpVtbl->GetGroupTexture(a,b)
1969 /*****************************************************************************
1970 * IDirect3DRMProgressiveMesh interface
1972 #define INTERFACE IDirect3DRMProgressiveMesh
1973 DECLARE_INTERFACE_(IDirect3DRMProgressiveMesh,IDirect3DRMVisual)
1975 /*** IUnknown methods ***/
1976 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1977 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1978 STDMETHOD_(ULONG,Release)(THIS) PURE;
1979 /*** IDirect3DRMObject methods ***/
1980 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
1981 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1982 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1983 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
1984 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
1985 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
1986 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1987 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1988 /*** IDirect3DRMProgressiveMesh methods ***/
1989 STDMETHOD(Load) (THIS_ LPVOID pObjLocation, LPVOID pObjId, D3DRMLOADOPTIONS dloLoadflags,
1990 D3DRMLOADTEXTURECALLBACK pCallback, LPVOID lpArg) PURE;
1991 STDMETHOD(GetLoadStatus) (THIS_ LPD3DRMPMESHLOADSTATUS pStatus) PURE;
1992 STDMETHOD(SetMinRenderDetail) (THIS_ D3DVALUE d3dVal) PURE;
1993 STDMETHOD(Abort) (THIS_ DWORD flags) PURE;
1994 STDMETHOD(GetFaceDetail) (THIS_ LPDWORD pCount) PURE;
1995 STDMETHOD(GetVertexDetail) (THIS_ LPDWORD pCount) PURE;
1996 STDMETHOD(SetFaceDetail) (THIS_ DWORD count) PURE;
1997 STDMETHOD(SetVertexDetail) (THIS_ DWORD count) PURE;
1998 STDMETHOD(GetFaceDetailRange) (THIS_ LPDWORD pMin, LPDWORD pMax) PURE;
1999 STDMETHOD(GetVertexDetailRange) (THIS_ LPDWORD pMin, LPDWORD pMax) PURE;
2000 STDMETHOD(GetDetail) (THIS_ D3DVALUE *pdvVal) PURE;
2001 STDMETHOD(SetDetail) (THIS_ D3DVALUE d3dVal) PURE;
2002 STDMETHOD(RegisterEvents) (THIS_ HANDLE event, DWORD flags, DWORD reserved) PURE;
2003 STDMETHOD(CreateMesh) (THIS_ LPDIRECT3DRMMESH *ppD3DRMMesh) PURE;
2004 STDMETHOD(Duplicate) (THIS_ LPDIRECT3DRMPROGRESSIVEMESH *ppD3DRMPMesh) PURE;
2005 STDMETHOD(GetBox) (THIS_ LPD3DRMBOX pBBox) PURE;
2006 STDMETHOD(SetQuality) (THIS_ D3DRMRENDERQUALITY) PURE;
2007 STDMETHOD(GetQuality) (THIS_ LPD3DRMRENDERQUALITY pQuality) PURE;
2011 #if !defined(__cplusplus) || defined(CINTERFACE)
2012 /*** IUnknown methods ***/
2013 #define IDirect3DRMProgressiveMesh_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2014 #define IDirect3DRMProgressiveMesh_AddRef(p) (p)->lpVtbl->AddRef(p)
2015 #define IDirect3DRMProgressiveMesh_Release(p) (p)->lpVtbl->Release(p)
2016 /*** IDirect3DRMObject methods ***/
2017 #define IDirect3DRMProgressiveMesh_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2018 #define IDirect3DRMProgressiveMesh_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2019 #define IDirect3DRMProgressiveMesh_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2020 #define IDirect3DRMProgressiveMesh_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2021 #define IDirect3DRMProgressiveMesh_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2022 #define IDirect3DRMProgressiveMesh_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2023 #define IDirect3DRMProgressiveMesh_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2024 #define IDirect3DRMProgressiveMesh_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2025 /*** IDirect3DRMProgressiveMesh methods ***/
2026 #define IDirect3DRMProgressiveMesh_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
2027 #define IDirect3DRMProgressiveMesh_GetLoadStatus(p,a) (p)->lpVtbl->GetLoadStatus(p,a)
2028 #define IDirect3DRMProgressiveMesh_SetMinRenderDetail(p,a) (p)->lpVtbl->SetMinRenderDetail(p,a)
2029 #define IDirect3DRMProgressiveMesh_Abort(p,a) (p)->lpVtbl->Abort(p,a)
2030 #define IDirect3DRMProgressiveMesh_GetFaceDetail(p,a) (p)->lpVtbl->GetFaceDetail(p,a)
2031 #define IDirect3DRMProgressiveMesh_GetVertexDetail(p,a) (p)->lpVtbl->GetVertexDetail(p,a)
2032 #define IDirect3DRMProgressiveMesh_SetFaceDetail(p,a) (p)->lpVtbl->SetFaceDetail(p,a)
2033 #define IDirect3DRMProgressiveMesh_SetVertexDetail(p,a) (p)->lpVtbl->SetVertexDetail(p,a)
2034 #define IDirect3DRMProgressiveMesh_GetFaceDetailRange(p,a,b) (p)->lpVtbl->GetFaceDetailRange(p,a,b)
2035 #define IDirect3DRMProgressiveMesh_GetVertexDetailRange(p,a,b) (p)->lpVtbl->GetVertexDetailRange(p,a,b)
2036 #define IDirect3DRMProgressiveMesh_GetDetail(p,a) (p)->lpVtbl->GetDetail(p,a)
2037 #define IDirect3DRMProgressiveMesh_SetDetail(p,a) (p)->lpVtbl->SetDetail(p,a)
2038 #define IDirect3DRMProgressiveMesh_RegisterEvents(p,a,b,c) (p)->lpVtbl->RegisterEvents(p,a,b,c)
2039 #define IDirect3DRMProgressiveMesh_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
2040 #define IDirect3DRMProgressiveMesh_Duplicate(p,a) (p)->lpVtbl->Duplicate(p,a)
2041 #define IDirect3DRMProgressiveMesh_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
2042 #define IDirect3DRMProgressiveMesh_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
2043 #define IDirect3DRMProgressiveMesh_GetQuality(p,a) (p)->lpVtbl->GetQuality(p,a)
2045 /*** IUnknown methods ***/
2046 #define IDirect3DRMProgressiveMesh_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2047 #define IDirect3DRMProgressiveMesh_AddRef(p) (p)->AddRef()
2048 #define IDirect3DRMProgressiveMesh_Release(p) (p)->Release()
2049 /*** IDirect3DRMObject methods ***/
2050 #define IDirect3DRMProgressiveMesh_Clone(p,a,b,c) (p)->Clone(a,b,c)
2051 #define IDirect3DRMProgressiveMesh_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2052 #define IDirect3DRMProgressiveMesh_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2053 #define IDirect3DRMProgressiveMesh_SetAppData(p,a) (p)->SetAppData(a)
2054 #define IDirect3DRMProgressiveMesh_GetAppData(p) (p)->GetAppData()
2055 #define IDirect3DRMProgressiveMesh_SetName(p,a) (p)->SetName(a)
2056 #define IDirect3DRMProgressiveMesh_GetName(p,a,b) (p)->GetName(a,b)
2057 #define IDirect3DRMProgressiveMesh_GetClassName(p,a,b) (p)->GetClassName(a,b)
2058 /*** IDirect3DRMProgressiveMesh methods ***/
2059 #define IDirect3DRMProgressiveMesh_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
2060 #define IDirect3DRMProgressiveMesh_GetLoadStatus(p,a) (p)->GetLoadStatus(a)
2061 #define IDirect3DRMProgressiveMesh_SetMinRenderDetail(p,a) (p)->SetMinRenderDetail(a)
2062 #define IDirect3DRMProgressiveMesh_Abort(p,a) (p)->Abort(a)
2063 #define IDirect3DRMProgressiveMesh_GetFaceDetail(p,a) (p)->GetFaceDetail(a)
2064 #define IDirect3DRMProgressiveMesh_GetVertexDetail(p,a) (p)->GetVertexDetail(a)
2065 #define IDirect3DRMProgressiveMesh_SetFaceDetail(p,a) (p)->SetFaceDetail(a)
2066 #define IDirect3DRMProgressiveMesh_SetVertexDetail(p,a) (p)->SetVertexDetail(a)
2067 #define IDirect3DRMProgressiveMesh_GetFaceDetailRange(p,a,b) (p)->GetFaceDetailRange(a,b)
2068 #define IDirect3DRMProgressiveMesh_GetVertexDetailRange(p,a,b) (p)->GetVertexDetailRange(a,b)
2069 #define IDirect3DRMProgressiveMesh_GetDetail(p,a) (p)->GetDetail(a)
2070 #define IDirect3DRMProgressiveMesh_SetDetail(p,a) (p)->SetDetail(a)
2071 #define IDirect3DRMProgressiveMesh_RegisterEvents(p,a,b,c) (p)->RegisterEvents(a,b,c)
2072 #define IDirect3DRMProgressiveMesh_CreateMesh(p,a) (p)->CreateMesh(a)
2073 #define IDirect3DRMProgressiveMesh_Duplicate(p,a) (p)->Duplicate(a)
2074 #define IDirect3DRMProgressiveMesh_GetBox(p,a) (p)->GetBox(a)
2075 #define IDirect3DRMProgressiveMesh_SetQuality(p,a) (p)->SetQuality(a)
2076 #define IDirect3DRMProgressiveMesh_GetQuality(p,a) (p)->GetQuality(a)
2079 /*****************************************************************************
2080 * IDirect3DRMShadow interface
2082 #define INTERFACE IDirect3DRMShadow
2083 DECLARE_INTERFACE_(IDirect3DRMShadow,IDirect3DRMVisual)
2085 /*** IUnknown methods ***/
2086 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2087 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2088 STDMETHOD_(ULONG,Release)(THIS) PURE;
2089 /*** IDirect3DRMObject methods ***/
2090 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2091 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2092 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2093 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2094 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2095 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2096 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2097 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2098 /*** IDirect3DRMShadow methods ***/
2099 STDMETHOD(Init)(THIS_ LPDIRECT3DRMVISUAL visual, LPDIRECT3DRMLIGHT light,
2100 D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz) PURE;
2104 #if !defined(__cplusplus) || defined(CINTERFACE)
2105 /*** IUnknown methods ***/
2106 #define IDirect3DRMShadow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2107 #define IDirect3DRMShadow_AddRef(p) (p)->lpVtbl->AddRef(p)
2108 #define IDirect3DRMShadow_Release(p) (p)->lpVtbl->Release(p)
2109 /*** IDirect3DRMObject methods ***/
2110 #define IDirect3DRMShadow_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2111 #define IDirect3DRMShadow_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2112 #define IDirect3DRMShadow_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2113 #define IDirect3DRMShadow_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2114 #define IDirect3DRMShadow_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2115 #define IDirect3DRMShadow_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2116 #define IDirect3DRMShadow_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2117 #define IDirect3DRMShadow_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2118 /*** IDirect3DRMShadow methods ***/
2119 #define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g) (p)->lpVtbl->Load(p,a,b,c,d,e,f,g)
2121 /*** IUnknown methods ***/
2122 #define IDirect3DRMShadow_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2123 #define IDirect3DRMShadow_AddRef(p) (p)->AddRef()
2124 #define IDirect3DRMShadow_Release(p) (p)->Release()
2125 /*** IDirect3DRMObject methods ***/
2126 #define IDirect3DRMShadow_Clone(p,a,b,c) (p)->Clone(a,b,c)
2127 #define IDirect3DRMShadow_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2128 #define IDirect3DRMShadow_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2129 #define IDirect3DRMShadow_SetAppData(p,a) (p)->SetAppData(a)
2130 #define IDirect3DRMShadow_GetAppData(p) (p)->GetAppData()
2131 #define IDirect3DRMShadow_SetName(p,a) (p)->SetName(a)
2132 #define IDirect3DRMShadow_GetName(p,a,b) (p)->GetName(a,b)
2133 #define IDirect3DRMShadow_GetClassName(p,a,b) (p)->GetClassName(a,b)
2134 /*** IDirect3DRMShadow methods ***/
2135 #define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g) (p)->Load(a,b,c,d,e,f,g)
2138 /*****************************************************************************
2139 * IDirect3DRMShadow2 interface
2141 #define INTERFACE IDirect3DRMShadow2
2142 DECLARE_INTERFACE_(IDirect3DRMShadow2,IDirect3DRMVisual)
2144 /*** IUnknown methods ***/
2145 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2146 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2147 STDMETHOD_(ULONG,Release)(THIS) PURE;
2148 /*** IDirect3DRMObject methods ***/
2149 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2150 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2151 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2152 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2153 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2154 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2155 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2156 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2157 /*** IDirect3DRMShadow methods ***/
2158 STDMETHOD(Init)(THIS_ LPUNKNOWN pUNK, LPDIRECT3DRMLIGHT light,
2159 D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz) PURE;
2160 /*** IDirect3DRMShadow2 methods ***/
2161 STDMETHOD(GetVisual)(THIS_ LPDIRECT3DRMVISUAL *) PURE;
2162 STDMETHOD(SetVisual)(THIS_ LPUNKNOWN pUNK, DWORD) PURE;
2163 STDMETHOD(GetLight)(THIS_ LPDIRECT3DRMLIGHT *) PURE;
2164 STDMETHOD(SetLight)(THIS_ LPDIRECT3DRMLIGHT, DWORD) PURE;
2165 STDMETHOD(GetPlane)(THIS_ LPD3DVALUE px, LPD3DVALUE py, LPD3DVALUE pz,
2166 LPD3DVALUE nx, LPD3DVALUE ny, LPD3DVALUE nz) PURE;
2167 STDMETHOD(SetPlane)(THIS_ D3DVALUE px, D3DVALUE py, D3DVALUE pz,
2168 D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, DWORD) PURE;
2169 STDMETHOD(GetOptions)(THIS_ LPDWORD) PURE;
2170 STDMETHOD(SetOptions)(THIS_ DWORD) PURE;
2174 #if !defined(__cplusplus) || defined(CINTERFACE)
2175 /*** IUnknown methods ***/
2176 #define IDirect3DRMShadow2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2177 #define IDirect3DRMShadow2_AddRef(p) (p)->lpVtbl->AddRef(p)
2178 #define IDirect3DRMShadow2_Release(p) (p)->lpVtbl->Release(p)
2179 /*** IDirect3DRMObject methods ***/
2180 #define IDirect3DRMShadow2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2181 #define IDirect3DRMShadow2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2182 #define IDirect3DRMShadow2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2183 #define IDirect3DRMShadow2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2184 #define IDirect3DRMShadow2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2185 #define IDirect3DRMShadow2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2186 #define IDirect3DRMShadow2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2187 #define IDirect3DRMShadow2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2188 /*** IDirect3DRMShadow methods ***/
2189 #define IDirect3DRMShadow2_Init(p,a,b,c,d,e,f,g) (p)->lpVtbl->Init(p,a,b,c,d,e,f,g)
2190 /*** IDirect3DRMShadow2 methods ***/
2191 #define IDirect3DRMShadow2_GetVisual(p,a) (p)->lpVtbl->GetVisual(p,a)
2192 #define IDirect3DRMShadow2_SetVisual(p,a,b) (p)->lpVtbl->SetVisual(p,a,b)
2193 #define IDirect3DRMShadow2_GetLight(p,a) (p)->lpVtbl->GetLight(p,a)
2194 #define IDirect3DRMShadow2_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
2195 #define IDirect3DRMShadow2_GetPlane(p,a,b,c,d,e,f) (p)->lpVtbl->GetPlane(p,a,b,c,d,e,f)
2196 #define IDirect3DRMShadow2_SetPlane(p,a,b,c,d,e,f) (p)->lpVtbl->SetPlane(p,a,b,c,d,e,f)
2197 #define IDirect3DRMShadow2_GetOptions(p,a) (p)->lpVtbl->GetOptions(p,a)
2198 #define IDirect3DRMShadow2_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
2200 /*** IUnknown methods ***/
2201 #define IDirect3DRMShadow2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2202 #define IDirect3DRMShadow2_AddRef(p) (p)->AddRef()
2203 #define IDirect3DRMShadow2_Release(p) (p)->Release()
2204 /*** IDirect3DRMObject methods ***/
2205 #define IDirect3DRMShadow2_Clone(p,a,b,c) (p)->Clone(a,b,c)
2206 #define IDirect3DRMShadow2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2207 #define IDirect3DRMShadow2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2208 #define IDirect3DRMShadow2_SetAppData(p,a) (p)->SetAppData(a)
2209 #define IDirect3DRMShadow2_GetAppData(p) (p)->GetAppData()
2210 #define IDirect3DRMShadow2_SetName(p,a) (p)->SetName(a)
2211 #define IDirect3DRMShadow2_GetName(p,a,b) (p)->GetName(a,b)
2212 #define IDirect3DRMShadow2_GetClassName(p,a,b) (p)->GetClassName(a,b)
2213 /*** IDirect3DRMShadow methods ***/
2214 #define IDirect3DRMShadow2_Init(p,a,b,c,d,e,f,g) (p)->Init(a,b,c,d,e,f,g)
2215 /*** IDirect3DRMShadow2 methods ***/
2216 #define IDirect3DRMShadow2_GetVisual(p,a) (p)->GetVisual(a)
2217 #define IDirect3DRMShadow2_SetVisual(p,a,b) (p)->SetVisual(a,b)
2218 #define IDirect3DRMShadow2_GetLight(p,a) (p)->GetLight(a)
2219 #define IDirect3DRMShadow2_SetLight(p,a,b) (p)->SetLight(a,b)
2220 #define IDirect3DRMShadow2_GetPlane(p,a,b,c,d,e,f) (p)->GetPlane(a,b,c,d,e,f)
2221 #define IDirect3DRMShadow2_SetPlane(p,a,b,c,d,e,f) (p)->SetPlane(a,b,c,d,e,f)
2222 #define IDirect3DRMShadow2_GetOptions(p,a) (p)->GetOptions(a)
2223 #define IDirect3DRMShadow2_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
2226 /*****************************************************************************
2227 * IDirect3DRMFace interface
2229 #define INTERFACE IDirect3DRMFace
2230 DECLARE_INTERFACE_(IDirect3DRMFace,IDirect3DRMObject)
2232 /*** IUnknown methods ***/
2233 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2234 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2235 STDMETHOD_(ULONG,Release)(THIS) PURE;
2236 /*** IDirect3DRMObject methods ***/
2237 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2238 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2239 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2240 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2241 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2242 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2243 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2244 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2245 /*** IDirect3DRMFace methods ***/
2246 STDMETHOD(AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2247 STDMETHOD(AddVertexAndNormalIndexed)(THIS_ DWORD vertex, DWORD normal) PURE;
2248 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE, D3DVALUE, D3DVALUE) PURE;
2249 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
2250 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
2251 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE u, D3DVALUE v) PURE;
2252 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
2253 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
2254 STDMETHOD(GetVertex)(THIS_ DWORD index, D3DVECTOR *vertex, D3DVECTOR *normal) PURE;
2255 STDMETHOD(GetVertices)(THIS_ DWORD *vertex_count, D3DVECTOR *coords, D3DVECTOR *normals);
2256 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE *u, D3DVALUE *v) PURE;
2257 STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
2258 STDMETHOD(GetNormal)(THIS_ D3DVECTOR *) PURE;
2259 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE *) PURE;
2260 STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL *) PURE;
2261 STDMETHOD_(int, GetVertexCount)(THIS) PURE;
2262 STDMETHOD_(int, GetVertexIndex)(THIS_ DWORD which) PURE;
2263 STDMETHOD_(int, GetTextureCoordinateIndex)(THIS_ DWORD which) PURE;
2264 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
2268 #if !defined(__cplusplus) || defined(CINTERFACE)
2269 /*** IUnknown methods ***/
2270 #define IDirect3DRMFace_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2271 #define IDirect3DRMFace_AddRef(p) (p)->lpVtbl->AddRef(p)
2272 #define IDirect3DRMFace_Release(p) (p)->lpVtbl->Release(p)
2273 /*** IDirect3DRMObject methods ***/
2274 #define IDirect3DRMFace_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2275 #define IDirect3DRMFace_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2276 #define IDirect3DRMFace_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2277 #define IDirect3DRMFace_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2278 #define IDirect3DRMFace_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2279 #define IDirect3DRMFace_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2280 #define IDirect3DRMFace_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2281 #define IDirect3DRMFace_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2282 /*** IDirect3DRMFace methods ***/
2283 #define IDirect3DRMFace_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2284 #define IDirect3DRMFace_AddVertexAndNormalIndexed(p,a,b) (p)->lpVtbl->AddVertexAndNormalIndexed(p,a,b)
2285 #define IDirect3DRMFace_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2286 #define IDirect3DRMFace_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2287 #define IDirect3DRMFace_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2288 #define IDirect3DRMFace_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2289 #define IDirect3DRMFace_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
2290 #define IDirect3DRMFace_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2291 #define IDirect3DRMFace_GetVertex(p,a,b,c) (p)->lpVtbl->GetVertex(p,a,b,c)
2292 #define IDirect3DRMFace_GetVertices(p,a,b,c) (p)->lpVtbl->GetVertices(p,a,b,c)
2293 #define IDirect3DRMFace_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2294 #define IDirect3DRMFace_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
2295 #define IDirect3DRMFace_GetNormal(p,a) (p)->lpVtbl->GetNormal(p,a)
2296 #define IDirect3DRMFace_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
2297 #define IDirect3DRMFace_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2298 #define IDirect3DRMFace_GetVertexIndex(p,a) (p)->lpVtbl->GetVertexIndex(p,a)
2299 #define IDirect3DRMFace_GetTextureCoordinateIndex(p,a) (p)->lpVtbl->GetTextureCoordinateIndex(p,a)
2300 #define IDirect3DRMFace_GetColor(p,a) (p)->lpVtbl->GetColor(p,a)
2302 /*** IUnknown methods ***/
2303 #define IDirect3DRMFace_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2304 #define IDirect3DRMFace_AddRef(p) (p)->AddRef()
2305 #define IDirect3DRMFace_Release(p) (p)->Release()
2306 /*** IDirect3DRMObject methods ***/
2307 #define IDirect3DRMFace_Clone(p,a,b,c) (p)->Clone(a,b,c)
2308 #define IDirect3DRMFace_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2309 #define IDirect3DRMFace_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2310 #define IDirect3DRMFace_SetAppData(p,a) (p)->SetAppData(a)
2311 #define IDirect3DRMFace_GetAppData(p) (p)->GetAppData()
2312 #define IDirect3DRMFace_SetName(p,a) (p)->SetName(a)
2313 #define IDirect3DRMFace_GetName(p,a,b) (p)->GetName(a,b)
2314 #define IDirect3DRMFace_GetClassName(p,a,b) (p)->GetClassName(a,b)
2315 /*** IDirect3DRMFace methods ***/
2316 #define IDirect3DRMFace_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
2317 #define IDirect3DRMFace_AddVertexAndNormalIndexed(p,a,b) (p)->AddVertexAndNormalIndexed(a,b)
2318 #define IDirect3DRMFace_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
2319 #define IDirect3DRMFace_SetColor(p,a) (p)->SetColor(a)
2320 #define IDirect3DRMFace_SetTexture(p,a) (p)->SetTexture(a)
2321 #define IDirect3DRMFace_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
2322 #define IDirect3DRMFace_SetMaterial(p,a) (p)->SetMaterial(a)
2323 #define IDirect3DRMFace_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
2324 #define IDirect3DRMFace_GetVertex(p,a,b,c) (p)->GetVertex(a,b,c)
2325 #define IDirect3DRMFace_GetVertices(p,a,b,c) (p)->GetVertices(a,b,c)
2326 #define IDirect3DRMFace_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
2327 #define IDirect3DRMFace_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
2328 #define IDirect3DRMFace_GetNormal(p,a) (p)->GetNormal(a)
2329 #define IDirect3DRMFace_GetTexture(p,a) (p)->GetTexture(a)
2330 #define IDirect3DRMFace_GetVertexCount(p) (p)->GetVertexCount()
2331 #define IDirect3DRMFace_GetVertexIndex(p,a) (p)->GetVertexIndex(a)
2332 #define IDirect3DRMFace_GetTextureCoordinateIndex(p,a) (p)->GetTextureCoordinateIndex(a)
2333 #define IDirect3DRMFace_GetColor(p,a) (p)->GetColor(a)
2336 /*****************************************************************************
2337 * IDirect3DRMFace2 interface
2339 #define INTERFACE IDirect3DRMFace2
2340 DECLARE_INTERFACE_(IDirect3DRMFace2,IDirect3DRMObject)
2342 /*** IUnknown methods ***/
2343 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2344 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2345 STDMETHOD_(ULONG,Release)(THIS) PURE;
2346 /*** IDirect3DRMObject methods ***/
2347 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2348 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2349 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2350 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2351 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2352 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2353 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2354 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2355 /*** IDirect3DRMFace methods ***/
2356 STDMETHOD(AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2357 STDMETHOD(AddVertexAndNormalIndexed)(THIS_ DWORD vertex, DWORD normal) PURE;
2358 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE, D3DVALUE, D3DVALUE) PURE;
2359 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
2360 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
2361 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE u, D3DVALUE v) PURE;
2362 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE;
2363 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
2364 STDMETHOD(GetVertex)(THIS_ DWORD index, D3DVECTOR *vertex, D3DVECTOR *normal) PURE;
2365 STDMETHOD(GetVertices)(THIS_ DWORD *vertex_count, D3DVECTOR *coords, D3DVECTOR *normals);
2366 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE *u, D3DVALUE *v) PURE;
2367 STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
2368 STDMETHOD(GetNormal)(THIS_ D3DVECTOR *) PURE;
2369 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE3 *) PURE;
2370 STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2 *) PURE;
2371 STDMETHOD_(int, GetVertexCount)(THIS) PURE;
2372 STDMETHOD_(int, GetVertexIndex)(THIS_ DWORD which) PURE;
2373 STDMETHOD_(int, GetTextureCoordinateIndex)(THIS_ DWORD which) PURE;
2374 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
2378 #if !defined(__cplusplus) || defined(CINTERFACE)
2379 /*** IUnknown methods ***/
2380 #define IDirect3DRMFace2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2381 #define IDirect3DRMFace2_AddRef(p) (p)->lpVtbl->AddRef(p)
2382 #define IDirect3DRMFace2_Release(p) (p)->lpVtbl->Release(p)
2383 /*** IDirect3DRMObject methods ***/
2384 #define IDirect3DRMFace2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2385 #define IDirect3DRMFace2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2386 #define IDirect3DRMFace2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2387 #define IDirect3DRMFace2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2388 #define IDirect3DRMFace2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2389 #define IDirect3DRMFace2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2390 #define IDirect3DRMFace2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2391 #define IDirect3DRMFace2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2392 /*** IDirect3DRMFace methods ***/
2393 #define IDirect3DRMFace2_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2394 #define IDirect3DRMFace2_AddVertexAndNormalIndexed(p,a,b) (p)->lpVtbl->AddVertexAndNormalIndexed(p,a,b)
2395 #define IDirect3DRMFace2_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2396 #define IDirect3DRMFace2_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2397 #define IDirect3DRMFace2_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2398 #define IDirect3DRMFace2_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2399 #define IDirect3DRMFace2_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
2400 #define IDirect3DRMFace2_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2401 #define IDirect3DRMFace2_GetVertex(p,a,b,c) (p)->lpVtbl->GetVertex(p,a,b,c)
2402 #define IDirect3DRMFace2_GetVertices(p,a,b,c) (p)->lpVtbl->GetVertices(p,a,b,c)
2403 #define IDirect3DRMFace2_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2404 #define IDirect3DRMFace2_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
2405 #define IDirect3DRMFace2_GetNormal(p,a) (p)->lpVtbl->GetNormal(p,a)
2406 #define IDirect3DRMFace2_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
2407 #define IDirect3DRMFace2_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2408 #define IDirect3DRMFace2_GetVertexIndex(p,a) (p)->lpVtbl->GetVertexIndex(p,a)
2409 #define IDirect3DRMFace2_GetTextureCoordinateIndex(p,a) (p)->lpVtbl->GetTextureCoordinateIndex(p,a)
2410 #define IDirect3DRMFace2_GetColor(p,a) (p)->lpVtbl->GetColor(p,a)
2412 /*** IUnknown methods ***/
2413 #define IDirect3DRMFace2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2414 #define IDirect3DRMFace2_AddRef(p) (p)->AddRef()
2415 #define IDirect3DRMFace2_Release(p) (p)->Release()
2416 /*** IDirect3DRMObject methods ***/
2417 #define IDirect3DRMFace2_Clone(p,a,b,c) (p)->Clone(a,b,c)
2418 #define IDirect3DRMFace2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2419 #define IDirect3DRMFace2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2420 #define IDirect3DRMFace2_SetAppData(p,a) (p)->SetAppData(a)
2421 #define IDirect3DRMFace2_GetAppData(p) (p)->GetAppData()
2422 #define IDirect3DRMFace2_SetName(p,a) (p)->SetName(a)
2423 #define IDirect3DRMFace2_GetName(p,a,b) (p)->GetName(a,b)
2424 #define IDirect3DRMFace2_GetClassName(p,a,b) (p)->GetClassName(a,b)
2425 /*** IDirect3DRMFace methods ***/
2426 #define IDirect3DRMFace2_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
2427 #define IDirect3DRMFace2_AddVertexAndNormalIndexed(p,a,b) (p)->AddVertexAndNormalIndexed(a,b)
2428 #define IDirect3DRMFace2_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
2429 #define IDirect3DRMFace2_SetColor(p,a) (p)->SetColor(a)
2430 #define IDirect3DRMFace2_SetTexture(p,a) (p)->SetTexture(a)
2431 #define IDirect3DRMFace2_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
2432 #define IDirect3DRMFace2_SetMaterial(p,a) (p)->SetMaterial(a)
2433 #define IDirect3DRMFace2_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
2434 #define IDirect3DRMFace2_GetVertex(p,a,b,c) (p)->GetVertex(a,b,c)
2435 #define IDirect3DRMFace2_GetVertices(p,a,b,c) (p)->GetVertices(a,b,c)
2436 #define IDirect3DRMFace2_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
2437 #define IDirect3DRMFace2_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
2438 #define IDirect3DRMFace2_GetNormal(p,a) (p)->GetNormal(a)
2439 #define IDirect3DRMFace2_GetTexture(p,a) (p)->GetTexture(a)
2440 #define IDirect3DRMFace2_GetVertexCount(p) (p)->GetVertexCount()
2441 #define IDirect3DRMFace2_GetVertexIndex(p,a) (p)->GetVertexIndex(a)
2442 #define IDirect3DRMFace2_GetTextureCoordinateIndex(p,a) (p)->GetTextureCoordinateIndex(a)
2443 #define IDirect3DRMFace2_GetColor(p,a) (p)->GetColor(a)
2446 /*****************************************************************************
2447 * IDirect3DRMMeshBuilder interface
2449 #define INTERFACE IDirect3DRMMeshBuilder
2450 DECLARE_INTERFACE_(IDirect3DRMMeshBuilder,IDirect3DRMVisual)
2452 /*** IUnknown methods ***/
2453 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2454 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2455 STDMETHOD_(ULONG,Release)(THIS) PURE;
2456 /*** IDirect3DRMObject methods ***/
2457 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2458 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2459 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2460 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2461 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2462 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2463 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2464 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2465 /*** IDirect3DRMMeshBuilder methods ***/
2466 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK, LPVOID pArg) PURE;
2467 STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE;
2468 STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
2469 STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
2470 STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE;
2471 STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
2472 STDMETHOD(GenerateNormals)(THIS) PURE;
2473 STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE;
2474 STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE;
2475 STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER) PURE;
2476 STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME) PURE;
2477 STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE) PURE;
2478 STDMETHOD(AddFaces)(THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, DWORD *data,
2479 LPDIRECT3DRMFACEARRAY*) PURE;
2480 STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE;
2481 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2482 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
2483 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
2484 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
2485 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
2486 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
2487 STDMETHOD(SetPerspective)(THIS_ BOOL) PURE;
2488 STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2489 STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2490 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE;
2491 STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE;
2492 STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2493 STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE;
2494 STDMETHOD(GetVertices)(THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals,
2495 DWORD *face_data_size, DWORD *face_data) PURE;
2496 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE;
2497 STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2498 STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2499 STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE*) PURE;
2500 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
2501 STDMETHOD_(BOOL, GetPerspective)(THIS) PURE;
2502 STDMETHOD_(int, GetFaceCount)(THIS) PURE;
2503 STDMETHOD_(int, GetVertexCount)(THIS) PURE;
2504 STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE;
2505 STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE;
2509 #if !defined(__cplusplus) || defined(CINTERFACE)
2510 /*** IUnknown methods ***/
2511 #define IDirect3DRMMeshBuilder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2512 #define IDirect3DRMMeshBuilder_AddRef(p) (p)->lpVtbl->AddRef(p)
2513 #define IDirect3DRMMeshBuilder_Release(p) (p)->lpVtbl->Release(p)
2514 /*** IDirect3DRMObject methods ***/
2515 #define IDirect3DRMMeshBuilder_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2516 #define IDirect3DRMMeshBuilder_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2517 #define IDirect3DRMMeshBuilder_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2518 #define IDirect3DRMMeshBuilder_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2519 #define IDirect3DRMMeshBuilder_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2520 #define IDirect3DRMMeshBuilder_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2521 #define IDirect3DRMMeshBuilder_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2522 #define IDirect3DRMMeshBuilder_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2523 /*** IDirect3DRMMeshBuilder methods ***/
2524 #define IDirect3DRMMeshBuilder_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
2525 #define IDirect3DRMMeshBuilder_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
2526 #define IDirect3DRMMeshBuilder_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
2527 #define IDirect3DRMMeshBuilder_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a)
2528 #define IDirect3DRMMeshBuilder_SetColorSource(p,a) (p)->lpVtbl->SetColorSource(p,a,b,c)
2529 #define IDirect3DRMMeshBuilder_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
2530 #define IDirect3DRMMeshBuilder_GenerateNormals(p) (p)->lpVtbl->GenerateNormals(p)
2531 #define IDirect3DRMMeshBuilder_GetColorSource(p) (p)->lpVtbl->GetColorSource(p)
2532 #define IDirect3DRMMeshBuilder_AddMesh(p,a) (p)->lpVtbl->AddMesh(p,a)
2533 #define IDirect3DRMMeshBuilder_AddMeshBuilder(p,a) (p)->lpVtbl->AddMeshBuilder(p,a)
2534 #define IDirect3DRMMeshBuilder_AddFrame(p,a) (p)->lpVtbl->AddFrame(p,a)
2535 #define IDirect3DRMMeshBuilder_AddFace(p,a) (p)->lpVtbl->AddFace(p,a)
2536 #define IDirect3DRMMeshBuilder_AddFaces(p,a,b,c,d,e,f) (p)->lpVtbl->AddFaces(p,a,b,c,d,e,f)
2537 #define IDirect3DRMMeshBuilder_ReserveSpace(p,a,b,c) (p)->lpVtbl->ReserveSpace(p,a,b,c)
2538 #define IDirect3DRMMeshBuilder_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2539 #define IDirect3DRMMeshBuilder_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2540 #define IDirect3DRMMeshBuilder_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2541 #define IDirect3DRMMeshBuilder_SetMateria(p,a) (p)->lpVtbl->SetMateria(p,a)
2542 #define IDirect3DRMMeshBuilder_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2543 #define IDirect3DRMMeshBuilder_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
2544 #define IDirect3DRMMeshBuilder_SetPerspective(p,a) (p)->lpVtbl->SetPerspective(p,a)
2545 #define IDirect3DRMMeshBuilder_SetVertex(p,a,b,c,d) (p)->lpVtbl->SetVertex(p,a,b,c,d)
2546 #define IDirect3DRMMeshBuilder_SetNormal(p,a,b,c,d) (p)->lpVtbl->SetNormal(p,a,b,c,d)
2547 #define IDirect3DRMMeshBuilder_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2548 #define IDirect3DRMMeshBuilder_SetVertexColor(p,a,b) (p)->lpVtbl->SetVertexColor(p,a,b)
2549 #define IDirect3DRMMeshBuilder_SetVertexColorRGB(p,a,b,c,d) (p)->lpVtbl->SetVertexColorRGB(p,a,b,c,d)
2550 #define IDirect3DRMMeshBuilder_GetFaces(p,a) (p)->lpVtbl->GetFaces(p,a)
2551 #define IDirect3DRMMeshBuilder_GetVertices(p,a,b,c,d,e,f) (p)->lpVtbl->GetVertices(p,a,b,c,d,e,f)
2552 #define IDirect3DRMMeshBuilder_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2553 #define IDirect3DRMMeshBuilder_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2554 #define IDirect3DRMMeshBuilder_AddNormal(p,a,b,c) (p)->lpVtbl->AddNormal(p,a,b,c)
2555 #define IDirect3DRMMeshBuilder_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
2556 #define IDirect3DRMMeshBuilder_GetQuality(p) (p)->lpVtbl->GetQuality(p)
2557 #define IDirect3DRMMeshBuilder_GetPerspective(p) (p)->lpVtbl->GetPerspective(p)
2558 #define IDirect3DRMMeshBuilder_GetFaceCount(p) (p)->lpVtbl->GetFaceCount(p)
2559 #define IDirect3DRMMeshBuilder_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2560 #define IDirect3DRMMeshBuilder_GetVertexColor(p,a) (p)->lpVtbl->GetVertexColor(p,a)
2561 #define IDirect3DRMMeshBuilder_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
2563 /*** IUnknown methods ***/
2564 #define IDirect3DRMMeshBuilder_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2565 #define IDirect3DRMMeshBuilder_AddRef(p) (p)->AddRef()
2566 #define IDirect3DRMMeshBuilder_Release(p) (p)->Release()
2567 /*** IDirect3DRMObject methods ***/
2568 #define IDirect3DRMMeshBuilder_Clone(p,a,b,c) (p)->Clone(a,b,c)
2569 #define IDirect3DRMMeshBuilder_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2570 #define IDirect3DRMMeshBuilder_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2571 #define IDirect3DRMMeshBuilder_SetAppData(p,a) (p)->SetAppData(a)
2572 #define IDirect3DRMMeshBuilder_GetAppData(p) (p)->GetAppData()
2573 #define IDirect3DRMMeshBuilder_SetName(p,a) (p)->SetName(a)
2574 #define IDirect3DRMMeshBuilder_GetName(p,a,b) (p)->GetName(a,b)
2575 #define IDirect3DRMMeshBuilder_GetClassName(p,a,b) (p)->GetClassName(a,b)
2576 /*** IDirect3DRMMeshBuilder methods ***/
2577 #define IDirect3DRMMeshBuilder_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
2578 #define IDirect3DRMMeshBuilder_Save(p,a,b,c) (p)->Save(a,b,c)
2579 #define IDirect3DRMMeshBuilder_Scale(p,a,b,c) (p)->Scale(a,b,c)
2580 #define IDirect3DRMMeshBuilder_Translate(p,a,b,c) (p)->Translate(a)
2581 #define IDirect3DRMMeshBuilder_SetColorSource(p,a) (p)->SetColorSource(a,b,c)
2582 #define IDirect3DRMMeshBuilder_GetBox(p,a) (p)->GetBox(a)
2583 #define IDirect3DRMMeshBuilder_GenerateNormals(p) (p)->GenerateNormals()
2584 #define IDirect3DRMMeshBuilder_GetColorSource(p) (p)->GetColorSource()
2585 #define IDirect3DRMMeshBuilder_AddMesh(p,a) (p)-->AddMesh(a)
2586 #define IDirect3DRMMeshBuilder_AddMeshBuilder(p,a) (p)->AddMeshBuilder(a)
2587 #define IDirect3DRMMeshBuilder_AddFrame(p,a) (p)->AddFrame(a)
2588 #define IDirect3DRMMeshBuilder_AddFace(p,a) (p)->AddFace(a)
2589 #define IDirect3DRMMeshBuilder_AddFaces(p,a,b,c,d,e,f) (p)->AddFaces(a,b,c,d,e,f)
2590 #define IDirect3DRMMeshBuilder_ReserveSpace(p,a,b,c) (p)->ReserveSpace(a,b,c)
2591 #define IDirect3DRMMeshBuilder_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
2592 #define IDirect3DRMMeshBuilder_SetColor(p,a) (p)->SetColor(a)
2593 #define IDirect3DRMMeshBuilder_SetTexture(p,a) (p)->SetTexture(a)
2594 #define IDirect3DRMMeshBuilder_SetMateria(p,a) (p)->SetMateria(a)
2595 #define IDirect3DRMMeshBuilder_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
2596 #define IDirect3DRMMeshBuilder_SetQuality(p,a) (p)->SetQuality(a)
2597 #define IDirect3DRMMeshBuilder_SetPerspective(p,a) (p)->SetPerspective(a)
2598 #define IDirect3DRMMeshBuilder_SetVertex(p,a,b,c,d) (p)->SetVertex(a,b,c,d)
2599 #define IDirect3DRMMeshBuilder_SetNormal(p,a,b,c,d) (p)->SetNormal(a,b,c,d)
2600 #define IDirect3DRMMeshBuilder_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
2601 #define IDirect3DRMMeshBuilder_SetVertexColor(p,a,b) (p)->SetVertexColor(a,b)
2602 #define IDirect3DRMMeshBuilder_SetVertexColorRGB(p,a,b,c,d) (p)->SetVertexColorRGB(a,b,c,d)
2603 #define IDirect3DRMMeshBuilder_GetFaces(p,a) (p)->GetFaces(a)
2604 #define IDirect3DRMMeshBuilder_GetVertices(p,a,b,c,d,e,f) (p)->GetVertices(a,b,c,d,e,f)
2605 #define IDirect3DRMMeshBuilder_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
2606 #define IDirect3DRMMeshBuilder_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
2607 #define IDirect3DRMMeshBuilder_AddNormal(p,a,b,c) (p)->AddNormal(a,b,c)
2608 #define IDirect3DRMMeshBuilder_CreateFace(p,a) (p)->CreateFace(a)
2609 #define IDirect3DRMMeshBuilder_GetQuality(p) (p)->GetQuality()
2610 #define IDirect3DRMMeshBuilder_GetPerspective(p) (p)->GetPerspective()
2611 #define IDirect3DRMMeshBuilder_GetFaceCount(p) (p)->GetFaceCount()
2612 #define IDirect3DRMMeshBuilder_GetVertexCount(p) (p)->GetVertexCount()
2613 #define IDirect3DRMMeshBuilder_GetVertexColor(p,a) (p)->GetVertexColor(a)
2614 #define IDirect3DRMMeshBuilder_CreateMesh(p,a) (p)->CreateMesh(a)
2617 /*****************************************************************************
2618 * IDirect3DRMMeshBuilder2 interface
2620 #define INTERFACE IDirect3DRMMeshBuilder2
2621 DECLARE_INTERFACE_(IDirect3DRMMeshBuilder2,IDirect3DRMMeshBuilder)
2623 /*** IUnknown methods ***/
2624 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2625 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2626 STDMETHOD_(ULONG,Release)(THIS) PURE;
2627 /*** IDirect3DRMObject methods ***/
2628 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2629 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2630 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2631 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2632 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2633 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2634 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2635 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2636 /*** IDirect3DRMMeshBuilder methods ***/
2637 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK, LPVOID pArg) PURE;
2638 STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE;
2639 STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
2640 STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
2641 STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE;
2642 STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
2643 STDMETHOD(GenerateNormals)(THIS) PURE;
2644 STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE;
2645 STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE;
2646 STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER) PURE;
2647 STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME) PURE;
2648 STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE) PURE;
2649 STDMETHOD(AddFaces)(THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, DWORD *data,
2650 LPDIRECT3DRMFACEARRAY*) PURE;
2651 STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE;
2652 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2653 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
2654 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
2655 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
2656 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
2657 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
2658 STDMETHOD(SetPerspective)(THIS_ BOOL) PURE;
2659 STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2660 STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2661 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE;
2662 STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE;
2663 STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2664 STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE;
2665 STDMETHOD(GetVertices)(THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals,
2666 DWORD *face_data_size, DWORD *face_data) PURE;
2667 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE;
2668 STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2669 STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2670 STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE*) PURE;
2671 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
2672 STDMETHOD_(BOOL, GetPerspective)(THIS) PURE;
2673 STDMETHOD_(int, GetFaceCount)(THIS) PURE;
2674 STDMETHOD_(int, GetVertexCount)(THIS) PURE;
2675 STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE;
2676 STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE;
2677 /*** IDirect3DRMMeshBuilder2 methods ***/
2678 STDMETHOD(GenerateNormals2)(THIS_ D3DVALUE crease, DWORD flags) PURE;
2679 STDMETHOD(GetFace)(THIS_ DWORD index, LPDIRECT3DRMFACE*) PURE;
2683 #if !defined(__cplusplus) || defined(CINTERFACE)
2684 /*** IUnknown methods ***/
2685 #define IDirect3DRMMeshBuilder2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2686 #define IDirect3DRMMeshBuilder2_AddRef(p) (p)->lpVtbl->AddRef(p)
2687 #define IDirect3DRMMeshBuilder2_Release(p) (p)->lpVtbl->Release(p)
2688 /*** IDirect3DRMObject methods ***/
2689 #define IDirect3DRMMeshBuilder2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2690 #define IDirect3DRMMeshBuilder2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2691 #define IDirect3DRMMeshBuilder2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2692 #define IDirect3DRMMeshBuilder2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2693 #define IDirect3DRMMeshBuilder2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2694 #define IDirect3DRMMeshBuilder2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2695 #define IDirect3DRMMeshBuilder2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2696 #define IDirect3DRMMeshBuilder2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2697 /*** IDirect3DRMMeshBuilder methods ***/
2698 #define IDirect3DRMMeshBuilder2_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
2699 #define IDirect3DRMMeshBuilder2_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
2700 #define IDirect3DRMMeshBuilder2_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
2701 #define IDirect3DRMMeshBuilder2_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a)
2702 #define IDirect3DRMMeshBuilder2_SetColorSource(p,a) (p)->lpVtbl->SetColorSource(p,a,b,c)
2703 #define IDirect3DRMMeshBuilder2_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
2704 #define IDirect3DRMMeshBuilder2_GenerateNormals(p) (p)->lpVtbl->GenerateNormals(p)
2705 #define IDirect3DRMMeshBuilder2_GetColorSource(p) (p)->lpVtbl->GetColorSource(p)
2706 #define IDirect3DRMMeshBuilder2_AddMesh(p,a) (p)->lpVtbl->AddMesh(p,a)
2707 #define IDirect3DRMMeshBuilder2_AddMeshBuilder(p,a) (p)->lpVtbl->AddMeshBuilder(p,a)
2708 #define IDirect3DRMMeshBuilder2_AddFrame(p,a) (p)->lpVtbl->AddFrame(p,a)
2709 #define IDirect3DRMMeshBuilder2_AddFace(p,a) (p)->lpVtbl->AddFace(p,a)
2710 #define IDirect3DRMMeshBuilder2_AddFaces(p,a,b,c,d,e,f) (p)->lpVtbl->AddFaces(p,a,b,c,d,e,f)
2711 #define IDirect3DRMMeshBuilder2_ReserveSpace(p,a,b,c) (p)->lpVtbl->ReserveSpace(p,a,b,c)
2712 #define IDirect3DRMMeshBuilder2_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2713 #define IDirect3DRMMeshBuilder2_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2714 #define IDirect3DRMMeshBuilder2_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2715 #define IDirect3DRMMeshBuilder2_SetMateria(p,a) (p)->lpVtbl->SetMateria(p,a)
2716 #define IDirect3DRMMeshBuilder2_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2717 #define IDirect3DRMMeshBuilder2_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
2718 #define IDirect3DRMMeshBuilder2_SetPerspective(p,a) (p)->lpVtbl->SetPerspective(p,a)
2719 #define IDirect3DRMMeshBuilder2_SetVertex(p,a,b,c,d) (p)->lpVtbl->SetVertex(p,a,b,c,d)
2720 #define IDirect3DRMMeshBuilder2_SetNormal(p,a,b,c,d) (p)->lpVtbl->SetNormal(p,a,b,c,d)
2721 #define IDirect3DRMMeshBuilder2_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2722 #define IDirect3DRMMeshBuilder2_SetVertexColor(p,a,b) (p)->lpVtbl->SetVertexColor(p,a,b)
2723 #define IDirect3DRMMeshBuilder2_SetVertexColorRGB(p,a,b,c,d) (p)->lpVtbl->SetVertexColorRGB(p,a,b,c,d)
2724 #define IDirect3DRMMeshBuilder2_GetFaces(p,a) (p)->lpVtbl->GetFaces(p,a)
2725 #define IDirect3DRMMeshBuilder2_GetVertices(p,a,b,c,d,e,f) (p)->lpVtbl->GetVertices(p,a,b,c,d,e,f)
2726 #define IDirect3DRMMeshBuilder2_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2727 #define IDirect3DRMMeshBuilder2_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2728 #define IDirect3DRMMeshBuilder2_AddNormal(p,a,b,c) (p)->lpVtbl->AddNormal(p,a,b,c)
2729 #define IDirect3DRMMeshBuilder2_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
2730 #define IDirect3DRMMeshBuilder2_GetQuality(p) (p)->lpVtbl->GetQuality(p)
2731 #define IDirect3DRMMeshBuilder2_GetPerspective(p) (p)->lpVtbl->GetPerspective(p)
2732 #define IDirect3DRMMeshBuilder2_GetFaceCount(p) (p)->lpVtbl->GetFaceCount(p)
2733 #define IDirect3DRMMeshBuilder2_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2734 #define IDirect3DRMMeshBuilder2_GetVertexColor(p,a) (p)->lpVtbl->GetVertexColor(p,a)
2735 #define IDirect3DRMMeshBuilder2_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
2736 /*** IDirect3DRMMeshBuilder2 methods ***/
2737 #define IDirect3DRMMeshBuilder2_GenerateNormals2(p,a,b) (p)->lpVtbl->GenerateNormals2(p,a,b)
2738 #define IDirect3DRMMeshBuilder2_GetFace(p,a,b) (p)->lpVtbl->GetFace(p,a,b)
2740 /*** IUnknown methods ***/
2741 #define IDirect3DRMMeshBuilder2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2742 #define IDirect3DRMMeshBuilder2_AddRef(p) (p)->AddRef()
2743 #define IDirect3DRMMeshBuilder2_Release(p) (p)->Release()
2744 /*** IDirect3DRMObject methods ***/
2745 #define IDirect3DRMMeshBuilder2_Clone(p,a,b,c) (p)->Clone(a,b,c)
2746 #define IDirect3DRMMeshBuilder2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2747 #define IDirect3DRMMeshBuilder2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2748 #define IDirect3DRMMeshBuilder2_SetAppData(p,a) (p)->SetAppData(a)
2749 #define IDirect3DRMMeshBuilder2_GetAppData(p) (p)->GetAppData()
2750 #define IDirect3DRMMeshBuilder2_SetName(p,a) (p)->SetName(a)
2751 #define IDirect3DRMMeshBuilder2_GetName(p,a,b) (p)->GetName(a,b)
2752 #define IDirect3DRMMeshBuilder2_GetClassName(p,a,b) (p)->GetClassName(a,b)
2753 /*** IDirect3DRMMeshBuilder methods ***/
2754 #define IDirect3DRMMeshBuilder2_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
2755 #define IDirect3DRMMeshBuilder2_Save(p,a,b,c) (p)->Save(a,b,c)
2756 #define IDirect3DRMMeshBuilder2_Scale(p,a,b,c) (p)->Scale(a,b,c)
2757 #define IDirect3DRMMeshBuilder2_Translate(p,a,b,c) (p)->Translate(a)
2758 #define IDirect3DRMMeshBuilder2_SetColorSource(p,a) (p)->SetColorSource(a,b,c)
2759 #define IDirect3DRMMeshBuilder2_GetBox(p,a) (p)->GetBox(a)
2760 #define IDirect3DRMMeshBuilder2_GenerateNormals(p) (p)->GenerateNormals()
2761 #define IDirect3DRMMeshBuilder2_GetColorSource(p) (p)->GetColorSource()
2762 #define IDirect3DRMMeshBuilder2_AddMesh(p,a) (p)-->AddMesh(a)
2763 #define IDirect3DRMMeshBuilder2_AddMeshBuilder(p,a) (p)->AddMeshBuilder(a)
2764 #define IDirect3DRMMeshBuilder2_AddFrame(p,a) (p)->AddFrame(a)
2765 #define IDirect3DRMMeshBuilder2_AddFace(p,a) (p)->AddFace(a)
2766 #define IDirect3DRMMeshBuilder2_AddFaces(p,a,b,c,d,e,f) (p)->AddFaces(a,b,c,d,e,f)
2767 #define IDirect3DRMMeshBuilder2_ReserveSpace(p,a,b,c) (p)->ReserveSpace(a,b,c)
2768 #define IDirect3DRMMeshBuilder2_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
2769 #define IDirect3DRMMeshBuilder2_SetColor(p,a) (p)->SetColor(a)
2770 #define IDirect3DRMMeshBuilder2_SetTexture(p,a) (p)->SetTexture(a)
2771 #define IDirect3DRMMeshBuilder2_SetMateria(p,a) (p)->SetMateria(a)
2772 #define IDirect3DRMMeshBuilder2_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
2773 #define IDirect3DRMMeshBuilder2_SetQuality(p,a) (p)->SetQuality(a)
2774 #define IDirect3DRMMeshBuilder2_SetPerspective(p,a) (p)->SetPerspective(a)
2775 #define IDirect3DRMMeshBuilder2_SetVertex(p,a,b,c,d) (p)->SetVertex(a,b,c,d)
2776 #define IDirect3DRMMeshBuilder2_SetNormal(p,a,b,c,d) (p)->SetNormal(a,b,c,d)
2777 #define IDirect3DRMMeshBuilder2_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
2778 #define IDirect3DRMMeshBuilder2_SetVertexColor(p,a,b) (p)->SetVertexColor(a,b)
2779 #define IDirect3DRMMeshBuilder2_SetVertexColorRGB(p,a,b,c,d) (p)->SetVertexColorRGB(a,b,c,d)
2780 #define IDirect3DRMMeshBuilder2_GetFaces(p,a) (p)->GetFaces(a)
2781 #define IDirect3DRMMeshBuilder2_GetVertices(p,a,b,c,d,e,f) (p)->GetVertices(a,b,c,d,e,f)
2782 #define IDirect3DRMMeshBuilder2_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
2783 #define IDirect3DRMMeshBuilder2_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
2784 #define IDirect3DRMMeshBuilder2_AddNormal(p,a,b,c) (p)->AddNormal(a,b,c)
2785 #define IDirect3DRMMeshBuilder2_CreateFace(p,a) (p)->CreateFace(a)
2786 #define IDirect3DRMMeshBuilder2_GetQuality(p) (p)->GetQuality()
2787 #define IDirect3DRMMeshBuilder2_GetPerspective(p) (p)->GetPerspective()
2788 #define IDirect3DRMMeshBuilder2_GetFaceCount(p) (p)->GetFaceCount()
2789 #define IDirect3DRMMeshBuilder2_GetVertexCount(p) (p)->GetVertexCount()
2790 #define IDirect3DRMMeshBuilder2_GetVertexColor(p,a) (p)->GetVertexColor(a)
2791 #define IDirect3DRMMeshBuilder2_CreateMesh(p,a) (p)->CreateMesh(a)
2792 /*** IDirect3DRMMeshBuilder2 methods ***/
2793 #define IDirect3DRMMeshBuilder2_GenerateNormals2(p,a,b) (p)->GenerateNormals2(a,b)
2794 #define IDirect3DRMMeshBuilder2_GetFace(p,a,b) (p)->GetFace(a,b)
2797 /*****************************************************************************
2798 * IDirect3DRMMeshBuilder3 interface
2800 #define INTERFACE IDirect3DRMMeshBuilder3
2801 DECLARE_INTERFACE_(IDirect3DRMMeshBuilder3,IDirect3DRMVisual)
2803 /*** IUnknown methods ***/
2804 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2805 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2806 STDMETHOD_(ULONG,Release)(THIS) PURE;
2807 /*** IDirect3DRMObject methods ***/
2808 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2809 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2810 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2811 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2812 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2813 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2814 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2815 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2816 /*** IDirect3DRMMeshBuilder3 methods ***/
2817 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURE3CALLBACK, LPVOID pArg) PURE;
2818 STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE;
2819 STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
2820 STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
2821 STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE;
2822 STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
2823 STDMETHOD(GenerateNormals)(THIS_ D3DVALUE crease, DWORD flags) PURE;
2824 STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE;
2825 STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE;
2826 STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER3) PURE;
2827 STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME3) PURE;
2828 STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE2) PURE;
2829 STDMETHOD(AddFaces)(THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, DWORD *data,
2830 LPDIRECT3DRMFACEARRAY*) PURE;
2831 STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE;
2832 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2833 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
2834 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
2835 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE;
2836 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
2837 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
2838 STDMETHOD(SetPerspective)(THIS_ BOOL) PURE;
2839 STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2840 STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2841 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE;
2842 STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE;
2843 STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2844 STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE;
2845 STDMETHOD(GetGeometry)(THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals,
2846 DWORD *face_data_size, DWORD *face_data) PURE;
2847 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE;
2848 STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2849 STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2850 STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE2*) PURE;
2851 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
2852 STDMETHOD_(BOOL, GetPerspective)(THIS) PURE;
2853 STDMETHOD_(int, GetFaceCount)(THIS) PURE;
2854 STDMETHOD_(int, GetVertexCount)(THIS) PURE;
2855 STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE;
2856 STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE;
2857 STDMETHOD(GetFace)(THIS_ DWORD index, LPDIRECT3DRMFACE2 *) PURE;
2858 STDMETHOD(GetVertex)(THIS_ DWORD index, LPD3DVECTOR pVector) PURE;
2859 STDMETHOD(GetNormal)(THIS_ DWORD index, LPD3DVECTOR pVector) PURE;
2860 STDMETHOD(DeleteVertices)(THIS_ DWORD IndexFirst, DWORD count) PURE;
2861 STDMETHOD(DeleteNormals)(THIS_ DWORD IndexFirst, DWORD count) PURE;
2862 STDMETHOD(DeleteFace)(THIS_ LPDIRECT3DRMFACE2) PURE;
2863 STDMETHOD(Empty)(THIS_ DWORD flags) PURE;
2864 STDMETHOD(Optimize)(THIS_ DWORD flags) PURE;
2865 STDMETHOD(AddFacesIndexed)(THIS_ DWORD flags, DWORD *pvIndices, DWORD *pIndexFirst, DWORD *pCount) PURE;
2866 STDMETHOD(CreateSubMesh)(THIS_ LPUNKNOWN *) PURE;
2867 STDMETHOD(GetParentMesh)(THIS_ DWORD, LPUNKNOWN *) PURE;
2868 STDMETHOD(GetSubMeshes)(THIS_ LPDWORD pCount, LPUNKNOWN *) PURE;
2869 STDMETHOD(DeleteSubMesh)(THIS_ LPUNKNOWN) PURE;
2870 STDMETHOD(Enable)(THIS_ DWORD) PURE;
2871 STDMETHOD(GetEnable)(THIS_ DWORD *) PURE;
2872 STDMETHOD(AddTriangles)(THIS_ DWORD flags, DWORD format, DWORD VertexCount, LPVOID pvData) PURE;
2873 STDMETHOD(SetVertices)(THIS_ DWORD IndexFirst, DWORD count, LPD3DVECTOR) PURE;
2874 STDMETHOD(GetVertices)(THIS_ DWORD IndexFirst, LPDWORD pCount, LPD3DVECTOR) PURE;
2875 STDMETHOD(SetNormals)(THIS_ DWORD IndexFirst, DWORD count, LPD3DVECTOR) PURE;
2876 STDMETHOD(GetNormals)(THIS_ DWORD IndexFirst, LPDWORD pCount, LPD3DVECTOR) PURE;
2877 STDMETHOD_(int, GetNormalCount)(THIS) PURE;
2881 #if !defined(__cplusplus) || defined(CINTERFACE)
2882 /*** IUnknown methods ***/
2883 #define IDirect3DRMMeshBuilder3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2884 #define IDirect3DRMMeshBuilder3_AddRef(p) (p)->lpVtbl->AddRef(p)
2885 #define IDirect3DRMMeshBuilder3_Release(p) (p)->lpVtbl->Release(p)
2886 /*** IDirect3DRMObject methods ***/
2887 #define IDirect3DRMMeshBuilder3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2888 #define IDirect3DRMMeshBuilder3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2889 #define IDirect3DRMMeshBuilder3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2890 #define IDirect3DRMMeshBuilder3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2891 #define IDirect3DRMMeshBuilder3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2892 #define IDirect3DRMMeshBuilder3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2893 #define IDirect3DRMMeshBuilder3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2894 #define IDirect3DRMMeshBuilder3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2895 /*** IDirect3DRMMeshBuilder3 methods ***/
2896 #define IDirect3DRMMeshBuilder3_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
2897 #define IDirect3DRMMeshBuilder3_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
2898 #define IDirect3DRMMeshBuilder3_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
2899 #define IDirect3DRMMeshBuilder3_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a)
2900 #define IDirect3DRMMeshBuilder3_SetColorSource(p,a) (p)->lpVtbl->SetColorSource(p,a,b,c)
2901 #define IDirect3DRMMeshBuilder3_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
2902 #define IDirect3DRMMeshBuilder3_GenerateNormals(p,a,b) (p)->lpVtbl->GenerateNormals(p,a,b)
2903 #define IDirect3DRMMeshBuilder3_GetColorSource(p) (p)->lpVtbl->GetColorSource(p)
2904 #define IDirect3DRMMeshBuilder3_AddMesh(p,a) (p)->lpVtbl->AddMesh(p,a)
2905 #define IDirect3DRMMeshBuilder3_AddMeshBuilder(p,a) (p)->lpVtbl->AddMeshBuilder(p,a)
2906 #define IDirect3DRMMeshBuilder3_AddFrame(p,a) (p)->lpVtbl->AddFrame(p,a)
2907 #define IDirect3DRMMeshBuilder3_AddFace(p,a) (p)->lpVtbl->AddFace(p,a)
2908 #define IDirect3DRMMeshBuilder3_AddFaces(p,a,b,c,d,e,f) (p)->lpVtbl->AddFaces(p,a,b,c,d,e,f)
2909 #define IDirect3DRMMeshBuilder3_ReserveSpace(p,a,b,c) (p)->lpVtbl->ReserveSpace(p,a,b,c)
2910 #define IDirect3DRMMeshBuilder3_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2911 #define IDirect3DRMMeshBuilder3_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2912 #define IDirect3DRMMeshBuilder3_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2913 #define IDirect3DRMMeshBuilder3_SetMateria(p,a) (p)->lpVtbl->SetMateria(p,a)
2914 #define IDirect3DRMMeshBuilder3_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2915 #define IDirect3DRMMeshBuilder3_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
2916 #define IDirect3DRMMeshBuilder3_SetPerspective(p,a) (p)->lpVtbl->SetPerspective(p,a)
2917 #define IDirect3DRMMeshBuilder3_SetVertex(p,a,b,c,d) (p)->lpVtbl->SetVertex(p,a,b,c,d)
2918 #define IDirect3DRMMeshBuilder3_SetNormal(p,a,b,c,d) (p)->lpVtbl->SetNormal(p,a,b,c,d)
2919 #define IDirect3DRMMeshBuilder3_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2920 #define IDirect3DRMMeshBuilder3_SetVertexColor(p,a,b) (p)->lpVtbl->SetVertexColor(p,a,b)
2921 #define IDirect3DRMMeshBuilder3_SetVertexColorRGB(p,a,b,c,d) (p)->lpVtbl->SetVertexColorRGB(p,a,b,c,d)
2922 #define IDirect3DRMMeshBuilder3_GetFaces(p,a) (p)->lpVtbl->GetFaces(p,a)
2923 #define IDirect3DRMMeshBuilder3_GetGeometry(p,a,b,c,d,e,f) (p)->lpVtbl->GetGeometry(p,a,b,c,d,e,f)
2924 #define IDirect3DRMMeshBuilder3_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2925 #define IDirect3DRMMeshBuilder3_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2926 #define IDirect3DRMMeshBuilder3_AddNormal(p,a,b,c) (p)->lpVtbl->AddNormal(p,a,b,c)
2927 #define IDirect3DRMMeshBuilder3_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
2928 #define IDirect3DRMMeshBuilder3_GetQuality(p) (p)->lpVtbl->GetQuality(p)
2929 #define IDirect3DRMMeshBuilder3_GetPerspective(p) (p)->lpVtbl->GetPerspective(p)
2930 #define IDirect3DRMMeshBuilder3_GetFaceCount(p) (p)->lpVtbl->GetFaceCount(p)
2931 #define IDirect3DRMMeshBuilder3_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2932 #define IDirect3DRMMeshBuilder3_GetVertexColor(p,a) (p)->lpVtbl->GetVertexColor(p,a)
2933 #define IDirect3DRMMeshBuilder3_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
2934 #define IDirect3DRMMeshBuilder3_GetFace(p,a,b) (p)->lpVtbl->GetFace(p,a,b)
2935 #define IDirect3DRMMeshBuilder3_GetVertex(p,a,b) (p)->lpVtbl->GetVertex(p,a,b)
2936 #define IDirect3DRMMeshBuilder3_GetNormal(p,a,b) (p)->lpVtbl->GetNormal(p,a,b)
2937 #define IDirect3DRMMeshBuilder3_DeleteVertices(p,a,b) (p)->lpVtbl->DeleteVertices(p,a,b)
2938 #define IDirect3DRMMeshBuilder3_DeleteNormals(p,a,b) (p)->lpVtbl->DeleteNormals(p,a,b)
2939 #define IDirect3DRMMeshBuilder3_DeleteFace(p,a) (p)->lpVtbl->DeleteFace(p,a)
2940 #define IDirect3DRMMeshBuilder3_Empty(p,a) (p)->lpVtbl->Empty(p,a)
2941 #define IDirect3DRMMeshBuilder3_Optimize(p,a) (p)->lpVtbl->Optimize(p,a)
2942 #define IDirect3DRMMeshBuilder3_AddFacesIndexed(p,a,b,c,d) (p)->lpVtbl->AddFacesIndexed(p,a,b,c,d)
2943 #define IDirect3DRMMeshBuilder3_CreateSubMesh(p,a) (p)->lpVtbl->CreateSubMesh(p,a)
2944 #define IDirect3DRMMeshBuilder3_GetParentMesh(p,a,b) (p)->lpVtbl->GetParentMesh(p,a,b)
2945 #define IDirect3DRMMeshBuilder3_GetSubMeshes(p,a,b) (p)->lpVtbl->GetSubMeshes(p,a,b)
2946 #define IDirect3DRMMeshBuilder3_DeleteSubMesh(p,a) (p)->lpVtbl->DeleteSubMesh(p,a)
2947 #define IDirect3DRMMeshBuilder3_Enable(p,a) (p)->lpVtbl->Enable(p,a)
2948 #define IDirect3DRMMeshBuilder3_AddTriangles(p,a,b,c,d) (p)->lpVtbl->AddTriangles(p,a,b,c,d)
2949 #define IDirect3DRMMeshBuilder3_SetVertices(p,a,b,c) (p)->lpVtbl->SetVertices(p,a,b,c)
2950 #define IDirect3DRMMeshBuilder3_GetVertices(p,a,b,c) (p)->lpVtbl->GetVertices(p,a,b,c)
2951 #define IDirect3DRMMeshBuilder3_SetNormals(p,a,b,c) (p)->lpVtbl->SetNormals(p,a,b,c)
2952 #define IDirect3DRMMeshBuilder3_GetNormals(p,a,b,c) (p)->lpVtbl->GetNormals(p,a,b,c)
2953 #define IDirect3DRMMeshBuilder3_GetNormalCount(p) (p)->lpVtbl->GetNormalCount(p,a)
2955 /*** IUnknown methods ***/
2956 #define IDirect3DRMMeshBuilder3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2957 #define IDirect3DRMMeshBuilder3_AddRef(p) (p)->AddRef()
2958 #define IDirect3DRMMeshBuilder3_Release(p) (p)->Release()
2959 /*** IDirect3DRMObject methods ***/
2960 #define IDirect3DRMMeshBuilder3_Clone(p,a,b,c) (p)->Clone(a,b,c)
2961 #define IDirect3DRMMeshBuilder3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2962 #define IDirect3DRMMeshBuilder3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2963 #define IDirect3DRMMeshBuilder3_SetAppData(p,a) (p)->SetAppData(a)
2964 #define IDirect3DRMMeshBuilder3_GetAppData(p) (p)->GetAppData()
2965 #define IDirect3DRMMeshBuilder3_SetName(p,a) (p)->SetName(a)
2966 #define IDirect3DRMMeshBuilder3_GetName(p,a,b) (p)->GetName(a,b)
2967 #define IDirect3DRMMeshBuilder3_GetClassName(p,a,b) (p)->GetClassName(a,b)
2968 /*** IDirect3DRMMeshBuilder3 methods ***/
2969 #define IDirect3DRMMeshBuilder3_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
2970 #define IDirect3DRMMeshBuilder3_Save(p,a,b,c) (p)->Save(a,b,c)
2971 #define IDirect3DRMMeshBuilder3_Scale(p,a,b,c) (p)->Scale(a,b,c)
2972 #define IDirect3DRMMeshBuilder3_Translate(p,a,b,c) (p)->Translate(a)
2973 #define IDirect3DRMMeshBuilder3_SetColorSource(p,a) (p)->SetColorSource(a,b,c)
2974 #define IDirect3DRMMeshBuilder3_GetBox(p,a) (p)->GetBox(a)
2975 #define IDirect3DRMMeshBuilder3_GenerateNormals(p,a,b) (p)->GenerateNormals(a,b)
2976 #define IDirect3DRMMeshBuilder3_GetColorSource(p) (p)->GetColorSource()
2977 #define IDirect3DRMMeshBuilder3_AddMesh(p,a) (p)-->AddMesh(a)
2978 #define IDirect3DRMMeshBuilder3_AddMeshBuilder(p,a) (p)->AddMeshBuilder(a)
2979 #define IDirect3DRMMeshBuilder3_AddFrame(p,a) (p)->AddFrame(a)
2980 #define IDirect3DRMMeshBuilder3_AddFace(p,a) (p)->AddFace(a)
2981 #define IDirect3DRMMeshBuilder3_AddFaces(p,a,b,c,d,e,f) (p)->AddFaces(a,b,c,d,e,f)
2982 #define IDirect3DRMMeshBuilder3_ReserveSpace(p,a,b,c) (p)->ReserveSpace(a,b,c)
2983 #define IDirect3DRMMeshBuilder3_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
2984 #define IDirect3DRMMeshBuilder3_SetColor(p,a) (p)->SetColor(a)
2985 #define IDirect3DRMMeshBuilder3_SetTexture(p,a) (p)->SetTexture(a)
2986 #define IDirect3DRMMeshBuilder3_SetMateria(p,a) (p)->SetMateria(a)
2987 #define IDirect3DRMMeshBuilder3_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
2988 #define IDirect3DRMMeshBuilder3_SetQuality(p,a) (p)->SetQuality(a)
2989 #define IDirect3DRMMeshBuilder3_SetPerspective(p,a) (p)->SetPerspective(a)
2990 #define IDirect3DRMMeshBuilder3_SetVertex(p,a,b,c,d) (p)->SetVertex(a,b,c,d)
2991 #define IDirect3DRMMeshBuilder3_SetNormal(p,a,b,c,d) (p)->SetNormal(a,b,c,d)
2992 #define IDirect3DRMMeshBuilder3_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
2993 #define IDirect3DRMMeshBuilder3_SetVertexColor(p,a,b) (p)->SetVertexColor(a,b)
2994 #define IDirect3DRMMeshBuilder3_SetVertexColorRGB(p,a,b,c,d) (p)->SetVertexColorRGB(a,b,c,d)
2995 #define IDirect3DRMMeshBuilder3_GetFaces(p,a) (p)->GetFaces(a)
2996 #define IDirect3DRMMeshBuilder3_GetGeometry(p,a,b,c,d,e,f) (p)->GetGeometry(a,b,c,d,e,f)
2997 #define IDirect3DRMMeshBuilder3_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
2998 #define IDirect3DRMMeshBuilder3_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
2999 #define IDirect3DRMMeshBuilder3_AddNormal(p,a,b,c) (p)->AddNormal(a,b,c)
3000 #define IDirect3DRMMeshBuilder3_CreateFace(p,a) (p)->CreateFace(a)
3001 #define IDirect3DRMMeshBuilder3_GetQuality(p) (p)->GetQuality()
3002 #define IDirect3DRMMeshBuilder3_GetPerspective(p) (p)->GetPerspective()
3003 #define IDirect3DRMMeshBuilder3_GetFaceCount(p) (p)->GetFaceCount()
3004 #define IDirect3DRMMeshBuilder3_GetVertexCount(p) (p)->GetVertexCount()
3005 #define IDirect3DRMMeshBuilder3_GetVertexColor(p,a) (p)->GetVertexColor(a)
3006 #define IDirect3DRMMeshBuilder3_CreateMesh(p,a) (p)->CreateMesh(a)
3007 #define IDirect3DRMMeshBuilder3_GetFace(p,a,b) (p)->GetFace(p,a,b)
3008 #define IDirect3DRMMeshBuilder3_GetVertex(p,a,b) (p)->GetVertex(p,a,b)
3009 #define IDirect3DRMMeshBuilder3_GetNormal(p,a,b) (p)->GetNormal(p,a,b)
3010 #define IDirect3DRMMeshBuilder3_DeleteVertices(p,a,b) (p)->DeleteVertices(p,a,b)
3011 #define IDirect3DRMMeshBuilder3_DeleteNormals(p,a,b) (p)->DeleteNormals(p,a,b)
3012 #define IDirect3DRMMeshBuilder3_DeleteFace(p,a) (p)->DeleteFace(p,a)
3013 #define IDirect3DRMMeshBuilder3_Empty(p,a) (p)->Empty(p,a)
3014 #define IDirect3DRMMeshBuilder3_Optimize(p,a) (p)->Optimize(p,a)
3015 #define IDirect3DRMMeshBuilder3_AddFacesIndexed(p,a,b,c,d) (p)->AddFacesIndexed(p,a,b,c,d)
3016 #define IDirect3DRMMeshBuilder3_CreateSubMesh(p,a) (p)->CreateSubMesh(p,a)
3017 #define IDirect3DRMMeshBuilder3_GetParentMesh(p,a,b) (p)->GetParentMesh(p,a,b)
3018 #define IDirect3DRMMeshBuilder3_GetSubMeshes(p,a,b) (p)->GetSubMeshes(p,a,b)
3019 #define IDirect3DRMMeshBuilder3_DeleteSubMesh(p,a) (p)->DeleteSubMesh(p,a)
3020 #define IDirect3DRMMeshBuilder3_Enable(p,a) (p)->Enable(p,a)
3021 #define IDirect3DRMMeshBuilder3_AddTriangles(p,a,b,c,d) (p)->AddTriangles(p,a,b,c,d)
3022 #define IDirect3DRMMeshBuilder3_SetVertices(p,a,b,c) (p)->SetVertices(p,a,b,c)
3023 #define IDirect3DRMMeshBuilder3_GetVertices(p,a,b,c) (p)->GetVertices(p,a,b,c)
3024 #define IDirect3DRMMeshBuilder3_SetNormals(p,a,b,c) (p)->SetNormals(p,a,b,c)
3025 #define IDirect3DRMMeshBuilder3_GetNormals(p,a,b,c) (p)->GetNormals(p,a,b,c)
3026 #define IDirect3DRMMeshBuilder3_GetNormalCount(p) (p)->GetNormalCount(p,a)
3033 #endif /* __D3DRMOBJ_H__ */