VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/d3drmobj.h@ 33282

Last change on this file since 33282 was 28475, checked in by vboxsync, 15 years ago

crOpenGL: update to wine 1.1.43

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

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette