mmdevapi: Add return value which happens on wow64 and pure 64-bit.
[wine/multimedia.git] / include / d3drmobj.h
blobd0c8367de6820310d3c36f7ac66146e42da66e72
1 /*
2 * Copyright (C) 2008 Vijay Kiran Kamuju
3 * Copyright (C) 2010 Christian Costa
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #ifndef __D3DRMOBJ_H__
21 #define __D3DRMOBJ_H__
23 #include <objbase.h>
24 #define VIRTUAL
25 #include <d3drmdef.h>
26 #include <d3d.h>
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
32 /*****************************************************************************
33 * Predeclare the interfaces
36 DEFINE_GUID(IID_IDirect3DRMObject, 0xeb16cb00, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
37 DEFINE_GUID(IID_IDirect3DRMObject2, 0x4516ec7c, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
38 DEFINE_GUID(IID_IDirect3DRMDevice, 0xe9e19280, 0x6e05, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
39 DEFINE_GUID(IID_IDirect3DRMDevice2, 0x4516ec78, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
40 DEFINE_GUID(IID_IDirect3DRMDevice3, 0x549f498b, 0xbfeb, 0x11d1, 0x8e, 0xd8, 0x00, 0xa0, 0xc9, 0x67, 0xa4, 0x82);
41 DEFINE_GUID(IID_IDirect3DRMViewport, 0xeb16cb02, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
42 DEFINE_GUID(IID_IDirect3DRMViewport2, 0x4a1b1be6, 0xbfed, 0x11d1, 0x8e, 0xd8, 0x00, 0xa0, 0xc9, 0x67, 0xa4, 0x82);
43 DEFINE_GUID(IID_IDirect3DRMFrame, 0xeb16cb03, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
44 DEFINE_GUID(IID_IDirect3DRMFrame2, 0xc3dfbd60, 0x3988, 0x11d0, 0x9e, 0xc2, 0x00, 0x00, 0xc0, 0x29, 0x1a, 0xc3);
45 DEFINE_GUID(IID_IDirect3DRMFrame3, 0xff6b7f70, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
46 DEFINE_GUID(IID_IDirect3DRMVisual, 0xeb16cb04, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
47 DEFINE_GUID(IID_IDirect3DRMMesh, 0xa3a80d01, 0x6e12, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
48 DEFINE_GUID(IID_IDirect3DRMMeshBuilder, 0xa3a80d02, 0x6e12, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
49 DEFINE_GUID(IID_IDirect3DRMMeshBuilder2, 0x4516ec77, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
50 DEFINE_GUID(IID_IDirect3DRMMeshBuilder3, 0x4516ec82, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
51 DEFINE_GUID(IID_IDirect3DRMFace, 0xeb16cb07, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
52 DEFINE_GUID(IID_IDirect3DRMFace2, 0x4516ec81, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
53 DEFINE_GUID(IID_IDirect3DRMLight, 0xeb16cb08, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
54 DEFINE_GUID(IID_IDirect3DRMTexture, 0xeb16cb09, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
55 DEFINE_GUID(IID_IDirect3DRMTexture2, 0x120f30c0, 0x1629, 0x11d0, 0x94, 0x1c, 0x00, 0x80, 0xc8, 0x0c, 0xfa, 0x7b);
56 DEFINE_GUID(IID_IDirect3DRMTexture3, 0xff6b7f73, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
57 DEFINE_GUID(IID_IDirect3DRMWrap, 0xeb16cb0a, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
58 DEFINE_GUID(IID_IDirect3DRMMaterial, 0xeb16cb0b, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
59 DEFINE_GUID(IID_IDirect3DRMMaterial2, 0xff6b7f75, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
60 DEFINE_GUID(IID_IDirect3DRMAnimation, 0xeb16cb0d, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
61 DEFINE_GUID(IID_IDirect3DRMAnimation2, 0xff6b7f77, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
62 DEFINE_GUID(IID_IDirect3DRMAnimationSet, 0xeb16cb0e, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
63 DEFINE_GUID(IID_IDirect3DRMAnimationSet2, 0xff6b7f79, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
64 DEFINE_GUID(IID_IDirect3DRMObjectArray, 0x242f6bc2, 0x3849, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
65 DEFINE_GUID(IID_IDirect3DRMDeviceArray, 0xeb16cb10, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
66 DEFINE_GUID(IID_IDirect3DRMViewportArray, 0xeb16cb11, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
67 DEFINE_GUID(IID_IDirect3DRMFrameArray, 0xeb16cb12, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
68 DEFINE_GUID(IID_IDirect3DRMVisualArray, 0xeb16cb13, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
69 DEFINE_GUID(IID_IDirect3DRMLightArray, 0xeb16cb14, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
70 DEFINE_GUID(IID_IDirect3DRMPickedArray, 0xeb16cb16, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
71 DEFINE_GUID(IID_IDirect3DRMFaceArray, 0xeb16cb17, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
72 DEFINE_GUID(IID_IDirect3DRMAnimationArray, 0xd5f1cae0, 0x4bd7, 0x11d1, 0xb9, 0x74, 0x00, 0x60, 0x08, 0x3e, 0x45, 0xf3);
73 DEFINE_GUID(IID_IDirect3DRMUserVisual, 0x59163de0, 0x6d43, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
74 DEFINE_GUID(IID_IDirect3DRMShadow, 0xaf359780, 0x6ba3, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
75 DEFINE_GUID(IID_IDirect3DRMShadow2, 0x86b44e25, 0x9c82, 0x11d1, 0xbb, 0x0b, 0x00, 0xa0, 0xc9, 0x81, 0xa0, 0xa6);
76 DEFINE_GUID(IID_IDirect3DRMInterpolator, 0x242f6bc1, 0x3849, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
77 DEFINE_GUID(IID_IDirect3DRMProgressiveMesh, 0x4516ec79, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
78 DEFINE_GUID(IID_IDirect3DRMPicked2Array, 0x4516ec7b, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
79 DEFINE_GUID(IID_IDirect3DRMClippedVisual, 0x5434e733, 0x6d66, 0x11d1, 0xbb, 0x0b, 0x00, 0x00, 0xf8, 0x75, 0x86, 0x5a);
81 typedef struct IDirect3DRMObject *LPDIRECT3DRMOBJECT, **LPLPDIRECT3DRMOBJECT;
82 typedef struct IDirect3DRMObject2 *LPDIRECT3DRMOBJECT2, **LPLPDIRECT3DRMOBJECT2;
83 typedef struct IDirect3DRMDevice *LPDIRECT3DRMDEVICE, **LPLPDIRECT3DRMDEVICE;
84 typedef struct IDirect3DRMDevice2 *LPDIRECT3DRMDEVICE2, **LPLPDIRECT3DRMDEVICE2;
85 typedef struct IDirect3DRMDevice3 *LPDIRECT3DRMDEVICE3, **LPLPDIRECT3DRMDEVICE3;
86 typedef struct IDirect3DRMViewport *LPDIRECT3DRMVIEWPORT, **LPLPDIRECT3DRMVIEWPORT;
87 typedef struct IDirect3DRMViewport2 *LPDIRECT3DRMVIEWPORT2, **LPLPDIRECT3DRMVIEWPORT2;
88 typedef struct IDirect3DRMFrame *LPDIRECT3DRMFRAME, **LPLPDIRECT3DRMFRAME;
89 typedef struct IDirect3DRMFrame2 *LPDIRECT3DRMFRAME2, **LPLPDIRECT3DRMFRAME2;
90 typedef struct IDirect3DRMFrame3 *LPDIRECT3DRMFRAME3, **LPLPDIRECT3DRMFRAME3;
91 typedef struct IDirect3DRMVisual *LPDIRECT3DRMVISUAL, **LPLPDIRECT3DRMVISUAL;
92 typedef struct IDirect3DRMMesh *LPDIRECT3DRMMESH, **LPLPDIRECT3DRMMESH;
93 typedef struct IDirect3DRMMeshBuilder *LPDIRECT3DRMMESHBUILDER, **LPLPDIRECT3DRMMESHBUILDER;
94 typedef struct IDirect3DRMMeshBuilder2 *LPDIRECT3DRMMESHBUILDER2, **LPLPDIRECT3DRMMESHBUILDER2;
95 typedef struct IDirect3DRMMeshBuilder3 *LPDIRECT3DRMMESHBUILDER3, **LPLPDIRECT3DRMMESHBUILDER3;
96 typedef struct IDirect3DRMFace *LPDIRECT3DRMFACE, **LPLPDIRECT3DRMFACE;
97 typedef struct IDirect3DRMFace2 *LPDIRECT3DRMFACE2, **LPLPDIRECT3DRMFACE2;
98 typedef struct IDirect3DRMLight *LPDIRECT3DRMLIGHT, **LPLPDIRECT3DRMLIGHT;
99 typedef struct IDirect3DRMTexture *LPDIRECT3DRMTEXTURE, **LPLPDIRECT3DRMTEXTURE;
100 typedef struct IDirect3DRMTexture2 *LPDIRECT3DRMTEXTURE2, **LPLPDIRECT3DRMTEXTURE2;
101 typedef struct IDirect3DRMTexture3 *LPDIRECT3DRMTEXTURE3, **LPLPDIRECT3DRMTEXTURE3;
102 typedef struct IDirect3DRMWrap *LPDIRECT3DRMWRAP, **LPLPDIRECT3DRMWRAP;
103 typedef struct IDirect3DRMMaterial *LPDIRECT3DRMMATERIAL, **LPLPDIRECT3DRMMATERIAL;
104 typedef struct IDirect3DRMMaterial2 *LPDIRECT3DRMMATERIAL2, **LPLPDIRECT3DRMMATERIAL2;
105 typedef struct IDirect3DRMAnimation *LPDIRECT3DRMANIMATION, **LPLPDIRECT3DRMANIMATION;
106 typedef struct IDirect3DRMAnimation2 *LPDIRECT3DRMANIMATION2, **LPLPDIRECT3DRMANIMATION2;
107 typedef struct IDirect3DRMAnimationSet *LPDIRECT3DRMANIMATIONSET, **LPLPDIRECT3DRMANIMATIONSET;
108 typedef struct IDirect3DRMAnimationSet2 *LPDIRECT3DRMANIMATIONSET2, **LPLPDIRECT3DRMANIMATIONSET2;
109 typedef struct IDirect3DRMUserVisual *LPDIRECT3DRMUSERVISUAL, **LPLPDIRECT3DRMUSERVISUAL;
110 typedef struct IDirect3DRMShadow *LPDIRECT3DRMSHADOW, **LPLPDIRECT3DRMSHADOW;
111 typedef struct IDirect3DRMShadow2 *LPDIRECT3DRMSHADOW2, **LPLPDIRECT3DRMSHADOW2;
112 typedef struct IDirect3DRMArray *LPDIRECT3DRMARRAY, **LPLPDIRECT3DRMARRAY;
113 typedef struct IDirect3DRMObjectArray *LPDIRECT3DRMOBJECTARRAY, **LPLPDIRECT3DRMOBJECTARRAY;
114 typedef struct IDirect3DRMDeviceArray *LPDIRECT3DRMDEVICEARRAY, **LPLPDIRECT3DRMDEVICEARRAY;
115 typedef struct IDirect3DRMFaceArray *LPDIRECT3DRMFACEARRAY, **LPLPDIRECT3DRMFACEARRAY;
116 typedef struct IDirect3DRMViewportArray *LPDIRECT3DRMVIEWPORTARRAY, **LPLPDIRECT3DRMVIEWPORTARRAY;
117 typedef struct IDirect3DRMFrameArray *LPDIRECT3DRMFRAMEARRAY, **LPLPDIRECT3DRMFRAMEARRAY;
118 typedef struct IDirect3DRMAnimationArray *LPDIRECT3DRMANIMATIONARRAY, **LPLPDIRECT3DRMANIMATIONARRAY;
119 typedef struct IDirect3DRMVisualArray *LPDIRECT3DRMVISUALARRAY, **LPLPDIRECT3DRMVISUALARRAY;
120 typedef struct IDirect3DRMPickedArray *LPDIRECT3DRMPICKEDARRAY, **LPLPDIRECT3DRMPICKEDARRAY;
121 typedef struct IDirect3DRMPicked2Array *LPDIRECT3DRMPICKED2ARRAY, **LPLPDIRECT3DRMPICKED2ARRAY;
122 typedef struct IDirect3DRMLightArray *LPDIRECT3DRMLIGHTARRAY, **LPLPDIRECT3DRMLIGHTARRAY;
123 typedef struct IDirect3DRMProgressiveMesh *LPDIRECT3DRMPROGRESSIVEMESH, **LPLPDIRECT3DRMPROGRESSIVEMESH;
124 typedef struct IDirect3DRMClippedVisual *LPDIRECT3DRMCLIPPEDVISUAL, **LPLPDIRECT3DRMCLIPPEDVISUAL;
126 /* ********************************************************************
127 Types and structures
128 ******************************************************************** */
130 typedef void (__cdecl *D3DRMOBJECTCALLBACK)(LPDIRECT3DRMOBJECT obj, LPVOID arg);
131 typedef void (__cdecl *D3DRMFRAMEMOVECALLBACK)(LPDIRECT3DRMFRAME obj, LPVOID arg, D3DVALUE delta);
132 typedef void (__cdecl *D3DRMFRAME3MOVECALLBACK)(LPDIRECT3DRMFRAME3 obj, LPVOID arg, D3DVALUE delta);
133 typedef void (__cdecl *D3DRMUPDATECALLBACK)(LPDIRECT3DRMDEVICE obj, LPVOID arg, int, LPD3DRECT);
134 typedef void (__cdecl *D3DRMDEVICE3UPDATECALLBACK)(LPDIRECT3DRMDEVICE3 obj, LPVOID arg, int, LPD3DRECT);
135 typedef int (__cdecl *D3DRMUSERVISUALCALLBACK)(LPDIRECT3DRMUSERVISUAL obj, LPVOID arg,
136 D3DRMUSERVISUALREASON reason, LPDIRECT3DRMDEVICE dev, LPDIRECT3DRMVIEWPORT view);
137 typedef HRESULT (__cdecl *D3DRMLOADTEXTURECALLBACK)(char *tex_name, void *arg, LPDIRECT3DRMTEXTURE *);
138 typedef HRESULT (__cdecl *D3DRMLOADTEXTURE3CALLBACK)(char *tex_name, void *arg, LPDIRECT3DRMTEXTURE3 *);
139 typedef void (__cdecl *D3DRMLOADCALLBACK)(LPDIRECT3DRMOBJECT object, REFIID objectguid, LPVOID arg);
140 typedef HRESULT (__cdecl *D3DRMDOWNSAMPLECALLBACK)(LPDIRECT3DRMTEXTURE3 lpDirect3DRMTexture, LPVOID pArg,
141 LPDIRECTDRAWSURFACE pDDSSrc, LPDIRECTDRAWSURFACE pDDSDst);
142 typedef HRESULT (__cdecl *D3DRMVALIDATIONCALLBACK)(LPDIRECT3DRMTEXTURE3 lpDirect3DRMTexture, LPVOID pArg,
143 DWORD dwFlags, DWORD dwcRects, LPRECT pRects);
145 typedef struct _D3DRMPICKDESC
147 ULONG ulFaceIdx;
148 LONG lGroupIdx;
149 D3DVECTOR vPosition;
150 } D3DRMPICKDESC, *LPD3DRMPICKDESC;
152 typedef struct _D3DRMPICKDESC2
154 ULONG ulFaceIdx;
155 LONG lGroupIdx;
156 D3DVECTOR vPosition;
157 D3DVALUE tu;
158 D3DVALUE tv;
159 D3DVECTOR dvNormal;
160 D3DCOLOR dcColor;
161 } D3DRMPICKDESC2, *LPD3DRMPICKDESC2;
163 /*****************************************************************************
164 * IDirect3DRMObject interface
166 #ifdef WINE_NO_UNICODE_MACROS
167 #undef GetClassName
168 #endif
169 #define INTERFACE IDirect3DRMObject
170 DECLARE_INTERFACE_(IDirect3DRMObject,IUnknown)
172 /*** IUnknown methods ***/
173 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
174 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
175 STDMETHOD_(ULONG,Release)(THIS) PURE;
176 /*** IDirect3DRMObject methods ***/
177 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
178 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
179 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
180 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
181 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
182 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
183 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
184 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
186 #undef INTERFACE
188 #if !defined(__cplusplus) || defined(CINTERFACE)
189 /*** IUnknown methods ***/
190 #define IDirect3DRMObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
191 #define IDirect3DRMObject_AddRef(p) (p)->lpVtbl->AddRef(p)
192 #define IDirect3DRMObject_Release(p) (p)->lpVtbl->Release(p)
193 /*** IDirect3DRMObject methods ***/
194 #define IDirect3DRMObject_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
195 #define IDirect3DRMObject_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
196 #define IDirect3DRMObject_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
197 #define IDirect3DRMObject_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
198 #define IDirect3DRMObject_GetAppData(p) (p)->lpVtbl->GetAppData(p)
199 #define IDirect3DRMObject_SetName(p,a) (p)->lpVtbl->SetName(p,a)
200 #define IDirect3DRMObject_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
201 #define IDirect3DRMObject_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
202 #else
203 /*** IUnknown methods ***/
204 #define IDirect3DRMObject_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
205 #define IDirect3DRMObject_AddRef(p) (p)->AddRef()
206 #define IDirect3DRMObject_Release(p) (p)->Release()
207 /*** IDirect3DRMObject methods ***/
208 #define IDirect3DRMObject_Clone(p,a,b,c) (p)->Clone(a,b,c)
209 #define IDirect3DRMObject_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
210 #define IDirect3DRMObject_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
211 #define IDirect3DRMObject_SetAppData(p,a) (p)->SetAppData(a)
212 #define IDirect3DRMObject_GetAppData(p) (p)->GetAppData()
213 #define IDirect3DRMObject_SetName(p,a) (p)->SetName(a)
214 #define IDirect3DRMObject_GetName(p,a,b) (p)->GetName(a,b)
215 #define IDirect3DRMObject_GetClassName(p,a,b) (p)->GetClassName(a,b)
216 #endif
218 /*****************************************************************************
219 * IDirect3DRMObject2 interface
221 #ifdef WINE_NO_UNICODE_MACROS
222 #undef GetClassName
223 #endif
224 #define INTERFACE IDirect3DRMObject2
225 DECLARE_INTERFACE_(IDirect3DRMObject2,IUnknown)
227 /*** IUnknown methods ***/
228 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
229 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
230 STDMETHOD_(ULONG,Release)(THIS) PURE;
231 /*** IDirect3DRMObject2 methods ***/
232 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
233 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
234 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
235 STDMETHOD(GetClientData)(THIS_ DWORD id, LPVOID* ppData) PURE;
236 STDMETHOD(GetDirect3DRM)(THIS_ LPDIRECT3DRM* ppDirect3DRM) PURE;
237 STDMETHOD(GetName)(THIS_ LPDWORD pSize, LPSTR pName) PURE;
238 STDMETHOD(SetClientData)(THIS_ DWORD id, LPVOID pData, DWORD flags) PURE;
239 STDMETHOD(SetName)(THIS_ LPCSTR pName) PURE;
240 STDMETHOD(GetAge)(THIS_ DWORD flags, LPDWORD pAge) PURE;
242 #undef INTERFACE
244 #if !defined(__cplusplus) || defined(CINTERFACE)
245 /*** IUnknown methods ***/
246 #define IDirect3DRMObject2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
247 #define IDirect3DRMObject2_AddRef(p) (p)->lpVtbl->AddRef(p)
248 #define IDirect3DRMObject2_Release(p) (p)->lpVtbl->Release(p)
249 /*** IDirect3DRMObject2 methods ***/
250 #define IDirect3DRMObject2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
251 #define IDirect3DRMObject2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
252 #define IDirect3DRMObject2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
253 #define IDirect3DRMObject2_GetClientData(p,a,b) (p)->lpVtbl->SetClientData(p,a,b)
254 #define IDirect3DRMObject2_GetDirect3DRM(p,a) (p)->lpVtbl->GetDirect3DRM(p,a)
255 #define IDirect3DRMObject2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
256 #define IDirect3DRMObject2_SetClientData(p,a,b,c) (p)->lpVtbl->SetClientData(p,a,b,c)
257 #define IDirect3DRMObject2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
258 #define IDirect3DRMObject2_GetAge(p,a,b) (p)->lpVtbl->GetAge(p,a,b)
259 #else
260 /*** IUnknown methods ***/
261 #define IDirect3DRMObject2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
262 #define IDirect3DRMObject2_AddRef(p) (p)->AddRef()
263 #define IDirect3DRMObject2_Release(p) (p)->Release()
264 /*** IDirect3DRMObject2 methods ***/
265 #define IDirect3DRMObject2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
266 #define IDirect3DRMObject2_Clone(p,a,b,c) (p)->Clone(a,b,c)
267 #define IDirect3DRMObject2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
268 #define IDirect3DRMObject2_GetClientData(p,a,b) (p)->SetClientData(a,b)
269 #define IDirect3DRMObject2_GetDirect3DRM(p,a) (p)->GetDirect3DRM(a)
270 #define IDirect3DRMObject2_GetName(p,a,b) (p)->GetName(a,b)
271 #define IDirect3DRMObject2_SetClientData(p,a,b,c) (p)->SetClientData(a,b,c)
272 #define IDirect3DRMObject2_SetName(p,a) (p)->SetName(a)
273 #define IDirect3DRMObject2_GetAge(p,a,b) (p)->GetAge(a,b)
274 #endif
276 /*****************************************************************************
277 * IDirect3DRMVisual interface
279 #define INTERFACE IDirect3DRMVisual
280 DECLARE_INTERFACE_(IDirect3DRMVisual,IDirect3DRMObject)
282 /*** IUnknown methods ***/
283 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
284 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
285 STDMETHOD_(ULONG,Release)(THIS) PURE;
286 /*** IDirect3DRMObject methods ***/
287 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
288 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
289 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
290 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
291 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
292 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
293 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
294 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
296 #undef INTERFACE
298 #if !defined(__cplusplus) || defined(CINTERFACE)
299 /*** IUnknown methods ***/
300 #define IDirect3DRMVisual_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
301 #define IDirect3DRMVisual_AddRef(p) (p)->lpVtbl->AddRef(p)
302 #define IDirect3DRMVisual_Release(p) (p)->lpVtbl->Release(p)
303 /*** IDirect3DRMObject methods ***/
304 #define IDirect3DRMVisual_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
305 #define IDirect3DRMVisual_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
306 #define IDirect3DRMVisual_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
307 #define IDirect3DRMVisual_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
308 #define IDirect3DRMVisual_GetAppData(p) (p)->lpVtbl->GetAppData(p)
309 #define IDirect3DRMVisual_SetName(p,a) (p)->lpVtbl->SetName(p,a)
310 #define IDirect3DRMVisual_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
311 #define IDirect3DRMVisual_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
312 #else
313 /*** IUnknown methods ***/
314 #define IDirect3DRMVisual_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
315 #define IDirect3DRMVisual_AddRef(p) (p)->AddRef()
316 #define IDirect3DRMVisual_Release(p) (p)->Release()
317 /*** IDirect3DRMObject methods ***/
318 #define IDirect3DRMVisual_Clone(p,a,b,c) (p)->Clone(a,b,c)
319 #define IDirect3DRMVisual_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
320 #define IDirect3DRMVisual_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
321 #define IDirect3DRMVisual_SetAppData(p,a) (p)->SetAppData(a)
322 #define IDirect3DRMVisual_GetAppData(p) (p)->GetAppData()
323 #define IDirect3DRMVisual_SetName(p,a) (p)->SetName(a)
324 #define IDirect3DRMVisual_GetName(p,a,b) (p)->GetName(a,b)
325 #define IDirect3DRMVisual_GetClassName(p,a,b) (p)->GetClassName(a,b)
326 #endif
328 /*****************************************************************************
329 * IDirect3DRMDevice interface
331 #ifdef WINE_NO_UNICODE_MACROS
332 #undef GetClassName
333 #endif
334 #define INTERFACE IDirect3DRMDevice
335 DECLARE_INTERFACE_(IDirect3DRMDevice,IUnknown)
337 /*** IUnknown methods ***/
338 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
339 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
340 STDMETHOD_(ULONG,Release)(THIS) PURE;
341 /*** IDirect3DRMObject methods ***/
342 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
343 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
344 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
345 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
346 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
347 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
348 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
349 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
350 /*** IDirect3DRMDevice methods ***/
351 STDMETHOD(Init)(THIS_ ULONG width, ULONG height) PURE;
352 STDMETHOD(InitFromD3D)(THIS_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev) PURE;
353 STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height) PURE;
354 STDMETHOD(Update)(THIS) PURE;
355 STDMETHOD(AddUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
356 STDMETHOD(DeleteUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
357 STDMETHOD(SetBufferCount)(THIS_ DWORD) PURE;
358 STDMETHOD_(DWORD, GetBufferCount)(THIS) PURE;
359 STDMETHOD(SetDither)(THIS_ BOOL) PURE;
360 STDMETHOD(SetShades)(THIS_ DWORD) PURE;
361 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
362 STDMETHOD(SetTextureQuality)(THIS_ D3DRMTEXTUREQUALITY) PURE;
363 STDMETHOD(GetViewports)(THIS_ LPDIRECT3DRMVIEWPORTARRAY *return_views) PURE;
364 STDMETHOD_(BOOL, GetDither)(THIS) PURE;
365 STDMETHOD_(DWORD, GetShades)(THIS) PURE;
366 STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
367 STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
368 STDMETHOD_(DWORD, GetTrianglesDrawn)(THIS) PURE;
369 STDMETHOD_(DWORD, GetWireframeOptions)(THIS) PURE;
370 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
371 STDMETHOD_(D3DCOLORMODEL, GetColorModel)(THIS) PURE;
372 STDMETHOD_(D3DRMTEXTUREQUALITY, GetTextureQuality)(THIS) PURE;
373 STDMETHOD(GetDirect3DDevice)(THIS_ LPDIRECT3DDEVICE *) PURE;
375 #undef INTERFACE
377 #if !defined(__cplusplus) || defined(CINTERFACE)
378 /*** IUnknown methods ***/
379 #define IDirect3DRMDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
380 #define IDirect3DRMDevice_AddRef(p) (p)->lpVtbl->AddRef(p)
381 #define IDirect3DRMDevice_Release(p) (p)->lpVtbl->Release(p)
382 /*** IDirect3DRMObject methods ***/
383 #define IDirect3DRMDevice_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
384 #define IDirect3DRMDevice_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
385 #define IDirect3DRMDevice_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
386 #define IDirect3DRMDevice_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
387 #define IDirect3DRMDevice_GetAppData(p) (p)->lpVtbl->GetAppData(p)
388 #define IDirect3DRMDevice_SetName(p,a) (p)->lpVtbl->SetName(p,a)
389 #define IDirect3DRMDevice_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
390 #define IDirect3DRMDevice_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
391 /*** IDirect3DRMDevice methods ***/
392 #define IDirect3DRMDevice_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
393 #define IDirect3DRMDevice_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
394 #define IDirect3DRMDevice_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
395 #define IDirect3DRMDevice_Update(p) (p)->lpVtbl->Update(p)
396 #define IDirect3DRMDevice_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
397 #define IDirect3DRMDevice_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b)
398 #define IDirect3DRMDevice_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
399 #define IDirect3DRMDevice_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
400 #define IDirect3DRMDevice_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
401 #define IDirect3DRMDevice_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
402 #define IDirect3DRMDevice_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
403 #define IDirect3DRMDevice_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
404 #define IDirect3DRMDevice_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
405 #define IDirect3DRMDevice_GetDither(p) (p)->lpVtbl->GetDither(p)
406 #define IDirect3DRMDevice_GetShades(p) (p)->lpVtbl->GetShades(p)
407 #define IDirect3DRMDevice_GetHeight(p) (p)->lpVtbl->GetHeight(p)
408 #define IDirect3DRMDevice_GetWidth(p) (p)->lpVtbl->GetWidth(p)
409 #define IDirect3DRMDevice_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
410 #define IDirect3DRMDevice_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
411 #define IDirect3DRMDevice_GetQuality(p) (p)->lpVtbl->GetQuality(p)
412 #define IDirect3DRMDevice_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
413 #define IDirect3DRMDevice_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
414 #define IDirect3DRMDevice_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
415 #else
416 /*** IUnknown methods ***/
417 #define IDirect3DRMDevice_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
418 #define IDirect3DRMDevice_AddRef(p) (p)->AddRef()
419 #define IDirect3DRMDevice_Release(p) (p)->Release()
420 /*** IDirect3DRMObject methods ***/
421 #define IDirect3DRMDevice_Clone(p,a,b,c) (p)->Clone(a,b,c)
422 #define IDirect3DRMDevice_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
423 #define IDirect3DRMDevice_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
424 #define IDirect3DRMDevice_SetAppData(p,a) (p)->SetAppData(a)
425 #define IDirect3DRMDevice_GetAppData(p) (p)->GetAppData()
426 #define IDirect3DRMDevice_SetName(p,a) (p)->SetName(a)
427 #define IDirect3DRMDevice_GetName(p,a,b) (p)->GetName(a,b)
428 #define IDirect3DRMDevice_GetClassName(p,a,b) (p)->GetClassName(a,b)
429 /*** IDirect3DRMDevice methods ***/
430 #define IDirect3DRMDevice_Init(p,a,b) (p)->Init(a,b)
431 #define IDirect3DRMDevice_InitFromD3D(p,a,b) (p)->InitFromD3D(a,b)
432 #define IDirect3DRMDevice_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(a,b,c,d)
433 #define IDirect3DRMDevice_Update(p) (p)->Update()
434 #define IDirect3DRMDevice_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(a,b)
435 #define IDirect3DRMDevice_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(a,b)
436 #define IDirect3DRMDevice_SetBufferCount(p,a) (p)->SetBufferCount(a)
437 #define IDirect3DRMDevice_GetBufferCount(p) (p)->GetBufferCount()
438 #define IDirect3DRMDevice_SetDither(p,a) (p)->SetDither(a)
439 #define IDirect3DRMDevice_SetShades(p,a) (p)->SetShades(a)
440 #define IDirect3DRMDevice_SetQuality(p,a) (p)->SetQuality(a)
441 #define IDirect3DRMDevice_SetTextureQuality(p,a) (p)->SetTextureQuality(a)
442 #define IDirect3DRMDevice_GetViewports(p,a) (p)->GetViewports(a)
443 #define IDirect3DRMDevice_GetDither(p) (p)->GetDither()
444 #define IDirect3DRMDevice_GetShades(p) (p)->GetShades()
445 #define IDirect3DRMDevice_GetHeight(p) (p)->GetHeight()
446 #define IDirect3DRMDevice_GetWidth(p) (p)->GetWidth()
447 #define IDirect3DRMDevice_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn()
448 #define IDirect3DRMDevice_GetWireframeOptions(p) (p)->GetWireframeOptions()
449 #define IDirect3DRMDevice_GetQuality(p) (p)->GetQuality()
450 #define IDirect3DRMDevice_GetColorModel(p) (p)->GetColorModel()
451 #define IDirect3DRMDevice_GetTextureQuality(p) (p)->GetTextureQuality()
452 #define IDirect3DRMDevice_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(a)
453 #endif
455 /*****************************************************************************
456 * IDirect3DRMDevice2 interface
458 #ifdef WINE_NO_UNICODE_MACROS
459 #undef GetClassName
460 #endif
461 #define INTERFACE IDirect3DRMDevice2
462 DECLARE_INTERFACE_(IDirect3DRMDevice2,IDirect3DRMDevice)
464 /*** IUnknown methods ***/
465 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
466 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
467 STDMETHOD_(ULONG,Release)(THIS) PURE;
468 /*** IDirect3DRMObject methods ***/
469 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
470 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
471 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
472 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
473 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
474 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
475 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
476 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
477 /*** IDirect3DRMDevice methods ***/
478 STDMETHOD(Init)(THIS_ ULONG width, ULONG height) PURE;
479 STDMETHOD(InitFromD3D)(THIS_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev) PURE;
480 STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height) PURE;
481 STDMETHOD(Update)(THIS) PURE;
482 STDMETHOD(AddUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
483 STDMETHOD(DeleteUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
484 STDMETHOD(SetBufferCount)(THIS_ DWORD) PURE;
485 STDMETHOD_(DWORD, GetBufferCount)(THIS) PURE;
486 STDMETHOD(SetDither)(THIS_ BOOL) PURE;
487 STDMETHOD(SetShades)(THIS_ DWORD) PURE;
488 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
489 STDMETHOD(SetTextureQuality)(THIS_ D3DRMTEXTUREQUALITY) PURE;
490 STDMETHOD(GetViewports)(THIS_ LPDIRECT3DRMVIEWPORTARRAY *return_views) PURE;
491 STDMETHOD_(BOOL, GetDither)(THIS) PURE;
492 STDMETHOD_(DWORD, GetShades)(THIS) PURE;
493 STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
494 STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
495 STDMETHOD_(DWORD, GetTrianglesDrawn)(THIS) PURE;
496 STDMETHOD_(DWORD, GetWireframeOptions)(THIS) PURE;
497 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
498 STDMETHOD_(D3DCOLORMODEL, GetColorModel)(THIS) PURE;
499 STDMETHOD_(D3DRMTEXTUREQUALITY, GetTextureQuality)(THIS) PURE;
500 STDMETHOD(GetDirect3DDevice)(THIS_ LPDIRECT3DDEVICE *) PURE;
501 /*** IDirect3DRMDevice2 methods ***/
502 STDMETHOD(InitFromD3D2)(THIS_ LPDIRECT3D2 pD3D, LPDIRECT3DDEVICE2 pD3DDev) PURE;
503 STDMETHOD(InitFromSurface)(THIS_ LPGUID pGUID, LPDIRECTDRAW pDD, LPDIRECTDRAWSURFACE pDDSBack) PURE;
504 STDMETHOD(SetRenderMode)(THIS_ DWORD flags) PURE;
505 STDMETHOD_(DWORD, GetRenderMode)(THIS) PURE;
506 STDMETHOD(GetDirect3DDevice2)(THIS_ LPDIRECT3DDEVICE2 *) PURE;
508 #undef INTERFACE
510 #if !defined(__cplusplus) || defined(CINTERFACE)
511 /*** IUnknown methods ***/
512 #define IDirect3DRMDevice2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
513 #define IDirect3DRMDevice2_AddRef(p) (p)->lpVtbl->AddRef(p)
514 #define IDirect3DRMDevice2_Release(p) (p)->lpVtbl->Release(p)
515 /*** IDirect3DRMObject methods ***/
516 #define IDirect3DRMDevice2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
517 #define IDirect3DRMDevice2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
518 #define IDirect3DRMDevice2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
519 #define IDirect3DRMDevice2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
520 #define IDirect3DRMDevice2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
521 #define IDirect3DRMDevice2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
522 #define IDirect3DRMDevice2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
523 #define IDirect3DRMDevice2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
524 /*** IDirect3DRMDevice methods ***/
525 #define IDirect3DRMDevice2_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
526 #define IDirect3DRMDevice2_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
527 #define IDirect3DRMDevice2_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
528 #define IDirect3DRMDevice2_Update(p) (p)->lpVtbl->Update(p)
529 #define IDirect3DRMDevice2_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
530 #define IDirect3DRMDevice2_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b)
531 #define IDirect3DRMDevice2_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
532 #define IDirect3DRMDevice2_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
533 #define IDirect3DRMDevice2_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
534 #define IDirect3DRMDevice2_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
535 #define IDirect3DRMDevice2_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
536 #define IDirect3DRMDevice2_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
537 #define IDirect3DRMDevice2_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
538 #define IDirect3DRMDevice2_GetDither(p) (p)->lpVtbl->GetDither(p)
539 #define IDirect3DRMDevice2_GetShades(p) (p)->lpVtbl->GetShades(p)
540 #define IDirect3DRMDevice2_GetHeight(p) (p)->lpVtbl->GetHeight(p)
541 #define IDirect3DRMDevice2_GetWidth(p) (p)->lpVtbl->GetWidth(p)
542 #define IDirect3DRMDevice2_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
543 #define IDirect3DRMDevice2_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
544 #define IDirect3DRMDevice2_GetQuality(p) (p)->lpVtbl->GetQuality(p)
545 #define IDirect3DRMDevice2_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
546 #define IDirect3DRMDevice2_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
547 #define IDirect3DRMDevice2_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
548 /*** IDirect3DRMDevice2 methods ***/
549 #define IDirect3DRMDevice2_InitFromD3D2(p,a,b) (p)->lpVtbl->InitFromD3D2(p,a,b)
550 #define IDirect3DRMDevice2_InitFromSurface(p,a,b,c) (p)->lpVtbl->InitFromSurface(p,a,b,c)
551 #define IDirect3DRMDevice2_SetRenderMode(p,a) (p)->lpVtbl->SetRenderMode(p,a)
552 #define IDirect3DRMDevice2_GetRenderMode(p) (p)->lpVtbl->GetRenderMode(p)
553 #define IDirect3DRMDevice2_GetDirect3DDevice2(p,a) (p)->lpVtbl->GetDirect3DDevice2(p,a)
554 #else
555 /*** IUnknown methods ***/
556 #define IDirect3DRMDevice2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
557 #define IDirect3DRMDevice2_AddRef(p) (p)->AddRef()
558 #define IDirect3DRMDevice2_Release(p) (p)->Release()
559 /*** IDirect3DRMObject methods ***/
560 #define IDirect3DRMDevice2_Clone(p,a,b,c) (p)->Clone(a,b,c)
561 #define IDirect3DRMDevice2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
562 #define IDirect3DRMDevice2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
563 #define IDirect3DRMDevice2_SetAppData(p,a) (p)->SetAppData(a)
564 #define IDirect3DRMDevice2_GetAppData(p) (p)->GetAppData()
565 #define IDirect3DRMDevice2_SetName(p,a) (p)->SetName(a)
566 #define IDirect3DRMDevice2_GetName(p,a,b) (p)->GetName(a,b)
567 #define IDirect3DRMDevice2_GetClassName(p,a,b) (p)->GetClassName(a,b)
568 /*** IDirect3DRMDevice methods ***/
569 #define IDirect3DRMDevice2_Init(p,a,b) (p)->Init(a,b)
570 #define IDirect3DRMDevice2_InitFromD3D(p,a,b) (p)->InitFromD3D(a,b)
571 #define IDirect3DRMDevice2_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(a,b,c,d)
572 #define IDirect3DRMDevice2_Update(p) (p)->Update()
573 #define IDirect3DRMDevice2_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(a,b)
574 #define IDirect3DRMDevice2_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(a,b)
575 #define IDirect3DRMDevice2_SetBufferCount(p,a) (p)->SetBufferCount(a)
576 #define IDirect3DRMDevice2_GetBufferCount(p) (p)->GetBufferCount()
577 #define IDirect3DRMDevice2_SetDither(p,a) (p)->SetDither(a)
578 #define IDirect3DRMDevice2_SetShades(p,a) (p)->SetShades(a)
579 #define IDirect3DRMDevice2_SetQuality(p,a) (p)->SetQuality(a)
580 #define IDirect3DRMDevice2_SetTextureQuality(p,a) (p)->SetTextureQuality(a)
581 #define IDirect3DRMDevice2_GetViewports(p,a) (p)->GetViewports(a)
582 #define IDirect3DRMDevice2_GetDither(p) (p)->GetDither()
583 #define IDirect3DRMDevice2_GetShades(p) (p)->GetShades()
584 #define IDirect3DRMDevice2_GetHeight(p) (p)->GetHeight()
585 #define IDirect3DRMDevice2_GetWidth(p) (p)->GetWidth()
586 #define IDirect3DRMDevice2_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn()
587 #define IDirect3DRMDevice2_GetWireframeOptions(p) (p)->GetWireframeOptions()
588 #define IDirect3DRMDevice2_GetQuality(p) (p)->GetQuality()
589 #define IDirect3DRMDevice2_GetColorModel(p) (p)->GetColorModel()
590 #define IDirect3DRMDevice2_GetTextureQuality(p) (p)->GetTextureQuality()
591 #define IDirect3DRMDevice2_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(a)
592 /*** IDirect3DRMDevice2 methods ***/
593 #define IDirect3DRMDevice2_InitFromD3D2(p,a,b) (p)->InitFromD3D2(a,b)
594 #define IDirect3DRMDevice2_InitFromSurface(p,a,b,c) (p)->InitFromSurface(a,b,c)
595 #define IDirect3DRMDevice2_SetRenderMode(p,a) (p)->SetRenderMode(a)
596 #define IDirect3DRMDevice2_GetRenderMode(p) (p)->GetRenderMode()
597 #define IDirect3DRMDevice2_GetDirect3DDevice2(p,a) (p)->GetDirect3DDevice2(a)
598 #endif
600 /*****************************************************************************
601 * IDirect3DRMDevice3 interface
603 #ifdef WINE_NO_UNICODE_MACROS
604 #undef GetClassName
605 #endif
606 #define INTERFACE IDirect3DRMDevice3
607 DECLARE_INTERFACE_(IDirect3DRMDevice3,IDirect3DRMObject)
609 /*** IUnknown methods ***/
610 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
611 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
612 STDMETHOD_(ULONG,Release)(THIS) PURE;
613 /*** IDirect3DRMObject methods ***/
614 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
615 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
616 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
617 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
618 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
619 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
620 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
621 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
622 /*** IDirect3DRMDevice methods ***/
623 STDMETHOD(Init)(THIS_ ULONG width, ULONG height) PURE;
624 STDMETHOD(InitFromD3D)(THIS_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev) PURE;
625 STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height) PURE;
626 STDMETHOD(Update)(THIS) PURE;
627 STDMETHOD(AddUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
628 STDMETHOD(DeleteUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
629 STDMETHOD(SetBufferCount)(THIS_ DWORD) PURE;
630 STDMETHOD_(DWORD, GetBufferCount)(THIS) PURE;
631 STDMETHOD(SetDither)(THIS_ BOOL) PURE;
632 STDMETHOD(SetShades)(THIS_ DWORD) PURE;
633 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
634 STDMETHOD(SetTextureQuality)(THIS_ D3DRMTEXTUREQUALITY) PURE;
635 STDMETHOD(GetViewports)(THIS_ LPDIRECT3DRMVIEWPORTARRAY *return_views) PURE;
636 STDMETHOD_(BOOL, GetDither)(THIS) PURE;
637 STDMETHOD_(DWORD, GetShades)(THIS) PURE;
638 STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
639 STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
640 STDMETHOD_(DWORD, GetTrianglesDrawn)(THIS) PURE;
641 STDMETHOD_(DWORD, GetWireframeOptions)(THIS) PURE;
642 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
643 STDMETHOD_(D3DCOLORMODEL, GetColorModel)(THIS) PURE;
644 STDMETHOD_(D3DRMTEXTUREQUALITY, GetTextureQuality)(THIS) PURE;
645 STDMETHOD(GetDirect3DDevice)(THIS_ LPDIRECT3DDEVICE *) PURE;
646 /*** IDirect3DRMDevice2 methods ***/
647 STDMETHOD(InitFromD3D2)(THIS_ LPDIRECT3D2 pD3D, LPDIRECT3DDEVICE2 pD3DDev) PURE;
648 STDMETHOD(InitFromSurface)(THIS_ LPGUID pGUID, LPDIRECTDRAW pDD, LPDIRECTDRAWSURFACE pDDSBack) PURE;
649 STDMETHOD(SetRenderMode)(THIS_ DWORD flags) PURE;
650 STDMETHOD_(DWORD, GetRenderMode)(THIS) PURE;
651 STDMETHOD(GetDirect3DDevice2)(THIS_ LPDIRECT3DDEVICE2 *) PURE;
652 /*** IDirect3DRMDevice3 methods ***/
653 STDMETHOD(FindPreferredTextureFormat)(THIS_ DWORD BitDepths, DWORD flags, LPDDPIXELFORMAT pDDPF) PURE;
654 STDMETHOD(RenderStateChange)(THIS_ D3DRENDERSTATETYPE drsType, DWORD val, DWORD flags) PURE;
655 STDMETHOD(LightStateChange)(THIS_ D3DLIGHTSTATETYPE drsType, DWORD val, DWORD flags) PURE;
656 STDMETHOD(GetStateChangeOptions)(THIS_ DWORD StateClass, DWORD StateNum, LPDWORD pFlags) PURE;
657 STDMETHOD(SetStateChangeOptions)(THIS_ DWORD StateClass, DWORD StateNum, DWORD flags) PURE;
659 #undef INTERFACE
661 #if !defined(__cplusplus) || defined(CINTERFACE)
662 /*** IUnknown methods ***/
663 #define IDirect3DRMDevice3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
664 #define IDirect3DRMDevice3_AddRef(p) (p)->lpVtbl->AddRef(p)
665 #define IDirect3DRMDevice3_Release(p) (p)->lpVtbl->Release(p)
666 /*** IDirect3DRMObject methods ***/
667 #define IDirect3DRMDevice3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
668 #define IDirect3DRMDevice3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
669 #define IDirect3DRMDevice3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
670 #define IDirect3DRMDevice3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
671 #define IDirect3DRMDevice3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
672 #define IDirect3DRMDevice3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
673 #define IDirect3DRMDevice3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
674 #define IDirect3DRMDevice3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
675 /*** IDirect3DRMDevice methods ***/
676 #define IDirect3DRMDevice3_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
677 #define IDirect3DRMDevice3_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
678 #define IDirect3DRMDevice3_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
679 #define IDirect3DRMDevice3_Update(p) (p)->lpVtbl->Update(p)
680 #define IDirect3DRMDevice3_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
681 #define IDirect3DRMDevice3_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b)
682 #define IDirect3DRMDevice3_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
683 #define IDirect3DRMDevice3_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
684 #define IDirect3DRMDevice3_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
685 #define IDirect3DRMDevice3_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
686 #define IDirect3DRMDevice3_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
687 #define IDirect3DRMDevice3_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
688 #define IDirect3DRMDevice3_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
689 #define IDirect3DRMDevice3_GetDither(p) (p)->lpVtbl->GetDither(p)
690 #define IDirect3DRMDevice3_GetShades(p) (p)->lpVtbl->GetShades(p)
691 #define IDirect3DRMDevice3_GetHeight(p) (p)->lpVtbl->GetHeight(p)
692 #define IDirect3DRMDevice3_GetWidth(p) (p)->lpVtbl->GetWidth(p)
693 #define IDirect3DRMDevice3_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
694 #define IDirect3DRMDevice3_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
695 #define IDirect3DRMDevice3_GetQuality(p) (p)->lpVtbl->GetQuality(p)
696 #define IDirect3DRMDevice3_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
697 #define IDirect3DRMDevice3_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
698 #define IDirect3DRMDevice3_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
699 /*** IDirect3DRMDevice2 methods ***/
700 #define IDirect3DRMDevice3_InitFromD3D2(p,a,b) (p)->lpVtbl->InitFromD3D2(p,a,b)
701 #define IDirect3DRMDevice3_InitFromSurface(p,a,b,c) (p)->lpVtbl->InitFromSurface(p,a,b,c)
702 #define IDirect3DRMDevice3_SetRenderMode(p,a) (p)->lpVtbl->SetRenderMode(p,a)
703 #define IDirect3DRMDevice3_GetRenderMode(p) (p)->lpVtbl->GetRenderMode(p)
704 #define IDirect3DRMDevice3_GetDirect3DDevice2(p,a) (p)->lpVtbl->GetDirect3DDevice2(p,a)
705 /*** IDirect3DRMDevice3 methods ***/
706 #define IDirect3DRMDevice3_FindPreferredTextureFormat(p,a,b,c) (p)->lpVtbl->FindPreferredTextureFormat(p,a,b,c)
707 #define IDirect3DRMDevice3_RenderStateChange(p,a,b,c) (p)->lpVtbl->RenderStateChange(p,a,b,c)
708 #define IDirect3DRMDevice3_LightStateChange(p,a,b,c) (p)->lpVtbl->LightStateChange(p,a,b,c)
709 #define IDirect3DRMDevice3_GetStateChangeOptions(p,a,b,c) (p)->lpVtbl->GetStateChangeOptions(p,a,b,c)
710 #define IDirect3DRMDevice3_SetStateChangeOptions(p,a,b,c) (p)->lpVtbl->SetStateChangeOptions(p,a,b,c)
711 #else
712 /*** IUnknown methods ***/
713 #define IDirect3DRMDevice3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
714 #define IDirect3DRMDevice3_AddRef(p) (p)->AddRef()
715 #define IDirect3DRMDevice3_Release(p) (p)->Release()
716 /*** IDirect3DRMObject methods ***/
717 #define IDirect3DRMDevice3_Clone(p,a,b,c) (p)->Clone(a,b,c)
718 #define IDirect3DRMDevice3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
719 #define IDirect3DRMDevice3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
720 #define IDirect3DRMDevice3_SetAppData(p,a) (p)->SetAppData(a)
721 #define IDirect3DRMDevice3_GetAppData(p) (p)->GetAppData()
722 #define IDirect3DRMDevice3_SetName(p,a) (p)->SetName(a)
723 #define IDirect3DRMDevice3_GetName(p,a,b) (p)->GetName(a,b)
724 #define IDirect3DRMDevice3_GetClassName(p,a,b) (p)->GetClassName(a,b)
725 /*** IDirect3DRMDevice methods ***/
726 #define IDirect3DRMDevice3_Init(p,a,b) (p)->Init(a,b)
727 #define IDirect3DRMDevice3_InitFromD3D(p,a,b) (p)->InitFromD3D(a,b)
728 #define IDirect3DRMDevice3_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(a,b,c,d)
729 #define IDirect3DRMDevice3_Update(p) (p)->Update()
730 #define IDirect3DRMDevice3_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(a,b)
731 #define IDirect3DRMDevice3_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(a,b)
732 #define IDirect3DRMDevice3_SetBufferCount(p,a) (p)->SetBufferCount(a)
733 #define IDirect3DRMDevice3_GetBufferCount(p) (p)->GetBufferCount()
734 #define IDirect3DRMDevice3_SetDither(p,a) (p)->SetDither(a)
735 #define IDirect3DRMDevice3_SetShades(p,a) (p)->SetShades(a)
736 #define IDirect3DRMDevice3_SetQuality(p,a) (p)->SetQuality(a)
737 #define IDirect3DRMDevice3_SetTextureQuality(p,a) (p)->SetTextureQuality(a)
738 #define IDirect3DRMDevice3_GetViewports(p,a) (p)->GetViewports(a)
739 #define IDirect3DRMDevice3_GetDither(p) (p)->GetDither()
740 #define IDirect3DRMDevice3_GetShades(p) (p)->GetShades()
741 #define IDirect3DRMDevice3_GetHeight(p) (p)->GetHeight()
742 #define IDirect3DRMDevice3_GetWidth(p) (p)->GetWidth()
743 #define IDirect3DRMDevice3_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn()
744 #define IDirect3DRMDevice3_GetWireframeOptions(p) (p)->GetWireframeOptions()
745 #define IDirect3DRMDevice3_GetQuality(p) (p)->GetQuality()
746 #define IDirect3DRMDevice3_GetColorModel(p) (p)->GetColorModel()
747 #define IDirect3DRMDevice3_GetTextureQuality(p) (p)->GetTextureQuality()
748 #define IDirect3DRMDevice3_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(a)
749 /*** IDirect3DRMDevice2 methods ***/
750 #define IDirect3DRMDevice3_InitFromD3D2(p,a,b) (p)->InitFromD3D2(a,b)
751 #define IDirect3DRMDevice3_InitFromSurface(p,a,b,c) (p)->InitFromSurface(a,b,c)
752 #define IDirect3DRMDevice3_SetRenderMode(p,a) (p)->SetRenderMode(a)
753 #define IDirect3DRMDevice3_GetRenderMode(p) (p)->GetRenderMode()
754 #define IDirect3DRMDevice3_GetDirect3DDevice2(p,a) (p)->GetDirect3DDevice2(a)
755 /*** IDirect3DRMDevice3 methods ***/
756 #define IDirect3DRMDevice3_FindPreferredTextureFormat(p,a,b,c) (p)->FindPreferredTextureFormat(a,b,c)
757 #define IDirect3DRMDevice3_RenderStateChange(p,a,b,c) (p)->RenderStateChange(a,b,c)
758 #define IDirect3DRMDevice3_LightStateChange(p,a,b,c) (p)->LightStateChange(a,b,c)
759 #define IDirect3DRMDevice3_GetStateChangeOptions(p,a,b,c) (p)->GetStateChangeOptions(a,b,c)
760 #define IDirect3DRMDevice3_SetStateChangeOptions(p,a,b,c) (p)->SetStateChangeOptions(a,b,c)
761 #endif
763 /*****************************************************************************
764 * IDirect3DRMViewport interface
766 #define INTERFACE IDirect3DRMViewport
767 DECLARE_INTERFACE_(IDirect3DRMViewport,IDirect3DRMObject)
769 /*** IUnknown methods ***/
770 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
771 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
772 STDMETHOD_(ULONG,Release)(THIS) PURE;
773 /*** IDirect3DRMObject methods ***/
774 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
775 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
776 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
777 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
778 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
779 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
780 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
781 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
782 /*** IDirect3DRMViewport methods ***/
783 STDMETHOD(Init) (THIS_ LPDIRECT3DRMDEVICE dev, LPDIRECT3DRMFRAME camera, DWORD xpos, DWORD ypos,
784 DWORD width, DWORD height) PURE;
785 STDMETHOD(Clear)(THIS) PURE;
786 STDMETHOD(Render)(THIS_ LPDIRECT3DRMFRAME) PURE;
787 STDMETHOD(SetFront)(THIS_ D3DVALUE) PURE;
788 STDMETHOD(SetBack)(THIS_ D3DVALUE) PURE;
789 STDMETHOD(SetField)(THIS_ D3DVALUE) PURE;
790 STDMETHOD(SetUniformScaling)(THIS_ BOOL) PURE;
791 STDMETHOD(SetCamera)(THIS_ LPDIRECT3DRMFRAME) PURE;
792 STDMETHOD(SetProjection)(THIS_ D3DRMPROJECTIONTYPE) PURE;
793 STDMETHOD(Transform)(THIS_ D3DRMVECTOR4D *d, D3DVECTOR *s) PURE;
794 STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DRMVECTOR4D *s) PURE;
795 STDMETHOD(Configure)(THIS_ LONG x, LONG y, DWORD width, DWORD height) PURE;
796 STDMETHOD(ForceUpdate)(THIS_ DWORD x1, DWORD y1, DWORD x2, DWORD y2) PURE;
797 STDMETHOD(SetPlane)(THIS_ D3DVALUE left, D3DVALUE right, D3DVALUE bottom, D3DVALUE top) PURE;
798 STDMETHOD(GetCamera)(THIS_ LPDIRECT3DRMFRAME *) PURE;
799 STDMETHOD(GetDevice)(THIS_ LPDIRECT3DRMDEVICE *) PURE;
800 STDMETHOD(GetPlane)(THIS_ D3DVALUE *left, D3DVALUE *right, D3DVALUE *bottom, D3DVALUE *top) PURE;
801 STDMETHOD(Pick)(THIS_ LONG x, LONG y, LPDIRECT3DRMPICKEDARRAY *return_visuals) PURE;
802 STDMETHOD_(BOOL, GetUniformScaling)(THIS) PURE;
803 STDMETHOD_(LONG, GetX)(THIS) PURE;
804 STDMETHOD_(LONG, GetY)(THIS) PURE;
805 STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
806 STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
807 STDMETHOD_(D3DVALUE, GetField)(THIS) PURE;
808 STDMETHOD_(D3DVALUE, GetBack)(THIS) PURE;
809 STDMETHOD_(D3DVALUE, GetFront)(THIS) PURE;
810 STDMETHOD_(D3DRMPROJECTIONTYPE, GetProjection)(THIS) PURE;
811 STDMETHOD(GetDirect3DViewport)(THIS_ LPDIRECT3DVIEWPORT *) PURE;
813 #undef INTERFACE
815 #if !defined(__cplusplus) || defined(CINTERFACE)
816 /*** IUnknown methods ***/
817 #define IDirect3DRMViewport_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
818 #define IDirect3DRMViewport_AddRef(p) (p)->lpVtbl->AddRef(p)
819 #define IDirect3DRMViewport_Release(p) (p)->lpVtbl->Release(p)
820 /*** IDirect3DRMObject methods ***/
821 #define IDirect3DRMViewport_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
822 #define IDirect3DRMViewport_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
823 #define IDirect3DRMViewport_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
824 #define IDirect3DRMViewport_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
825 #define IDirect3DRMViewport_GetAppData(p) (p)->lpVtbl->GetAppData(p)
826 #define IDirect3DRMViewport_SetName(p,a) (p)->lpVtbl->SetName(p,a)
827 #define IDirect3DRMViewport_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
828 #define IDirect3DRMViewport_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
829 /*** IDirect3DRMViewport methods ***/
830 #define IDirect3DRMViewport_Init(p,a,b,c,d) (p)->lpVtbl->Init(p,a,b,c,d)
831 #define IDirect3DRMViewport_Clear(p) (p)->lpVtbl->Clear(p)
832 #define IDirect3DRMViewport_Render(p,a) (p)->lpVtbl->Render(p,a)
833 #define IDirect3DRMViewport_SetFront(p,a) (p)->lpVtbl->SetFront(p,a)
834 #define IDirect3DRMViewport_SetBack(p,a) (p)->lpVtbl->SetBack(p,a)
835 #define IDirect3DRMViewport_SetField(p,a) (p)->lpVtbl->SetField(p,a)
836 #define IDirect3DRMViewport_SetUniformScaling(p,a) (p)->lpVtbl->SetUniformScaling(p,a)
837 #define IDirect3DRMViewport_SetCamera(p,a) (p)->lpVtbl->SetCamera(p,a)
838 #define IDirect3DRMViewport_SetProjection(p,a) (p)->lpVtbl->SetProjection(p,a)
839 #define IDirect3DRMViewport_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
840 #define IDirect3DRMViewport_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
841 #define IDirect3DRMViewport_Configure(p,a,b,c,d) (p)->lpVtbl->Configure(p,a,b,c,d)
842 #define IDirect3DRMViewport_ForceUpdate(p,a,b,c,d) (p)->lpVtbl->ForceUpdate(p,a,b,c,d)
843 #define IDirect3DRMViewport_SetPlane(p,a,b,c,d) (p)->lpVtbl->SetPlane(p,a,b,c,d)
844 #define IDirect3DRMViewport_GetCamera(p,a) (p)->lpVtbl->GetCamera(p,a)
845 #define IDirect3DRMViewport_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
846 #define IDirect3DRMViewport_GetPlane(p,a,b,c,d) (p)->lpVtbl->GetPlane(p,a,b,c,d)
847 #define IDirect3DRMViewport_Pick(p,a,b,c) (p)->lpVtbl->Pick(p,a,b,c)
848 #define IDirect3DRMViewport_GetUniformScaling(p) (p)->lpVtbl->GetUniformScaling(p)
849 #define IDirect3DRMViewport_GetX(p) (p)->lpVtbl->GetX(p)
850 #define IDirect3DRMViewport_GetY(p) (p)->lpVtbl->GetY(p)
851 #define IDirect3DRMViewport_GetWidth(p) (p)->lpVtbl->GetWidth(p)
852 #define IDirect3DRMViewport_GetHeight(p) (p)->lpVtbl->GetHeight(p)
853 #define IDirect3DRMViewport_GetField(p) (p)->lpVtbl->GetField(p)
854 #define IDirect3DRMViewport_GetBack(p) (p)->lpVtbl->GetBack(p)
855 #define IDirect3DRMViewport_GetFront(p) (p)->lpVtbl->GetFront(p)
856 #define IDirect3DRMViewport_GetProjection(p) (p)->lpVtbl->GetProjection(p)
857 #define IDirect3DRMViewport_GetDirect3DViewport(p,a) (p)->lpVtbl->GetDirect3DViewport(p,a)
858 #else
859 /*** IUnknown methods ***/
860 #define IDirect3DRMViewport_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
861 #define IDirect3DRMViewport_AddRef(p) (p)->AddRef()
862 #define IDirect3DRMViewport_Release(p) (p)->Release()
863 /*** IDirect3DRMObject methods ***/
864 #define IDirect3DRMViewport_Clone(p,a,b,c) (p)->Clone(a,b,c)
865 #define IDirect3DRMViewport_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
866 #define IDirect3DRMViewport_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
867 #define IDirect3DRMViewport_SetAppData(p,a) (p)->SetAppData(a)
868 #define IDirect3DRMViewport_GetAppData(p) (p)->GetAppData()
869 #define IDirect3DRMViewport_SetName(p,a) (p)->SetName(a)
870 #define IDirect3DRMViewport_GetName(p,a,b) (p)->GetName(a,b)
871 #define IDirect3DRMViewport_GetClassName(p,a,b) (p)->GetClassName(a,b)
872 /*** IDirect3DRMViewport methods ***/
873 #define IDirect3DRMViewport_Init(p,a,b,c,d) (p)->Init(a,b,c,d)
874 #define IDirect3DRMViewport_Clear(p) (p)->Clear()
875 #define IDirect3DRMViewport_Render(p,a) (p)->Render(a)
876 #define IDirect3DRMViewport_SetFront(p,a) (p)->SetFront(a)
877 #define IDirect3DRMViewport_SetBack(p,a) (p)->SetBack(a)
878 #define IDirect3DRMViewport_SetField(p,a) (p)->SetField(a)
879 #define IDirect3DRMViewport_SetUniformScaling(p,a) (p)->SetUniformScaling(a)
880 #define IDirect3DRMViewport_SetCamera(p,a) (p)->SetCamera(a)
881 #define IDirect3DRMViewport_SetProjection(p,a) (p)->SetProjection(a)
882 #define IDirect3DRMViewport_Transform(p,a,b) (p)->Transform(a,b)
883 #define IDirect3DRMViewport_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
884 #define IDirect3DRMViewport_Configure(p,a,b,c,d) (p)->Configure(a,b,c,d)
885 #define IDirect3DRMViewport_ForceUpdate(p,a,b,c,d) (p)->ForceUpdate(a,b,c,d)
886 #define IDirect3DRMViewport_SetPlane(p,a,b,c,d) (p)->SetPlane(a,b,c,d)
887 #define IDirect3DRMViewport_GetCamera(p,a) (p)->GetCamera(a)
888 #define IDirect3DRMViewport_GetDevice(p,a) (p)->GetDevice(a)
889 #define IDirect3DRMViewport_GetPlane(p,a,b,c,d) (p)->GetPlane(a,b,c,d)
890 #define IDirect3DRMViewport_Pick(p,a,b,c) (p)->Pick(a,b,c)
891 #define IDirect3DRMViewport_GetUniformScaling(p) (p)->GetUniformScaling()
892 #define IDirect3DRMViewport_GetX(p) (p)->GetX()
893 #define IDirect3DRMViewport_GetY(p) (p)->GetY()
894 #define IDirect3DRMViewport_GetWidth(p) (p)->GetWidth()
895 #define IDirect3DRMViewport_GetHeight(p) (p)->GetHeight()
896 #define IDirect3DRMViewport_GetField(p) (p)->GetField()
897 #define IDirect3DRMViewport_GetBack(p) (p)->GetBack()
898 #define IDirect3DRMViewport_GetFront(p) (p)->GetFront()
899 #define IDirect3DRMViewport_GetProjection(p) (p)->GetProjection()
900 #define IDirect3DRMViewport_GetDirect3DViewport(p,a) (p)->GetDirect3DViewport(a)
901 #endif
903 /*****************************************************************************
904 * IDirect3DRMViewport2 interface
906 #define INTERFACE IDirect3DRMViewport2
907 DECLARE_INTERFACE_(IDirect3DRMViewport2,IDirect3DRMObject)
909 /*** IUnknown methods ***/
910 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
911 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
912 STDMETHOD_(ULONG,Release)(THIS) PURE;
913 /*** IDirect3DRMObject methods ***/
914 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
915 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
916 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
917 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
918 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
919 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
920 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
921 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
922 /*** IDirect3DRMViewport2 methods ***/
923 STDMETHOD(Init) (THIS_ LPDIRECT3DRMDEVICE3 dev, LPDIRECT3DRMFRAME3 camera, DWORD xpos, DWORD ypos,
924 DWORD width, DWORD height) PURE;
925 STDMETHOD(Clear)(THIS_ DWORD flags) PURE;
926 STDMETHOD(Render)(THIS_ LPDIRECT3DRMFRAME3) PURE;
927 STDMETHOD(SetFront)(THIS_ D3DVALUE) PURE;
928 STDMETHOD(SetBack)(THIS_ D3DVALUE) PURE;
929 STDMETHOD(SetField)(THIS_ D3DVALUE) PURE;
930 STDMETHOD(SetUniformScaling)(THIS_ BOOL) PURE;
931 STDMETHOD(SetCamera)(THIS_ LPDIRECT3DRMFRAME3) PURE;
932 STDMETHOD(SetProjection)(THIS_ D3DRMPROJECTIONTYPE) PURE;
933 STDMETHOD(Transform)(THIS_ D3DRMVECTOR4D *d, D3DVECTOR *s) PURE;
934 STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DRMVECTOR4D *s) PURE;
935 STDMETHOD(Configure)(THIS_ LONG x, LONG y, DWORD width, DWORD height) PURE;
936 STDMETHOD(ForceUpdate)(THIS_ DWORD x1, DWORD y1, DWORD x2, DWORD y2) PURE;
937 STDMETHOD(SetPlane)(THIS_ D3DVALUE left, D3DVALUE right, D3DVALUE bottom, D3DVALUE top) PURE;
938 STDMETHOD(GetCamera)(THIS_ LPDIRECT3DRMFRAME3 *) PURE;
939 STDMETHOD(GetDevice)(THIS_ LPDIRECT3DRMDEVICE3 *) PURE;
940 STDMETHOD(GetPlane)(THIS_ D3DVALUE *left, D3DVALUE *right, D3DVALUE *bottom, D3DVALUE *top) PURE;
941 STDMETHOD(Pick)(THIS_ LONG x, LONG y, LPDIRECT3DRMPICKEDARRAY *return_visuals) PURE;
942 STDMETHOD_(BOOL, GetUniformScaling)(THIS) PURE;
943 STDMETHOD_(LONG, GetX)(THIS) PURE;
944 STDMETHOD_(LONG, GetY)(THIS) PURE;
945 STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
946 STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
947 STDMETHOD_(D3DVALUE, GetField)(THIS) PURE;
948 STDMETHOD_(D3DVALUE, GetBack)(THIS) PURE;
949 STDMETHOD_(D3DVALUE, GetFront)(THIS) PURE;
950 STDMETHOD_(D3DRMPROJECTIONTYPE, GetProjection)(THIS) PURE;
951 STDMETHOD(GetDirect3DViewport)(THIS_ LPDIRECT3DVIEWPORT *) PURE;
952 STDMETHOD(TransformVectors)(THIS_ DWORD NumVectors, LPD3DRMVECTOR4D pDstVectors,
953 LPD3DVECTOR pSrcVectors) PURE;
954 STDMETHOD(InverseTransformVectors)(THIS_ DWORD NumVectors, LPD3DVECTOR pDstVectors,
955 LPD3DRMVECTOR4D pSrcVectors) PURE;
957 #undef INTERFACE
959 #if !defined(__cplusplus) || defined(CINTERFACE)
960 /*** IUnknown methods ***/
961 #define IDirect3DRMViewport2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
962 #define IDirect3DRMViewport2_AddRef(p) (p)->lpVtbl->AddRef(p)
963 #define IDirect3DRMViewport2_Release(p) (p)->lpVtbl->Release(p)
964 /*** IDirect3DRMObject methods ***/
965 #define IDirect3DRMViewport_2Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
966 #define IDirect3DRMViewport2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
967 #define IDirect3DRMViewport2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
968 #define IDirect3DRMViewport2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
969 #define IDirect3DRMViewport2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
970 #define IDirect3DRMViewport2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
971 #define IDirect3DRMViewport2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
972 #define IDirect3DRMViewport2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
973 /*** IDirect3DRMViewport2 methods ***/
974 #define IDirect3DRMViewport2_Init(p,a,b,c,d,e,f) (p)->lpVtbl->Init(p,a,b,c,d,e,f)
975 #define IDirect3DRMViewport2_Clear(p,a) (p)->lpVtbl->Clear(p,a)
976 #define IDirect3DRMViewport2_Render(p,a) (p)->lpVtbl->Render(p,a)
977 #define IDirect3DRMViewport2_SetFront(p,a) (p)->lpVtbl->SetFront(p,a)
978 #define IDirect3DRMViewport2_SetBack(p,a) (p)->lpVtbl->SetBack(p,a)
979 #define IDirect3DRMViewport2_SetField(p,a) (p)->lpVtbl->SetField(p,a)
980 #define IDirect3DRMViewport2_SetUniformScaling(p,a) (p)->lpVtbl->SetUniformScaling(p,a)
981 #define IDirect3DRMViewport2_SetCamera(p,a) (p)->lpVtbl->SetCamera(p,a)
982 #define IDirect3DRMViewport2_SetProjection(p,a) (p)->lpVtbl->SetProjection(p,a)
983 #define IDirect3DRMViewport2_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
984 #define IDirect3DRMViewport2_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
985 #define IDirect3DRMViewport2_Configure(p,a,b,c,d) (p)->lpVtbl->Configure(p,a,b,c,d)
986 #define IDirect3DRMViewport2_ForceUpdate(p,a,b,c,d) (p)->lpVtbl->ForceUpdate(p,a,b,c,d)
987 #define IDirect3DRMViewport2_SetPlane(p,a,b,c,d) (p)->lpVtbl->SetPlane(p,a,b,c,d)
988 #define IDirect3DRMViewport2_GetCamera(p,a) (p)->lpVtbl->GetCamera(p,a)
989 #define IDirect3DRMViewport2_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
990 #define IDirect3DRMViewport2_GetPlane(p,a,b,c,d) (p)->lpVtbl->GetPlane(p,a,b,c,d)
991 #define IDirect3DRMViewport2_Pick(p,a,b,c) (p)->lpVtbl->Pick(p,a,b,c)
992 #define IDirect3DRMViewport2_GetUniformScaling(p) (p)->lpVtbl->GetUniformScaling(p)
993 #define IDirect3DRMViewport2_GetX(p) (p)->lpVtbl->GetX(p)
994 #define IDirect3DRMViewport2_GetY(p) (p)->lpVtbl->GetY(p)
995 #define IDirect3DRMViewport2_GetWidth(p) (p)->lpVtbl->GetWidth(p)
996 #define IDirect3DRMViewport2_GetHeight(p) (p)->lpVtbl->GetHeight(p)
997 #define IDirect3DRMViewport2_GetField(p) (p)->lpVtbl->GetField(p)
998 #define IDirect3DRMViewport2_GetBack(p) (p)->lpVtbl->GetBack(p)
999 #define IDirect3DRMViewport2_GetFront(p) (p)->lpVtbl->GetFront(p)
1000 #define IDirect3DRMViewport2_GetProjection(p) (p)->lpVtbl->GetProjection(p)
1001 #define IDirect3DRMViewport2_GetDirect3DViewport(p,a) (p)->lpVtbl->GetDirect3DViewport(p,a)
1002 #define IDirect3DRMViewport2_TransformVectors(p,a,b,c) (p)->lpVtbl->TransformVectors(p,a,b,c)
1003 #define IDirect3DRMViewport2_InverseTransformVectors(p,a,b,c) (p)->lpVtbl->InverseTransformVectors(p,a,b,c)
1004 #else
1005 /*** IUnknown methods ***/
1006 #define IDirect3DRMViewport2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1007 #define IDirect3DRMViewport2_AddRef(p) (p)->AddRef()
1008 #define IDirect3DRMViewport2_Release(p) (p)->Release()
1009 /*** IDirect3DRMObject methods ***/
1010 #define IDirect3DRMViewport2_Clone(p,a,b,c) (p)->Clone(a,b,c)
1011 #define IDirect3DRMViewport2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
1012 #define IDirect3DRMViewport2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
1013 #define IDirect3DRMViewport2_SetAppData(p,a) (p)->SetAppData(a)
1014 #define IDirect3DRMViewport2_GetAppData(p) (p)->GetAppData()
1015 #define IDirect3DRMViewport2_SetName(p,a) (p)->SetName(a)
1016 #define IDirect3DRMViewport2_GetName(p,a,b) (p)->GetName(a,b)
1017 #define IDirect3DRMViewport2_GetClassName(p,a,b) (p)->GetClassName(a,b)
1018 /*** IDirect3DRMViewport2 methods ***/
1019 #define IDirect3DRMViewport2_Init(p,a,b,c,d) (p)->Init(a,b,c,d)
1020 #define IDirect3DRMViewport2_Clear(p) (p)->Clear()
1021 #define IDirect3DRMViewport2_Render(p,a) (p)->Render(a)
1022 #define IDirect3DRMViewport2_SetFront(p,a) (p)->SetFront(a)
1023 #define IDirect3DRMViewport2_SetBack(p,a) (p)->SetBack(a)
1024 #define IDirect3DRMViewport2_SetField(p,a) (p)->SetField(a)
1025 #define IDirect3DRMViewport2_SetUniformScaling(p,a) (p)->SetUniformScaling(a)
1026 #define IDirect3DRMViewport2_SetCamera(p,a) (p)->SetCamera(a)
1027 #define IDirect3DRMViewport2_SetProjection(p,a) (p)->SetProjection(a)
1028 #define IDirect3DRMViewport2_Transform(p,a,b) (p)->Transform(a,b)
1029 #define IDirect3DRMViewport2_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
1030 #define IDirect3DRMViewport2_Configure(p,a,b,c,d) (p)->Configure(a,b,c,d)
1031 #define IDirect3DRMViewport2_ForceUpdate(p,a,b,c,d) (p)->ForceUpdate(a,b,c,d)
1032 #define IDirect3DRMViewport2_SetPlane(p,a,b,c,d) (p)->SetPlane(a,b,c,d)
1033 #define IDirect3DRMViewport2_GetCamera(p,a) (p)->GetCamera(a)
1034 #define IDirect3DRMViewport2_GetDevice(p,a) (p)->GetDevice(a)
1035 #define IDirect3DRMViewport2_GetPlane(p,a,b,c,d) (p)->GetPlane(a,b,c,d)
1036 #define IDirect3DRMViewport2_Pick(p,a,b,c) (p)->Pick(a,b,c)
1037 #define IDirect3DRMViewport2_GetUniformScaling(p) (p)->GetUniformScaling()
1038 #define IDirect3DRMViewport2_GetX(p) (p)->GetX()
1039 #define IDirect3DRMViewport2_GetY(p) (p)->GetY()
1040 #define IDirect3DRMViewport2_GetWidth(p) (p)->GetWidth()
1041 #define IDirect3DRMViewport2_GetHeight(p) (p)->GetHeight()
1042 #define IDirect3DRMViewport2_GetField(p) (p)->GetField()
1043 #define IDirect3DRMViewport2_GetBack(p) (p)->GetBack()
1044 #define IDirect3DRMViewport2_GetFront(p) (p)->GetFront()
1045 #define IDirect3DRMViewport2_GetProjection(p) (p)->GetProjection()
1046 #define IDirect3DRMViewport2_GetDirect3DViewport(p,a) (p)->GetDirect3DViewport(a)
1047 #define IDirect3DRMViewport2_TransformVectors(p,a,b,c) (p)->TransformVectors(a,b,c)
1048 #define IDirect3DRMViewport2_InverseTransformVectors(p,a,b,c) (p)->InverseTransformVectors(a,b,c)
1049 #endif
1051 /*****************************************************************************
1052 * IDirect3DRMFrame interface
1054 #define INTERFACE IDirect3DRMFrame
1055 DECLARE_INTERFACE_(IDirect3DRMFrame,IDirect3DRMVisual)
1057 /*** IUnknown methods ***/
1058 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1059 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1060 STDMETHOD_(ULONG,Release)(THIS) PURE;
1061 /*** IDirect3DRMObject methods ***/
1062 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
1063 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1064 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1065 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
1066 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
1067 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
1068 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1069 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1070 /*** IDirect3DRMFrame methods ***/
1071 STDMETHOD(AddChild)(THIS_ LPDIRECT3DRMFRAME child) PURE;
1072 STDMETHOD(AddLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
1073 STDMETHOD(AddMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE;
1074 STDMETHOD(AddTransform)(THIS_ D3DRMCOMBINETYPE, D3DRMMATRIX4D) PURE;
1075 STDMETHOD(AddTranslation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
1076 STDMETHOD(AddScale)(THIS_ D3DRMCOMBINETYPE, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
1077 STDMETHOD(AddRotation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
1078 STDMETHOD(AddVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE;
1079 STDMETHOD(GetChildren)(THIS_ LPDIRECT3DRMFRAMEARRAY *children) PURE;
1080 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
1081 STDMETHOD(GetLights)(THIS_ LPDIRECT3DRMLIGHTARRAY *lights) PURE;
1082 STDMETHOD_(D3DRMMATERIALMODE, GetMaterialMode)(THIS) PURE;
1083 STDMETHOD(GetParent)(THIS_ LPDIRECT3DRMFRAME *) PURE;
1084 STDMETHOD(GetPosition)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_position) PURE;
1085 STDMETHOD(GetRotation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR axis, LPD3DVALUE return_theta) PURE;
1086 STDMETHOD(GetScene)(THIS_ LPDIRECT3DRMFRAME *) PURE;
1087 STDMETHOD_(D3DRMSORTMODE, GetSortMode)(THIS) PURE;
1088 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE *) PURE;
1089 STDMETHOD(GetTransform)(THIS_ D3DRMMATRIX4D return_matrix) PURE;
1090 STDMETHOD(GetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_velocity, BOOL with_rotation) PURE;
1091 STDMETHOD(GetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR dir, LPD3DVECTOR up) PURE;
1092 STDMETHOD(GetVisuals)(THIS_ LPDIRECT3DRMVISUALARRAY *visuals) PURE;
1093 STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
1094 STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
1095 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK,
1096 LPVOID pArg)PURE;
1097 STDMETHOD(LookAt)(THIS_ LPDIRECT3DRMFRAME target, LPDIRECT3DRMFRAME reference, D3DRMFRAMECONSTRAINT) PURE;
1098 STDMETHOD(Move)(THIS_ D3DVALUE delta) PURE;
1099 STDMETHOD(DeleteChild)(THIS_ LPDIRECT3DRMFRAME) PURE;
1100 STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
1101 STDMETHOD(DeleteMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE;
1102 STDMETHOD(DeleteVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE;
1103 STDMETHOD_(D3DCOLOR, GetSceneBackground)(THIS) PURE;
1104 STDMETHOD(GetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *) PURE;
1105 STDMETHOD_(D3DCOLOR, GetSceneFogColor)(THIS) PURE;
1106 STDMETHOD_(BOOL, GetSceneFogEnable)(THIS) PURE;
1107 STDMETHOD_(D3DRMFOGMODE, GetSceneFogMode)(THIS) PURE;
1108 STDMETHOD(GetSceneFogParams)(THIS_ D3DVALUE *return_start, D3DVALUE *return_end, D3DVALUE *return_density) PURE;
1109 STDMETHOD(SetSceneBackground)(THIS_ D3DCOLOR) PURE;
1110 STDMETHOD(SetSceneBackgroundRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
1111 STDMETHOD(SetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE;
1112 STDMETHOD(SetSceneBackgroundImage)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
1113 STDMETHOD(SetSceneFogEnable)(THIS_ BOOL) PURE;
1114 STDMETHOD(SetSceneFogColor)(THIS_ D3DCOLOR) PURE;
1115 STDMETHOD(SetSceneFogMode)(THIS_ D3DRMFOGMODE) PURE;
1116 STDMETHOD(SetSceneFogParams)(THIS_ D3DVALUE start, D3DVALUE end, D3DVALUE density) PURE;
1117 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
1118 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
1119 STDMETHOD_(D3DRMZBUFFERMODE, GetZbufferMode)(THIS) PURE;
1120 STDMETHOD(SetMaterialMode)(THIS_ D3DRMMATERIALMODE) PURE;
1121 STDMETHOD(SetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
1122 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz) PURE;
1123 STDMETHOD(SetPosition)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
1124 STDMETHOD(SetRotation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
1125 STDMETHOD(SetSortMode)(THIS_ D3DRMSORTMODE) PURE;
1126 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
1127 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
1128 STDMETHOD(SetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, BOOL with_rotation) PURE;
1129 STDMETHOD(SetZbufferMode)(THIS_ D3DRMZBUFFERMODE) PURE;
1130 STDMETHOD(Transform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
1132 #undef INTERFACE
1134 #if !defined(__cplusplus) || defined(CINTERFACE)
1135 /*** IUnknown methods ***/
1136 #define IDirect3DRMFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1137 #define IDirect3DRMFrame_AddRef(p) (p)->lpVtbl->AddRef(p)
1138 #define IDirect3DRMFrame_Release(p) (p)->lpVtbl->Release(p)
1139 /*** IDirect3DRMObject methods ***/
1140 #define IDirect3DRMFrame_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
1141 #define IDirect3DRMFrame_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
1142 #define IDirect3DRMFrame_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
1143 #define IDirect3DRMFrame_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
1144 #define IDirect3DRMFrame_GetAppData(p) (p)->lpVtbl->GetAppData(p)
1145 #define IDirect3DRMFrame_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1146 #define IDirect3DRMFrame_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
1147 #define IDirect3DRMFrame_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
1148 /*** IDirect3DRMFrame methods ***/
1149 #define IDirect3DRMFrame_AddChild(p,a) (p)->lpVtbl->AddChild(p,a)
1150 #define IDirect3DRMFrame_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
1151 #define IDirect3DRMFrame_AddMoveCallback(p,a,b) (p)->lpVtbl->AddMoveCallback(p,a,b)
1152 #define IDirect3DRMFrame_AddTransform(p,a,b) (p)->lpVtbl->AddTransform(p,a,b)
1153 #define IDirect3DRMFrame_AddTranslation(p,a,b,c,d) (p)->lpVtbl->AddTranslation(p,a,b,c,d)
1154 #define IDirect3DRMFrame_AddScale(p,a,b,c,d) (p)->lpVtbl->AddScale(p,a,b,c,d)
1155 #define IDirect3DRMFrame_AddRotation(p,a,b,c,d,e) (p)->lpVtbl->AddRotation(p,a,b,c,d,e)
1156 #define IDirect3DRMFrame_AddVisual(p,a) (p)->lpVtbl->AddVisual(p,a)
1157 #define IDirect3DRMFrame_GetChildren(p,a) (p)->lpVtbl->GetChildren(p,a)
1158 #define IDirect3DRMFrame_GetColor(p) (p)->lpVtbl->GetColor(p)
1159 #define IDirect3DRMFrame_GetLights(p,a) (p)->lpVtbl->GetLights(p,a)
1160 #define IDirect3DRMFrame_GetMaterialMode(p) (p)->lpVtbl->GetMaterialMode(p)
1161 #define IDirect3DRMFrame_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
1162 #define IDirect3DRMFrame_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
1163 #define IDirect3DRMFrame_GetRotation(p,a,b,c) (p)->lpVtbl->GetRotation(p,a,b,c)
1164 #define IDirect3DRMFrame_GetScene(p,a) (p)->lpVtbl->GetScene(p,a)
1165 #define IDirect3DRMFrame_GetSortMode(p) (p)->lpVtbl->GetSortMode(p)
1166 #define IDirect3DRMFrame_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
1167 #define IDirect3DRMFrame_GetTransform(p,a) (p)->lpVtbl->GetTransform(p,a)
1168 #define IDirect3DRMFrame_GetVelocity(p,a,b,c) (p)->lpVtbl->GetVelocity(p,a,b,c)
1169 #define IDirect3DRMFrame_GetOrientation(p,a,b,c) (p)->lpVtbl->GetOrientation(p,a,b,c)
1170 #define IDirect3DRMFrame_GetVisuals(p,a) (p)->lpVtbl->GetVisuals(p,a)
1171 #define IDirect3DRMFrame_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
1172 #define IDirect3DRMFrame_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
1173 #define IDirect3DRMFrame_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
1174 #define IDirect3DRMFrame_LookAt(p,a,b,c) (p)->lpVtbl->LookAt(p,a,b,c)
1175 #define IDirect3DRMFrame_Move(p,a) (p)->lpVtbl->Move(p,a)
1176 #define IDirect3DRMFrame_DeleteChild(p,a) (p)->lpVtbl->DeleteChild(p,a)
1177 #define IDirect3DRMFrame_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
1178 #define IDirect3DRMFrame_DeleteMoveCallback(p,a,b) (p)->lpVtbl->DeleteMoveCallback(p,a,b)
1179 #define IDirect3DRMFrame_DeleteVisual(p,a) (p)->lpVtbl->DeleteVisual(p,a)
1180 #define IDirect3DRMFrame_GetSceneBackground(p) (p)->lpVtbl->GetSceneBackground(p)
1181 #define IDirect3DRMFrame_GetSceneBackgroundDepth(p,a) (p)->lpVtbl->GetSceneBackgroundDepth(p,a)
1182 #define IDirect3DRMFrame_GetSceneFogColor(p) (p)->lpVtbl->GetSceneFogColor(p)
1183 #define IDirect3DRMFrame_GetSceneFogEnable(p) (p)->lpVtbl->GetSceneFogEnable(p)
1184 #define IDirect3DRMFrame_GetSceneFogMode(p) (p)->lpVtbl->GetSceneFogMode(p)
1185 #define IDirect3DRMFrame_GetSceneFogParams(p,a,b,c) (p)->lpVtbl->GetSceneFogParams(p,a,b,c)
1186 #define IDirect3DRMFrame_SetSceneBackground(p,a) (p)->lpVtbl->SetSceneBackground(p,a)
1187 #define IDirect3DRMFrame_SetSceneBackgroundRGB(p,a,b,c) (p)->lpVtbl->SetSceneBackgroundRGB(p,a,b,c)
1188 #define IDirect3DRMFrame_SetSceneBackgroundDepth(p,a) (p)->lpVtbl->SetSceneBackgroundDepth(p,a)
1189 #define IDirect3DRMFrame_SetSceneBackgroundImage(p,a) (p)->lpVtbl->SetSceneBackgroundImage(p,a)
1190 #define IDirect3DRMFrame_SetSceneFogEnable(p,a) (p)->lpVtbl->SetSceneFogEnable(p,a)
1191 #define IDirect3DRMFrame_SetSceneFogColor(p,a) (p)->lpVtbl->SetSceneFogColor(p,a)
1192 #define IDirect3DRMFrame_SetSceneFogMode(p,a) (p)->lpVtbl->SetSceneFogMode(p,a)
1193 #define IDirect3DRMFrame_SetSceneFogParams(p,a,b,c) (p)->lpVtbl->SetSceneFogParams(p,a,b,c)
1194 #define IDirect3DRMFrame_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
1195 #define IDirect3DRMFrame_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
1196 #define IDirect3DRMFrame_GetZbufferMode(p) (p)->lpVtbl->GetZbufferMode(p)
1197 #define IDirect3DRMFrame_SetMaterialMode(p,a) (p)->lpVtbl->SetMaterialMode(p,a)
1198 #define IDirect3DRMFrame_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
1199 #define IDirect3DRMFrame_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
1200 #define IDirect3DRMFrame_SetRotation(p,a,b,c,d,e) (p)->lpVtbl->SetRotation(p,a,b,c,d,e)
1201 #define IDirect3DRMFrame_SetSortMode(p,a) (p)->lpVtbl->SetSortMode(p,a)
1202 #define IDirect3DRMFrame_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
1203 #define IDirect3DRMFrame_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
1204 #define IDirect3DRMFrame_SetVelocity(p,a,b,c,d,e) (p)->lpVtbl->SetVelocity(p,a,b,c,d,e)
1205 #define IDirect3DRMFrame_SetZbufferMode(p,a) (p)->lpVtbl->SetZbufferMode(p,a)
1206 #define IDirect3DRMFrame_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
1207 #else
1208 /*** IUnknown methods ***/
1209 #define IDirect3DRMFrame_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1210 #define IDirect3DRMFrame_AddRef(p) (p)->AddRef()
1211 #define IDirect3DRMFrame_Release(p) (p)->Release()
1212 /*** IDirect3DRMObject methods ***/
1213 #define IDirect3DRMFrame_Clone(p,a,b,c) (p)->Clone(a,b,c)
1214 #define IDirect3DRMFrame_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
1215 #define IDirect3DRMFrame_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
1216 #define IDirect3DRMFrame_SetAppData(p,a) (p)->SetAppData(a)
1217 #define IDirect3DRMFrame_GetAppData(p) (p)->GetAppData()
1218 #define IDirect3DRMFrame_SetName(p,a) (p)->SetName(a)
1219 #define IDirect3DRMFrame_GetName(p,a,b) (p)->GetName(a,b)
1220 #define IDirect3DRMFrame_GetClassName(p,a,b) (p)->GetClassName(a,b)
1221 /*** IDirect3DRMFrame methods ***/
1222 #define IDirect3DRMFrame_AddChild(p,a) (p)->AddChild(a)
1223 #define IDirect3DRMFrame_AddLight(p,a) (p)->AddLight(a)
1224 #define IDirect3DRMFrame_AddMoveCallback(p,a,b) (p)->AddMoveCallback(a,b)
1225 #define IDirect3DRMFrame_AddTransform(p,a,b) (p)->AddTransform(a,b)
1226 #define IDirect3DRMFrame_AddTranslation(p,a,b,c,d) (p)->AddTranslation(a,b,c,d)
1227 #define IDirect3DRMFrame_AddScale(p,a,b,c,d) (p)->AddScale(a,b,c,d)
1228 #define IDirect3DRMFrame_AddRotation(p,a,b,c,d,e) (p)->AddRotation(a,b,c,d,e)
1229 #define IDirect3DRMFrame_AddVisual(p,a) (p)->AddVisual(a)
1230 #define IDirect3DRMFrame_GetChildren(p,a) (p)->GetChildren(a)
1231 #define IDirect3DRMFrame_GetColor(p) (p)->GetColor()
1232 #define IDirect3DRMFrame_GetLights(p,a) (p)->GetLights(a)
1233 #define IDirect3DRMFrame_GetMaterialMode(p) (p)->GetMaterialMode()
1234 #define IDirect3DRMFrame_GetParent(p,a) (p)->GetParent(a)
1235 #define IDirect3DRMFrame_GetPosition(p,a,b) (p)->GetPosition(a,b)
1236 #define IDirect3DRMFrame_GetRotation(p,a,b,c) (p)->GetRotation(a,b,c)
1237 #define IDirect3DRMFrame_GetScene(p,a) (p)->GetScene(a)
1238 #define IDirect3DRMFrame_GetSortMode(p) (p)->GetSortMode()
1239 #define IDirect3DRMFrame_GetTexture(p,a) (p)->GetTexture(a)
1240 #define IDirect3DRMFrame_GetTransform(p,a) (p)->GetTransform(a)
1241 #define IDirect3DRMFrame_GetVelocity(p,a,b,c) (p)->GetVelocity(a,b,c)
1242 #define IDirect3DRMFrame_GetOrientation(p,a,b,c) (p)->GetOrientation(a,b,c)
1243 #define IDirect3DRMFrame_GetVisuals(p,a) (p)->GetVisuals(a)
1244 #define IDirect3DRMFrame_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
1245 #define IDirect3DRMFrame_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
1246 #define IDirect3DRMFrame_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
1247 #define IDirect3DRMFrame_LookAt(p,a,b,c) (p)->LookAt(a,b,c)
1248 #define IDirect3DRMFrame_Move(p,a) (p)->Move(a)
1249 #define IDirect3DRMFrame_DeleteChild(p,a) (p)->DeleteChild(a)
1250 #define IDirect3DRMFrame_DeleteLight(p,a) (p)->DeleteLight(a)
1251 #define IDirect3DRMFrame_DeleteMoveCallback(p,a,b) (p)->DeleteMoveCallback(a,b)
1252 #define IDirect3DRMFrame_DeleteVisual(p,a) (p)->DeleteVisual(a)
1253 #define IDirect3DRMFrame_GetSceneBackground(p) (p)->GetSceneBackground()
1254 #define IDirect3DRMFrame_GetSceneBackgroundDepth(p,a) (p)->GetSceneBackgroundDepth(a)
1255 #define IDirect3DRMFrame_GetSceneFogColor(p) (p)->GetSceneFogColor()
1256 #define IDirect3DRMFrame_GetSceneFogEnable(p) (p)->GetSceneFogEnable()
1257 #define IDirect3DRMFrame_GetSceneFogMode(p) (p)->GetSceneFogMode()
1258 #define IDirect3DRMFrame_GetSceneFogParams(p,a,b,c) (p)->GetSceneFogParams(a,b,c)
1259 #define IDirect3DRMFrame_SetSceneBackground(p,a) (p)->SetSceneBackground(a)
1260 #define IDirect3DRMFrame_SetSceneBackgroundRGB(p,a,b,c) (p)->SetSceneBackgroundRGB(a,b,c)
1261 #define IDirect3DRMFrame_SetSceneBackgroundDepth(p,a) (p)->SetSceneBackgroundDepth(a)
1262 #define IDirect3DRMFrame_SetSceneBackgroundImage(p,a) (p)->SetSceneBackgroundImage(a)
1263 #define IDirect3DRMFrame_SetSceneFogEnable(p,a) (p)->SetSceneFogEnable(a)
1264 #define IDirect3DRMFrame_SetSceneFogColor(p,a) (p)->SetSceneFogColor(a)
1265 #define IDirect3DRMFrame_SetSceneFogMode(p,a) (p)->SetSceneFogMode(a)
1266 #define IDirect3DRMFrame_SetSceneFogParams(p,a,b,c) (p)->SetSceneFogParams(a,b,c)
1267 #define IDirect3DRMFrame_SetColor(p,a) (p)->SetColor(a)
1268 #define IDirect3DRMFrame_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
1269 #define IDirect3DRMFrame_GetZbufferMode(p) (p)->GetZbufferMode()
1270 #define IDirect3DRMFrame_SetMaterialMode(p,a) (p)->SetMaterialMode(a)
1271 #define IDirect3DRMFrame_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
1272 #define IDirect3DRMFrame_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
1273 #define IDirect3DRMFrame_SetRotation(p,a,b,c,d,e) (p)->SetRotation(a,b,c,d,e)
1274 #define IDirect3DRMFrame_SetSortMode(p,a) (p)->SetSortMode(a)
1275 #define IDirect3DRMFrame_SetTexture(p,a) (p)->SetTexture(a)
1276 #define IDirect3DRMFrame_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
1277 #define IDirect3DRMFrame_SetVelocity(p,a,b,c,d,e) (p)->SetVelocity(a,b,c,d,e)
1278 #define IDirect3DRMFrame_SetZbufferMode(p,a) (p)->SetZbufferMode(a)
1279 #define IDirect3DRMFrame_Transform(p,a,b) (p)->Transform(a,b)
1280 #endif
1282 /*****************************************************************************
1283 * IDirect3DRMFrame2 interface
1285 #define INTERFACE IDirect3DRMFrame2
1286 DECLARE_INTERFACE_(IDirect3DRMFrame2,IDirect3DRMFrame)
1288 /*** IUnknown methods ***/
1289 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1290 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1291 STDMETHOD_(ULONG,Release)(THIS) PURE;
1292 /*** IDirect3DRMObject methods ***/
1293 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
1294 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1295 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1296 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
1297 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
1298 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
1299 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1300 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1301 /*** IDirect3DRMFrame methods ***/
1302 STDMETHOD(AddChild)(THIS_ LPDIRECT3DRMFRAME child) PURE;
1303 STDMETHOD(AddLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
1304 STDMETHOD(AddMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE;
1305 STDMETHOD(AddTransform)(THIS_ D3DRMCOMBINETYPE, D3DRMMATRIX4D) PURE;
1306 STDMETHOD(AddTranslation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
1307 STDMETHOD(AddScale)(THIS_ D3DRMCOMBINETYPE, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
1308 STDMETHOD(AddRotation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
1309 STDMETHOD(AddVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE;
1310 STDMETHOD(GetChildren)(THIS_ LPDIRECT3DRMFRAMEARRAY *children) PURE;
1311 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
1312 STDMETHOD(GetLights)(THIS_ LPDIRECT3DRMLIGHTARRAY *lights) PURE;
1313 STDMETHOD_(D3DRMMATERIALMODE, GetMaterialMode)(THIS) PURE;
1314 STDMETHOD(GetParent)(THIS_ LPDIRECT3DRMFRAME *) PURE;
1315 STDMETHOD(GetPosition)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_position) PURE;
1316 STDMETHOD(GetRotation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR axis, LPD3DVALUE return_theta) PURE;
1317 STDMETHOD(GetScene)(THIS_ LPDIRECT3DRMFRAME *) PURE;
1318 STDMETHOD_(D3DRMSORTMODE, GetSortMode)(THIS) PURE;
1319 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE *) PURE;
1320 STDMETHOD(GetTransform)(THIS_ D3DRMMATRIX4D return_matrix) PURE;
1321 STDMETHOD(GetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_velocity, BOOL with_rotation) PURE;
1322 STDMETHOD(GetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR dir, LPD3DVECTOR up) PURE;
1323 STDMETHOD(GetVisuals)(THIS_ LPDIRECT3DRMVISUALARRAY *visuals) PURE;
1324 STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
1325 STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
1326 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK,
1327 LPVOID pArg)PURE;
1328 STDMETHOD(LookAt)(THIS_ LPDIRECT3DRMFRAME target, LPDIRECT3DRMFRAME reference, D3DRMFRAMECONSTRAINT) PURE;
1329 STDMETHOD(Move)(THIS_ D3DVALUE delta) PURE;
1330 STDMETHOD(DeleteChild)(THIS_ LPDIRECT3DRMFRAME) PURE;
1331 STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
1332 STDMETHOD(DeleteMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE;
1333 STDMETHOD(DeleteVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE;
1334 STDMETHOD_(D3DCOLOR, GetSceneBackground)(THIS) PURE;
1335 STDMETHOD(GetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *) PURE;
1336 STDMETHOD_(D3DCOLOR, GetSceneFogColor)(THIS) PURE;
1337 STDMETHOD_(BOOL, GetSceneFogEnable)(THIS) PURE;
1338 STDMETHOD_(D3DRMFOGMODE, GetSceneFogMode)(THIS) PURE;
1339 STDMETHOD(GetSceneFogParams)(THIS_ D3DVALUE *return_start, D3DVALUE *return_end, D3DVALUE *return_density) PURE;
1340 STDMETHOD(SetSceneBackground)(THIS_ D3DCOLOR) PURE;
1341 STDMETHOD(SetSceneBackgroundRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
1342 STDMETHOD(SetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE;
1343 STDMETHOD(SetSceneBackgroundImage)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
1344 STDMETHOD(SetSceneFogEnable)(THIS_ BOOL) PURE;
1345 STDMETHOD(SetSceneFogColor)(THIS_ D3DCOLOR) PURE;
1346 STDMETHOD(SetSceneFogMode)(THIS_ D3DRMFOGMODE) PURE;
1347 STDMETHOD(SetSceneFogParams)(THIS_ D3DVALUE start, D3DVALUE end, D3DVALUE density) PURE;
1348 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
1349 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
1350 STDMETHOD_(D3DRMZBUFFERMODE, GetZbufferMode)(THIS) PURE;
1351 STDMETHOD(SetMaterialMode)(THIS_ D3DRMMATERIALMODE) PURE;
1352 STDMETHOD(SetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
1353 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz) PURE;
1354 STDMETHOD(SetPosition)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
1355 STDMETHOD(SetRotation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
1356 STDMETHOD(SetSortMode)(THIS_ D3DRMSORTMODE) PURE;
1357 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
1358 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
1359 STDMETHOD(SetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, BOOL with_rotation) PURE;
1360 STDMETHOD(SetZbufferMode)(THIS_ D3DRMZBUFFERMODE) PURE;
1361 STDMETHOD(Transform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
1362 /*** IDirect3DRMFrame2 methods ***/
1363 STDMETHOD(AddMoveCallback2)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg, DWORD flags) PURE;
1364 STDMETHOD(GetBox)(THIS_ LPD3DRMBOX) PURE;
1365 STDMETHOD_(BOOL, GetBoxEnable)(THIS) PURE;
1366 STDMETHOD(GetAxes)(THIS_ LPD3DVECTOR dir, LPD3DVECTOR up);
1367 STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL *) PURE;
1368 STDMETHOD_(BOOL, GetInheritAxes)(THIS);
1369 STDMETHOD(GetHierarchyBox)(THIS_ LPD3DRMBOX) PURE;
1370 STDMETHOD(SetBox)(THIS_ LPD3DRMBOX) PURE;
1371 STDMETHOD(SetBoxEnable)(THIS_ BOOL) PURE;
1372 STDMETHOD(SetAxes)(THIS_ D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz);
1373 STDMETHOD(SetInheritAxes)(THIS_ BOOL inherit_from_parent);
1374 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
1375 STDMETHOD(SetQuaternion)(THIS_ LPDIRECT3DRMFRAME reference, D3DRMQUATERNION *q) PURE;
1376 STDMETHOD(RayPick)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DRMRAY ray, DWORD flags,
1377 LPDIRECT3DRMPICKED2ARRAY *return_visuals) PURE;
1378 STDMETHOD(Save)(THIS_ LPCSTR filename, D3DRMXOFFORMAT d3dFormat, D3DRMSAVEOPTIONS d3dSaveFlags);
1380 #undef INTERFACE
1382 #if !defined(__cplusplus) || defined(CINTERFACE)
1383 /*** IUnknown methods ***/
1384 #define IDirect3DRMFrame2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1385 #define IDirect3DRMFrame2_AddRef(p) (p)->lpVtbl->AddRef(p)
1386 #define IDirect3DRMFrame2_Release(p) (p)->lpVtbl->Release(p)
1387 /*** IDirect3DRMObject methods ***/
1388 #define IDirect3DRMFrame2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
1389 #define IDirect3DRMFrame2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
1390 #define IDirect3DRMFrame2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
1391 #define IDirect3DRMFrame2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
1392 #define IDirect3DRMFrame2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
1393 #define IDirect3DRMFrame2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1394 #define IDirect3DRMFrame2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
1395 #define IDirect3DRMFrame2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
1396 /*** IDirect3DRMFrame methods ***/
1397 #define IDirect3DRMFrame2_AddChild(p,a) (p)->lpVtbl->AddChild(p,a)
1398 #define IDirect3DRMFrame2_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
1399 #define IDirect3DRMFrame2_AddMoveCallback(p,a,b) (p)->lpVtbl->AddMoveCallback(p,a,b)
1400 #define IDirect3DRMFrame2_AddTransform(p,a,b) (p)->lpVtbl->AddTransform(p,a,b)
1401 #define IDirect3DRMFrame2_AddTranslation(p,a,b,c,d) (p)->lpVtbl->AddTranslation(p,a,b,c,d)
1402 #define IDirect3DRMFrame2_AddScale(p,a,b,c,d) (p)->lpVtbl->AddScale(p,a,b,c,d)
1403 #define IDirect3DRMFrame2_AddRotation(p,a,b,c,d,e) (p)->lpVtbl->AddRotation(p,a,b,c,d,e)
1404 #define IDirect3DRMFrame2_AddVisual(p,a) (p)->lpVtbl->AddVisual(p,a)
1405 #define IDirect3DRMFrame2_GetChildren(p,a) (p)->lpVtbl->GetChildren(p,a)
1406 #define IDirect3DRMFrame2_GetColor(p) (p)->lpVtbl->GetColor(p)
1407 #define IDirect3DRMFrame2_GetLights(p,a) (p)->lpVtbl->GetLights(p,a)
1408 #define IDirect3DRMFrame2_GetMaterialMode(p) (p)->lpVtbl->GetMaterialMode(p)
1409 #define IDirect3DRMFrame2_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
1410 #define IDirect3DRMFrame2_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
1411 #define IDirect3DRMFrame2_GetRotation(p,a,b,c) (p)->lpVtbl->GetRotation(p,a,b,c)
1412 #define IDirect3DRMFrame2_GetScene(p,a) (p)->lpVtbl->GetScene(p,a)
1413 #define IDirect3DRMFrame2_GetSortMode(p) (p)->lpVtbl->GetSortMode(p)
1414 #define IDirect3DRMFrame2_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
1415 #define IDirect3DRMFrame2_GetTransform(p,a) (p)->lpVtbl->GetTransform(p,a)
1416 #define IDirect3DRMFrame2_GetVelocity(p,a,b,c) (p)->lpVtbl->GetVelocity(p,a,b,c)
1417 #define IDirect3DRMFrame2_GetOrientation(p,a,b,c) (p)->lpVtbl->GetOrientation(p,a,b,c)
1418 #define IDirect3DRMFrame2_GetVisuals(p,a) (p)->lpVtbl->GetVisuals(p,a)
1419 #define IDirect3DRMFrame2_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
1420 #define IDirect3DRMFrame2_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
1421 #define IDirect3DRMFrame2_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
1422 #define IDirect3DRMFrame2_LookAt(p,a,b,c) (p)->lpVtbl->LookAt(p,a,b,c)
1423 #define IDirect3DRMFrame2_Move(p,a) (p)->lpVtbl->Move(p,a)
1424 #define IDirect3DRMFrame2_DeleteChild(p,a) (p)->lpVtbl->DeleteChild(p,a)
1425 #define IDirect3DRMFrame2_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
1426 #define IDirect3DRMFrame2_DeleteMoveCallback(p,a,b) (p)->lpVtbl->DeleteMoveCallback(p,a,b)
1427 #define IDirect3DRMFrame2_DeleteVisual(p,a) (p)->lpVtbl->DeleteVisual(p,a)
1428 #define IDirect3DRMFrame2_GetSceneBackground(p) (p)->lpVtbl->GetSceneBackground(p)
1429 #define IDirect3DRMFrame2_GetSceneBackgroundDepth(p,a) (p)->lpVtbl->GetSceneBackgroundDepth(p,a)
1430 #define IDirect3DRMFrame2_GetSceneFogColor(p) (p)->lpVtbl->GetSceneFogColor(p)
1431 #define IDirect3DRMFrame2_GetSceneFogEnable(p) (p)->lpVtbl->GetSceneFogEnable(p)
1432 #define IDirect3DRMFrame2_GetSceneFogMode(p) (p)->lpVtbl->GetSceneFogMode(p)
1433 #define IDirect3DRMFrame2_GetSceneFogParams(p,a,b,c) (p)->lpVtbl->GetSceneFogParams(p,a,b,c)
1434 #define IDirect3DRMFrame2_SetSceneBackground(p,a) (p)->lpVtbl->SetSceneBackground(p,a)
1435 #define IDirect3DRMFrame2_SetSceneBackgroundRGB(p,a,b,c) (p)->lpVtbl->SetSceneBackgroundRGB(p,a,b,c)
1436 #define IDirect3DRMFrame2_SetSceneBackgroundDepth(p,a) (p)->lpVtbl->SetSceneBackgroundDepth(p,a)
1437 #define IDirect3DRMFrame2_SetSceneBackgroundImage(p,a) (p)->lpVtbl->SetSceneBackgroundImage(p,a)
1438 #define IDirect3DRMFrame2_SetSceneFogEnable(p,a) (p)->lpVtbl->SetSceneFogEnable(p,a)
1439 #define IDirect3DRMFrame2_SetSceneFogColor(p,a) (p)->lpVtbl->SetSceneFogColor(p,a)
1440 #define IDirect3DRMFrame2_SetSceneFogMode(p,a) (p)->lpVtbl->SetSceneFogMode(p,a)
1441 #define IDirect3DRMFrame2_SetSceneFogParams(p,a,b,c) (p)->lpVtbl->SetSceneFogParams(p,a,b,c)
1442 #define IDirect3DRMFrame2_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
1443 #define IDirect3DRMFrame2_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
1444 #define IDirect3DRMFrame2_GetZbufferMode(p) (p)->lpVtbl->GetZbufferMode(p)
1445 #define IDirect3DRMFrame2_SetMaterialMode(p,a) (p)->lpVtbl->SetMaterialMode(p,a)
1446 #define IDirect3DRMFrame2_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
1447 #define IDirect3DRMFrame2_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
1448 #define IDirect3DRMFrame2_SetRotation(p,a,b,c,d,e) (p)->lpVtbl->SetRotation(p,a,b,c,d,e)
1449 #define IDirect3DRMFrame2_SetSortMode(p,a) (p)->lpVtbl->SetSortMode(p,a)
1450 #define IDirect3DRMFrame2_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
1451 #define IDirect3DRMFrame2_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
1452 #define IDirect3DRMFrame2_SetVelocity(p,a,b,c,d,e) (p)->lpVtbl->SetVelocity(p,a,b,c,d,e)
1453 #define IDirect3DRMFrame2_SetZbufferMode(p,a) (p)->lpVtbl->SetZbufferMode(p,a)
1454 #define IDirect3DRMFrame2_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
1455 /*** IDirect3DRMFrame2 methods ***/
1456 #define IDirect3DRMFrame2_AddMoveCallback2(p,a,b,c) (p)->lpVtbl->AddMoveCallback2(p,a,b,c)
1457 #define IDirect3DRMFrame2_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
1458 #define IDirect3DRMFrame2_GetBoxEnable(p) (p)->lpVtbl->GetBoxEnable(p)
1459 #define IDirect3DRMFrame2_GetAxes(p,a,b) (p)->lpVtbl->GetAxes(p,a,b)
1460 #define IDirect3DRMFrame2_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
1461 #define IDirect3DRMFrame2_GetInheritAxes(p,a,b) (p)->lpVtbl->GetInheritAxes(p,a,b)
1462 #define IDirect3DRMFrame2_GetHierarchyBox(p,a) (p)->lpVtbl->GetHierarchyBox(p,a)
1463 #define IDirect3DRMFrame2_SetBox(p,a) (p)->lpVtbl->SetBox(p,a)
1464 #define IDirect3DRMFrame2_SetBoxEnable(p,a) (p)->lpVtbl->SetBoxEnable(p,a)
1465 #define IDirect3DRMFrame2_SetAxes(p,a,b,c,d,e,f) (p)->lpVtbl->SetAxes(p,a,b,c,d,e,f)
1466 #define IDirect3DRMFrame2_SetInheritAxes(p,a) (p)->lpVtbl->SetInheritAxes(p,a)
1467 #define IDirect3DRMFrame2_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
1468 #define IDirect3DRMFrame2_SetQuaternion(p,a,b) (p)->lpVtbl->SetQuaternion(p,a,b)
1469 #define IDirect3DRMFrame2_RayPick(p,a,b,c,d) (p)->lpVtbl->RayPick(p,a,b,c,d)
1470 #define IDirect3DRMFrame2_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
1471 #else
1472 /*** IUnknown methods ***/
1473 #define IDirect3DRMFrame2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1474 #define IDirect3DRMFrame2_AddRef(p) (p)->AddRef()
1475 #define IDirect3DRMFrame2_Release(p) (p)->Release()
1476 /*** IDirect3DRMObject methods ***/
1477 #define IDirect3DRMFrame2_Clone(p,a,b,c) (p)->Clone(a,b,c)
1478 #define IDirect3DRMFrame2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
1479 #define IDirect3DRMFrame2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
1480 #define IDirect3DRMFrame2_SetAppData(p,a) (p)->SetAppData(a)
1481 #define IDirect3DRMFrame2_GetAppData(p) (p)->GetAppData()
1482 #define IDirect3DRMFrame2_SetName(p,a) (p)->SetName(a)
1483 #define IDirect3DRMFrame2_GetName(p,a,b) (p)->GetName(a,b)
1484 #define IDirect3DRMFrame2_GetClassName(p,a,b) (p)->GetClassName(a,b)
1485 /*** IDirect3DRMFrame methods ***/
1486 #define IDirect3DRMFrame2_AddChild(p,a) (p)->AddChild(a)
1487 #define IDirect3DRMFrame2_AddLight(p,a) (p)->AddLight(a)
1488 #define IDirect3DRMFrame2_AddMoveCallback(p,a,b) (p)->AddMoveCallback(a,b)
1489 #define IDirect3DRMFrame2_AddTransform(p,a,b) (p)->AddTransform(a,b)
1490 #define IDirect3DRMFrame2_AddTranslation(p,a,b,c,d) (p)->AddTranslation(a,b,c,d)
1491 #define IDirect3DRMFrame2_AddScale(p,a,b,c,d) (p)->AddScale(a,b,c,d)
1492 #define IDirect3DRMFrame2_AddRotation(p,a,b,c,d,e) (p)->AddRotation(a,b,c,d,e)
1493 #define IDirect3DRMFrame2_AddVisual(p,a) (p)->AddVisual(a)
1494 #define IDirect3DRMFrame2_GetChildren(p,a) (p)->GetChildren(a)
1495 #define IDirect3DRMFrame2_GetColor(p) (p)->GetColor()
1496 #define IDirect3DRMFrame2_GetLights(p,a) (p)->GetLights(a)
1497 #define IDirect3DRMFrame2_GetMaterialMode(p) (p)->GetMaterialMode()
1498 #define IDirect3DRMFrame2_GetParent(p,a) (p)->GetParent(a)
1499 #define IDirect3DRMFrame2_GetPosition(p,a,b) (p)->GetPosition(a,b)
1500 #define IDirect3DRMFrame2_GetRotation(p,a,b,c) (p)->GetRotation(a,b,c)
1501 #define IDirect3DRMFrame2_GetScene(p,a) (p)->GetScene(a)
1502 #define IDirect3DRMFrame2_GetSortMode(p) (p)->GetSortMode()
1503 #define IDirect3DRMFrame2_GetTexture(p,a) (p)->GetTexture(a)
1504 #define IDirect3DRMFrame2_GetTransform(p,a) (p)->GetTransform(a)
1505 #define IDirect3DRMFrame2_GetVelocity(p,a,b,c) (p)->GetVelocity(a,b,c)
1506 #define IDirect3DRMFrame2_GetOrientation(p,a,b,c) (p)->GetOrientation(a,b,c)
1507 #define IDirect3DRMFrame2_GetVisuals(p,a) (p)->GetVisuals(a)
1508 #define IDirect3DRMFrame2_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
1509 #define IDirect3DRMFrame2_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
1510 #define IDirect3DRMFrame2_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
1511 #define IDirect3DRMFrame2_LookAt(p,a,b,c) (p)->LookAt(a,b,c)
1512 #define IDirect3DRMFrame2_Move(p,a) (p)->Move(a)
1513 #define IDirect3DRMFrame2_DeleteChild(p,a) (p)->DeleteChild(a)
1514 #define IDirect3DRMFrame2_DeleteLight(p,a) (p)->DeleteLight(a)
1515 #define IDirect3DRMFrame2_DeleteMoveCallback(p,a,b) (p)->DeleteMoveCallback(a,b)
1516 #define IDirect3DRMFrame2_DeleteVisual(p,a) (p)->DeleteVisual(a)
1517 #define IDirect3DRMFrame2_GetSceneBackground(p) (p)->GetSceneBackground()
1518 #define IDirect3DRMFrame2_GetSceneBackgroundDepth(p,a) (p)->GetSceneBackgroundDepth(a)
1519 #define IDirect3DRMFrame2_GetSceneFogColor(p) (p)->GetSceneFogColor()
1520 #define IDirect3DRMFrame2_GetSceneFogEnable(p) (p)->GetSceneFogEnable()
1521 #define IDirect3DRMFrame2_GetSceneFogMode(p) (p)->GetSceneFogMode()
1522 #define IDirect3DRMFrame2_GetSceneFogParams(p,a,b,c) (p)->GetSceneFogParams(a,b,c)
1523 #define IDirect3DRMFrame2_SetSceneBackground(p,a) (p)->SetSceneBackground(a)
1524 #define IDirect3DRMFrame2_SetSceneBackgroundRGB(p,a,b,c) (p)->SetSceneBackgroundRGB(a,b,c)
1525 #define IDirect3DRMFrame2_SetSceneBackgroundDepth(p,a) (p)->SetSceneBackgroundDepth(a)
1526 #define IDirect3DRMFrame2_SetSceneBackgroundImage(p,a) (p)->SetSceneBackgroundImage(a)
1527 #define IDirect3DRMFrame2_SetSceneFogEnable(p,a) (p)->SetSceneFogEnable(a)
1528 #define IDirect3DRMFrame2_SetSceneFogColor(p,a) (p)->SetSceneFogColor(a)
1529 #define IDirect3DRMFrame2_SetSceneFogMode(p,a) (p)->SetSceneFogMode(a)
1530 #define IDirect3DRMFrame2_SetSceneFogParams(p,a,b,c) (p)->SetSceneFogParams(a,b,c)
1531 #define IDirect3DRMFrame2_SetColor(p,a) (p)->SetColor(a)
1532 #define IDirect3DRMFrame2_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
1533 #define IDirect3DRMFrame2_GetZbufferMode(p) (p)->GetZbufferMode()
1534 #define IDirect3DRMFrame2_SetMaterialMode(p,a) (p)->SetMaterialMode(a)
1535 #define IDirect3DRMFrame2_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
1536 #define IDirect3DRMFrame2_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
1537 #define IDirect3DRMFrame2_SetRotation(p,a,b,c,d,e) (p)->SetRotation(a,b,c,d,e)
1538 #define IDirect3DRMFrame2_SetSortMode(p,a) (p)->SetSortMode(a)
1539 #define IDirect3DRMFrame2_SetTexture(p,a) (p)->SetTexture(a)
1540 #define IDirect3DRMFrame2_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
1541 #define IDirect3DRMFrame2_SetVelocity(p,a,b,c,d,e) (p)->SetVelocity(a,b,c,d,e)
1542 #define IDirect3DRMFrame2_SetZbufferMode(p,a) (p)->SetZbufferMode(a)
1543 #define IDirect3DRMFrame2_Transform(p,a,b) (p)->Transform(a,b)
1544 /*** IDirect3DRMFrame2 methods ***/
1545 #define IDirect3DRMFrame2_AddMoveCallback2(p,a,b,c) (p)->AddMoveCallback2(a,b,c)
1546 #define IDirect3DRMFrame2_GetBox(p,a) (p)->GetBox(a)
1547 #define IDirect3DRMFrame2_GetBoxEnable(p) (p)->GetBoxEnable()
1548 #define IDirect3DRMFrame2_GetAxes(p,a,b) (p)->GetAxes(a,b)
1549 #define IDirect3DRMFrame2_GetMaterial(p,a) (p)->GetMaterial(a)
1550 #define IDirect3DRMFrame2_GetInheritAxes(p,a,b) (p)->GetInheritAxes(a,b)
1551 #define IDirect3DRMFrame2_GetHierarchyBox(p,a) (p)->GetHierarchyBox(a)
1552 #define IDirect3DRMFrame2_SetBox(p,a) (p)->SetBox(a)
1553 #define IDirect3DRMFrame2_SetBoxEnable(p,a) (p)->SetBoxEnable(a)
1554 #define IDirect3DRMFrame2_SetAxes(p,a,b,c,d,e,f) (p)->SetAxes(a,b,c,d,e,f)
1555 #define IDirect3DRMFrame2_SetInheritAxes(p,a) (p)->SetInheritAxes(a)
1556 #define IDirect3DRMFrame2_SetMaterial(p,a) (p)->SetMaterial(a)
1557 #define IDirect3DRMFrame2_SetQuaternion(p,a,b) (p)->SetQuaternion(a,b)
1558 #define IDirect3DRMFrame2_RayPick(p,a,b,c,d) (p)->RayPick(a,b,c,d)
1559 #define IDirect3DRMFrame2_Save(p,a,b,c) (p)->Save(a,b,c)
1560 #endif
1562 /*****************************************************************************
1563 * IDirect3DRMFrame3 interface
1565 #define INTERFACE IDirect3DRMFrame3
1566 DECLARE_INTERFACE_(IDirect3DRMFrame3,IDirect3DRMVisual)
1568 /*** IUnknown methods ***/
1569 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1570 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1571 STDMETHOD_(ULONG,Release)(THIS) PURE;
1572 /*** IDirect3DRMObject methods ***/
1573 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
1574 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1575 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1576 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
1577 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
1578 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
1579 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1580 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1581 /*** IDirect3DRMFrame3 methods ***/
1582 STDMETHOD(AddChild)(THIS_ LPDIRECT3DRMFRAME3 child) PURE;
1583 STDMETHOD(AddLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
1584 STDMETHOD(AddMoveCallback)(THIS_ D3DRMFRAME3MOVECALLBACK, VOID *arg, DWORD flags) PURE;
1585 STDMETHOD(AddTranslation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
1586 STDMETHOD(AddScale)(THIS_ D3DRMCOMBINETYPE, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
1587 STDMETHOD(AddRotation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
1588 STDMETHOD(AddVisual)(THIS_ LPUNKNOWN) PURE;
1589 STDMETHOD(GetChildren)(THIS_ LPDIRECT3DRMFRAMEARRAY *children) PURE;
1590 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
1591 STDMETHOD(GetLights)(THIS_ LPDIRECT3DRMLIGHTARRAY *lights) PURE;
1592 STDMETHOD_(D3DRMMATERIALMODE, GetMaterialMode)(THIS) PURE;
1593 STDMETHOD(GetParent)(THIS_ LPDIRECT3DRMFRAME3 *) PURE;
1594 STDMETHOD(GetPosition)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR return_position) PURE;
1595 STDMETHOD(GetRotation)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR axis, LPD3DVALUE return_theta) PURE;
1596 STDMETHOD(GetScene)(THIS_ LPDIRECT3DRMFRAME3 *) PURE;
1597 STDMETHOD_(D3DRMSORTMODE, GetSortMode)(THIS) PURE;
1598 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE3 *) PURE;
1599 STDMETHOD(GetTransform)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DRMMATRIX4D rmMatrix) PURE;
1600 STDMETHOD(GetVelocity)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR return_velocity,
1601 BOOL with_rotation) PURE;
1602 STDMETHOD(GetOrientation)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR dir, LPD3DVECTOR up) PURE;
1603 STDMETHOD(GetVisuals)(THIS_ LPDWORD pCount, LPUNKNOWN *) PURE;
1604 STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
1605 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags,
1606 D3DRMLOADTEXTURE3CALLBACK, LPVOID pArg) PURE;
1607 STDMETHOD(LookAt)(THIS_ LPDIRECT3DRMFRAME3 target, LPDIRECT3DRMFRAME3 reference, D3DRMFRAMECONSTRAINT) PURE;
1608 STDMETHOD(Move)(THIS_ D3DVALUE delta) PURE;
1609 STDMETHOD(DeleteChild)(THIS_ LPDIRECT3DRMFRAME3) PURE;
1610 STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
1611 STDMETHOD(DeleteMoveCallback)(THIS_ D3DRMFRAME3MOVECALLBACK, VOID *arg) PURE;
1612 STDMETHOD(DeleteVisual)(THIS_ LPUNKNOWN) PURE;
1613 STDMETHOD_(D3DCOLOR, GetSceneBackground)(THIS) PURE;
1614 STDMETHOD(GetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *) PURE;
1615 STDMETHOD_(D3DCOLOR, GetSceneFogColor)(THIS) PURE;
1616 STDMETHOD_(BOOL, GetSceneFogEnable)(THIS) PURE;
1617 STDMETHOD_(D3DRMFOGMODE, GetSceneFogMode)(THIS) PURE;
1618 STDMETHOD(GetSceneFogParams)(THIS_ D3DVALUE *return_start, D3DVALUE *return_end,
1619 D3DVALUE *return_density) PURE;
1620 STDMETHOD(SetSceneBackground)(THIS_ D3DCOLOR) PURE;
1621 STDMETHOD(SetSceneBackgroundRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
1622 STDMETHOD(SetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE;
1623 STDMETHOD(SetSceneBackgroundImage)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
1624 STDMETHOD(SetSceneFogEnable)(THIS_ BOOL) PURE;
1625 STDMETHOD(SetSceneFogColor)(THIS_ D3DCOLOR) PURE;
1626 STDMETHOD(SetSceneFogMode)(THIS_ D3DRMFOGMODE) PURE;
1627 STDMETHOD(SetSceneFogParams)(THIS_ D3DVALUE start, D3DVALUE end, D3DVALUE density) PURE;
1628 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
1629 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
1630 STDMETHOD_(D3DRMZBUFFERMODE, GetZbufferMode)(THIS) PURE;
1631 STDMETHOD(SetMaterialMode)(THIS_ D3DRMMATERIALMODE) PURE;
1632 STDMETHOD(SetOrientation)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
1633 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz) PURE;
1634 STDMETHOD(SetPosition)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
1635 STDMETHOD(SetRotation)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z,
1636 D3DVALUE theta) PURE;
1637 STDMETHOD(SetSortMode)(THIS_ D3DRMSORTMODE) PURE;
1638 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
1639 STDMETHOD(SetVelocity)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z,
1640 BOOL with_rotation) PURE;
1641 STDMETHOD(SetZbufferMode)(THIS_ D3DRMZBUFFERMODE) PURE;
1642 STDMETHOD(Transform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
1643 STDMETHOD(GetBox)(THIS_ LPD3DRMBOX) PURE;
1644 STDMETHOD_(BOOL, GetBoxEnable)(THIS) PURE;
1645 STDMETHOD(GetAxes)(THIS_ LPD3DVECTOR dir, LPD3DVECTOR up);
1646 STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2 *) PURE;
1647 STDMETHOD_(BOOL, GetInheritAxes)(THIS);
1648 STDMETHOD(GetHierarchyBox)(THIS_ LPD3DRMBOX) PURE;
1649 STDMETHOD(SetBox)(THIS_ LPD3DRMBOX) PURE;
1650 STDMETHOD(SetBoxEnable)(THIS_ BOOL) PURE;
1651 STDMETHOD(SetAxes)(THIS_ D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz);
1652 STDMETHOD(SetInheritAxes)(THIS_ BOOL inherit_from_parent);
1653 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE;
1654 STDMETHOD(SetQuaternion)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DRMQUATERNION *q) PURE;
1655 STDMETHOD(RayPick)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DRMRAY ray, DWORD flags,
1656 LPDIRECT3DRMPICKED2ARRAY *return_visuals) PURE;
1657 STDMETHOD(Save)(THIS_ LPCSTR filename, D3DRMXOFFORMAT d3dFormat, D3DRMSAVEOPTIONS d3dSaveFlags);
1658 STDMETHOD(TransformVectors)(THIS_ LPDIRECT3DRMFRAME3 reference, DWORD NumVectors,
1659 LPD3DVECTOR pDstVectors, LPD3DVECTOR pSrcVectors) PURE;
1660 STDMETHOD(InverseTransformVectors)(THIS_ LPDIRECT3DRMFRAME3 reference, DWORD NumVectors,
1661 LPD3DVECTOR pDstVectors, LPD3DVECTOR pSrcVectors) PURE;
1662 STDMETHOD(SetTraversalOptions)(THIS_ DWORD flags) PURE;
1663 STDMETHOD(GetTraversalOptions)(THIS_ LPDWORD pFlags) PURE;
1664 STDMETHOD(SetSceneFogMethod)(THIS_ DWORD flags) PURE;
1665 STDMETHOD(GetSceneFogMethod)(THIS_ LPDWORD pFlags) PURE;
1666 STDMETHOD(SetMaterialOverride)(THIS_ LPD3DRMMATERIALOVERRIDE) PURE;
1667 STDMETHOD(GetMaterialOverride)(THIS_ LPD3DRMMATERIALOVERRIDE) PURE;
1669 #undef INTERFACE
1671 #if !defined(__cplusplus) || defined(CINTERFACE)
1672 /*** IUnknown methods ***/
1673 #define IDirect3DRMFrame3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1674 #define IDirect3DRMFrame3_AddRef(p) (p)->lpVtbl->AddRef(p)
1675 #define IDirect3DRMFrame3_Release(p) (p)->lpVtbl->Release(p)
1676 /*** IDirect3DRMObject methods ***/
1677 #define IDirect3DRMFrame3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
1678 #define IDirect3DRMFrame3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
1679 #define IDirect3DRMFrame3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
1680 #define IDirect3DRMFrame3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
1681 #define IDirect3DRMFrame3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
1682 #define IDirect3DRMFrame3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1683 #define IDirect3DRMFrame3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
1684 #define IDirect3DRMFrame3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
1685 /*** IDirect3DRMFrame3 methods ***/
1686 #define IDirect3DRMFrame3_AddChild(p,a) (p)->lpVtbl->AddChild(p,a)
1687 #define IDirect3DRMFrame3_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
1688 #define IDirect3DRMFrame3_AddMoveCallback(p,a,b,c) (p)->lpVtbl->AddMoveCallback(p,a,b,c)
1689 #define IDirect3DRMFrame3_AddTransform(p,a,b) (p)->lpVtbl->AddTransform(p,a,b)
1690 #define IDirect3DRMFrame3_AddTranslation(p,a,b,c,d) (p)->lpVtbl->AddTranslation(p,a,b,c,d)
1691 #define IDirect3DRMFrame3_AddScale(p,a,b,c,d) (p)->lpVtbl->AddScale(p,a,b,c,d)
1692 #define IDirect3DRMFrame3_AddRotation(p,a,b,c,d,e) (p)->lpVtbl->AddRotation(p,a,b,c,d,e)
1693 #define IDirect3DRMFrame3_AddVisual(p,a) (p)->lpVtbl->AddVisual(p,a)
1694 #define IDirect3DRMFrame3_GetChildren(p,a) (p)->lpVtbl->GetChildren(p,a)
1695 #define IDirect3DRMFrame3_GetColor(p) (p)->lpVtbl->GetColor(p)
1696 #define IDirect3DRMFrame3_GetLights(p,a) (p)->lpVtbl->GetLights(p,a)
1697 #define IDirect3DRMFrame3_GetMaterialMode(p) (p)->lpVtbl->GetMaterialMode(p)
1698 #define IDirect3DRMFrame3_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
1699 #define IDirect3DRMFrame3_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
1700 #define IDirect3DRMFrame3_GetRotation(p,a,b,c) (p)->lpVtbl->GetRotation(p,a,b,c)
1701 #define IDirect3DRMFrame3_GetScene(p,a) (p)->lpVtbl->GetScene(p,a)
1702 #define IDirect3DRMFrame3_GetSortMode(p) (p)->lpVtbl->GetSortMode(p)
1703 #define IDirect3DRMFrame3_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
1704 #define IDirect3DRMFrame3_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
1705 #define IDirect3DRMFrame3_GetVelocity(p,a,b,c) (p)->lpVtbl->GetVelocity(p,a,b,c)
1706 #define IDirect3DRMFrame3_GetOrientation(p,a,b,c) (p)->lpVtbl->GetOrientation(p,a,b,c)
1707 #define IDirect3DRMFrame3_GetVisuals(p,a,b) (p)->lpVtbl->GetVisuals(p,a,b)
1708 #define IDirect3DRMFrame3_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
1709 #define IDirect3DRMFrame3_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
1710 #define IDirect3DRMFrame3_LookAt(p,a,b,c) (p)->lpVtbl->LookAt(p,a,b,c)
1711 #define IDirect3DRMFrame3_Move(p,a) (p)->lpVtbl->Move(p,a)
1712 #define IDirect3DRMFrame3_DeleteChild(p,a) (p)->lpVtbl->DeleteChild(p,a)
1713 #define IDirect3DRMFrame3_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
1714 #define IDirect3DRMFrame3_DeleteMoveCallback(p,a,b) (p)->lpVtbl->DeleteMoveCallback(p,a,b)
1715 #define IDirect3DRMFrame3_DeleteVisual(p,a) (p)->lpVtbl->DeleteVisual(p,a)
1716 #define IDirect3DRMFrame3_GetSceneBackground(p) (p)->lpVtbl->GetSceneBackground(p)
1717 #define IDirect3DRMFrame3_GetSceneBackgroundDepth(p,a) (p)->lpVtbl->GetSceneBackgroundDepth(p,a)
1718 #define IDirect3DRMFrame3_GetSceneFogColor(p) (p)->lpVtbl->GetSceneFogColor(p)
1719 #define IDirect3DRMFrame3_GetSceneFogEnable(p) (p)->lpVtbl->GetSceneFogEnable(p)
1720 #define IDirect3DRMFrame3_GetSceneFogMode(p) (p)->lpVtbl->GetSceneFogMode(p)
1721 #define IDirect3DRMFrame3_GetSceneFogParams(p,a,b,c) (p)->lpVtbl->GetSceneFogParams(p,a,b,c)
1722 #define IDirect3DRMFrame3_SetSceneBackground(p,a) (p)->lpVtbl->SetSceneBackground(p,a)
1723 #define IDirect3DRMFrame3_SetSceneBackgroundRGB(p,a,b,c) (p)->lpVtbl->SetSceneBackgroundRGB(p,a,b,c)
1724 #define IDirect3DRMFrame3_SetSceneBackgroundDepth(p,a) (p)->lpVtbl->SetSceneBackgroundDepth(p,a)
1725 #define IDirect3DRMFrame3_SetSceneBackgroundImage(p,a) (p)->lpVtbl->SetSceneBackgroundImage(p,a)
1726 #define IDirect3DRMFrame3_SetSceneFogEnable(p,a) (p)->lpVtbl->SetSceneFogEnable(p,a)
1727 #define IDirect3DRMFrame3_SetSceneFogColor(p,a) (p)->lpVtbl->SetSceneFogColor(p,a)
1728 #define IDirect3DRMFrame3_SetSceneFogMode(p,a) (p)->lpVtbl->SetSceneFogMode(p,a)
1729 #define IDirect3DRMFrame3_SetSceneFogParams(p,a,b,c) (p)->lpVtbl->SetSceneFogParams(p,a,b,c)
1730 #define IDirect3DRMFrame3_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
1731 #define IDirect3DRMFrame3_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
1732 #define IDirect3DRMFrame3_GetZbufferMode(p) (p)->lpVtbl->GetZbufferMode(p)
1733 #define IDirect3DRMFrame3_SetMaterialMode(p,a) (p)->lpVtbl->SetMaterialMode(p,a)
1734 #define IDirect3DRMFrame3_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
1735 #define IDirect3DRMFrame3_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
1736 #define IDirect3DRMFrame3_SetRotation(p,a,b,c,d,e) (p)->lpVtbl->SetRotation(p,a,b,c,d,e)
1737 #define IDirect3DRMFrame3_SetSortMode(p,a) (p)->lpVtbl->SetSortMode(p,a)
1738 #define IDirect3DRMFrame3_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
1739 #define IDirect3DRMFrame3_SetVelocity(p,a,b,c,d,e) (p)->lpVtbl->SetVelocity(p,a,b,c,d,e)
1740 #define IDirect3DRMFrame3_SetZbufferMode(p,a) (p)->lpVtbl->SetZbufferMode(p,a)
1741 #define IDirect3DRMFrame3_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
1742 #define IDirect3DRMFrame3_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
1743 #define IDirect3DRMFrame3_GetBoxEnable(p) (p)->lpVtbl->GetBoxEnable(p)
1744 #define IDirect3DRMFrame3_GetAxes(p,a,b) (p)->lpVtbl->GetAxes(p,a,b)
1745 #define IDirect3DRMFrame3_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
1746 #define IDirect3DRMFrame3_GetInheritAxes(p) (p)->lpVtbl->GetInheritAxes(p)
1747 #define IDirect3DRMFrame3_GetHierarchyBox(p,a) (p)->lpVtbl->GetHierarchyBox(p,a)
1748 #define IDirect3DRMFrame3_SetBox(p,a) (p)->lpVtbl->SetBox(p,a)
1749 #define IDirect3DRMFrame3_SetBoxEnable(p,a) (p)->lpVtbl->SetBoxEnable(p,a)
1750 #define IDirect3DRMFrame3_SetAxes(p,a,b,c,d,e,f) (p)->lpVtbl->SetAxes(p,a,b,c,d,e,f)
1751 #define IDirect3DRMFrame3_SetInheritAxes(p,a) (p)->lpVtbl->SetInheritAxes(p,a)
1752 #define IDirect3DRMFrame3_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
1753 #define IDirect3DRMFrame3_SetQuaternion(p,a,b) (p)->lpVtbl->SetQuaternion(p,a,b)
1754 #define IDirect3DRMFrame3_RayPick(p,a,b,c,d) (p)->lpVtbl->RayPick(p,a,b,c,d)
1755 #define IDirect3DRMFrame3_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
1756 #define IDirect3DRMFrame3_TransformVectors(p,a,b,c,d) (p)->lpVtbl->TransformVectors(p,a,b,c,d)
1757 #define IDirect3DRMFrame3_InverseTransformVectors(p,a,b,c,d) (p)->lpVtbl->InverseTransformVectors(p,a,b,c,d)
1758 #define IDirect3DRMFrame3_SetTraversalOptions(p,a) (p)->lpVtbl->SetTraversalOptions(p,a)
1759 #define IDirect3DRMFrame3_GetTraversalOptions(p,a) (p)->lpVtbl->GetTraversalOptions(p,a)
1760 #define IDirect3DRMFrame3_SetSceneFogMethod(p,a) (p)->lpVtbl->SetSceneFogMethod(p,a)
1761 #define IDirect3DRMFrame3_GetSceneFogMethod(p,a) (p)->lpVtbl->GetSceneFogMethod(p,a)
1762 #define IDirect3DRMFrame3_SetMaterialOverride(p,a) (p)->lpVtbl->SetMaterialOverride(p,a)
1763 #define IDirect3DRMFrame3_GetMaterialOverride(p,a) (p)->lpVtbl->GetMaterialOverride(p,a)
1764 #else
1765 /*** IUnknown methods ***/
1766 #define IDirect3DRMFrame3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1767 #define IDirect3DRMFrame3_AddRef(p) (p)->AddRef()
1768 #define IDirect3DRMFrame3_Release(p) (p)->Release()
1769 /*** IDirect3DRMObject methods ***/
1770 #define IDirect3DRMFrame3_Clone(p,a,b,c) (p)->Clone(a,b,c)
1771 #define IDirect3DRMFrame3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
1772 #define IDirect3DRMFrame3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
1773 #define IDirect3DRMFrame3_SetAppData(p,a) (p)->SetAppData(a)
1774 #define IDirect3DRMFrame3_GetAppData(p) (p)->GetAppData()
1775 #define IDirect3DRMFrame3_SetName(p,a) (p)->SetName(a)
1776 #define IDirect3DRMFrame3_GetName(p,a,b) (p)->GetName(a,b)
1777 #define IDirect3DRMFrame3_GetClassName(p,a,b) (p)->GetClassName(a,b)
1778 /*** IDirect3DRMFrame3 methods ***/
1779 #define IDirect3DRMFrame3_AddChild(p,a) (p)->AddChild(a)
1780 #define IDirect3DRMFrame3_AddLight(p,a) (p)->AddLight(a)
1781 #define IDirect3DRMFrame3_AddMoveCallback(p,a,b,c) (p)->AddMoveCallback(a,b,c)
1782 #define IDirect3DRMFrame3_AddTransform(p,a,b) (p)->AddTransform(a,b)
1783 #define IDirect3DRMFrame3_AddTranslation(p,a,b,c,d) (p)->AddTranslation(a,b,c,d)
1784 #define IDirect3DRMFrame3_AddScale(p,a,b,c,d) (p)->AddScale(a,b,c,d)
1785 #define IDirect3DRMFrame3_AddRotation(p,a,b,c,d,e) (p)->AddRotation(a,b,c,d,e)
1786 #define IDirect3DRMFrame3_AddVisual(p,a) (p)->AddVisual(a)
1787 #define IDirect3DRMFrame3_GetChildren(p,a) (p)->GetChildren(a)
1788 #define IDirect3DRMFrame3_GetColor(p) (p)->GetColor()
1789 #define IDirect3DRMFrame3_GetLights(p,a) (p)->GetLights(a)
1790 #define IDirect3DRMFrame3_GetMaterialMode(p) (p)->GetMaterialMode()
1791 #define IDirect3DRMFrame3_GetParent(p,a) (p)->GetParent(a)
1792 #define IDirect3DRMFrame3_GetPosition(p,a,b) (p)->GetPosition(a,b)
1793 #define IDirect3DRMFrame3_GetRotation(p,a,b,c) (p)->GetRotation(a,b,c)
1794 #define IDirect3DRMFrame3_GetScene(p,a) (p)->GetScene(a)
1795 #define IDirect3DRMFrame3_GetSortMode(p) (p)->GetSortMode()
1796 #define IDirect3DRMFrame3_GetTexture(p,a) (p)->GetTexture(a)
1797 #define IDirect3DRMFrame3_GetTransform(p,a,b) (p)->GetTransform(a,b)
1798 #define IDirect3DRMFrame3_GetVelocity(p,a,b,c) (p)->GetVelocity(a,b,c)
1799 #define IDirect3DRMFrame3_GetOrientation(p,a,b,c) (p)->GetOrientation(a,b,c)
1800 #define IDirect3DRMFrame3_GetVisuals(p,a,b) (p)->GetVisuals(a,b)
1801 #define IDirect3DRMFrame3_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
1802 #define IDirect3DRMFrame3_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
1803 #define IDirect3DRMFrame3_LookAt(p,a,b,c) (p)->LookAt(a,b,c)
1804 #define IDirect3DRMFrame3_Move(p,a) (p)->Move(a)
1805 #define IDirect3DRMFrame3_DeleteChild(p,a) (p)->DeleteChild(a)
1806 #define IDirect3DRMFrame3_DeleteLight(p,a) (p)->DeleteLight(a)
1807 #define IDirect3DRMFrame3_DeleteMoveCallback(p,a,b) (p)->DeleteMoveCallback(a,b)
1808 #define IDirect3DRMFrame3_DeleteVisual(p,a) (p)->DeleteVisual(a)
1809 #define IDirect3DRMFrame3_GetSceneBackground(p) (p)->GetSceneBackground()
1810 #define IDirect3DRMFrame3_GetSceneBackgroundDepth(p,a) (p)->GetSceneBackgroundDepth(a)
1811 #define IDirect3DRMFrame3_GetSceneFogColor(p) (p)->GetSceneFogColor()
1812 #define IDirect3DRMFrame3_GetSceneFogEnable(p) (p)->GetSceneFogEnable()
1813 #define IDirect3DRMFrame3_GetSceneFogMode(p) (p)->GetSceneFogMode()
1814 #define IDirect3DRMFrame3_GetSceneFogParams(p,a,b,c) (p)->GetSceneFogParams(a,b,c)
1815 #define IDirect3DRMFrame3_SetSceneBackground(p,a) (p)->SetSceneBackground(a)
1816 #define IDirect3DRMFrame3_SetSceneBackgroundRGB(p,a,b,c) (p)->SetSceneBackgroundRGB(a,b,c)
1817 #define IDirect3DRMFrame3_SetSceneBackgroundDepth(p,a) (p)->SetSceneBackgroundDepth(a)
1818 #define IDirect3DRMFrame3_SetSceneBackgroundImage(p,a) (p)->SetSceneBackgroundImage(a)
1819 #define IDirect3DRMFrame3_SetSceneFogEnable(p,a) (p)->SetSceneFogEnable(a)
1820 #define IDirect3DRMFrame3_SetSceneFogColor(p,a) (p)->SetSceneFogColor(a)
1821 #define IDirect3DRMFrame3_SetSceneFogMode(p,a) (p)->SetSceneFogMode(a)
1822 #define IDirect3DRMFrame3_SetSceneFogParams(p,a,b,c) (p)->SetSceneFogParams(a,b,c)
1823 #define IDirect3DRMFrame3_SetColor(p,a) (p)->SetColor(a)
1824 #define IDirect3DRMFrame3_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
1825 #define IDirect3DRMFrame3_GetZbufferMode(p) (p)->GetZbufferMode()
1826 #define IDirect3DRMFrame3_SetMaterialMode(p,a) (p)->SetMaterialMode(a)
1827 #define IDirect3DRMFrame3_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
1828 #define IDirect3DRMFrame3_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
1829 #define IDirect3DRMFrame3_SetRotation(p,a,b,c,d,e) (p)->SetRotation(a,b,c,d,e)
1830 #define IDirect3DRMFrame3_SetSortMode(p,a) (p)->SetSortMode(a)
1831 #define IDirect3DRMFrame3_SetTexture(p,a) (p)->SetTexture(a)
1832 #define IDirect3DRMFrame3_SetVelocity(p,a,b,c,d,e) (p)->SetVelocity(a,b,c,d,e)
1833 #define IDirect3DRMFrame3_SetZbufferMode(p,a) (p)->SetZbufferMode(a)
1834 #define IDirect3DRMFrame3_Transform(p,a,b) (p)->Transform(a,b)
1835 #define IDirect3DRMFrame3_GetBox(p,a) (p)->GetBox(a)
1836 #define IDirect3DRMFrame3_GetBoxEnable(p) (p)->GetBoxEnable()
1837 #define IDirect3DRMFrame3_GetAxes(p,a,b) (p)->GetAxes(a,b)
1838 #define IDirect3DRMFrame3_GetMaterial(p,a) (p)->GetMaterial(a)
1839 #define IDirect3DRMFrame3_GetInheritAxes(p) (p)->GetInheritAxes()
1840 #define IDirect3DRMFrame3_GetHierarchyBox(p,a) (p)->GetHierarchyBox(a)
1841 #define IDirect3DRMFrame3_SetBox(p,a) (p)->SetBox(a)
1842 #define IDirect3DRMFrame3_SetBoxEnable(p,a) (p)->SetBoxEnable(a)
1843 #define IDirect3DRMFrame3_SetAxes(p,a,b,c,d,e,f) (p)->SetAxes(a,b,c,d,e,f)
1844 #define IDirect3DRMFrame3_SetInheritAxes(p,a) (p)->SetInheritAxes(a)
1845 #define IDirect3DRMFrame3_SetMaterial(p,a) (p)->SetMaterial(a)
1846 #define IDirect3DRMFrame3_SetQuaternion(p,a,b) (p)->SetQuaternion(a,b)
1847 #define IDirect3DRMFrame3_RayPick(p,a,b,c,d) (p)->RayPick(a,b,c,d)
1848 #define IDirect3DRMFrame3_Save(p,a,b,c) (p)->Save(a,b,c)
1849 #define IDirect3DRMFrame3_TransformVectors(p,a,b,c,d) (p)->TransformVectors(a,b,c,d)
1850 #define IDirect3DRMFrame3_InverseTransformVectors(p,a,b,c,d) (p)->InverseTransformVectors(a,b,c,d)
1851 #define IDirect3DRMFrame3_SetTraversalOptions(p,a) (p)->SetTraversalOptions(a)
1852 #define IDirect3DRMFrame3_GetTraversalOptions(p,a) (p)->GetTraversalOptions(a)
1853 #define IDirect3DRMFrame3_SetSceneFogMethod(p,a) (p)->SetSceneFogMethod(a)
1854 #define IDirect3DRMFrame3_GetSceneFogMethod(p,a) (p)->GetSceneFogMethod(a)
1855 #define IDirect3DRMFrame3_SetMaterialOverride(p,a) (p)->SetMaterialOverride(a)
1856 #define IDirect3DRMFrame3_GetMaterialOverride(p,a) (p)->GetMaterialOverride(a)
1857 #endif
1859 /*****************************************************************************
1860 * IDirect3DRMMesh interface
1862 #define INTERFACE IDirect3DRMMesh
1863 DECLARE_INTERFACE_(IDirect3DRMMesh,IDirect3DRMVisual)
1865 /*** IUnknown methods ***/
1866 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1867 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1868 STDMETHOD_(ULONG,Release)(THIS) PURE;
1869 /*** IDirect3DRMObject methods ***/
1870 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
1871 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1872 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1873 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
1874 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
1875 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
1876 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1877 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1878 /*** IDirect3DRMMesh methods ***/
1879 STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
1880 STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
1881 STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
1882 STDMETHOD(AddGroup)(THIS_ unsigned vCount, unsigned fCount, unsigned vPerFace, unsigned *fData,
1883 D3DRMGROUPINDEX *returnId) PURE;
1884 STDMETHOD(SetVertices)(THIS_ D3DRMGROUPINDEX id, unsigned index, unsigned count,
1885 D3DRMVERTEX *values) PURE;
1886 STDMETHOD(SetGroupColor)(THIS_ D3DRMGROUPINDEX id, D3DCOLOR value) PURE;
1887 STDMETHOD(SetGroupColorRGB)(THIS_ D3DRMGROUPINDEX id, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
1888 STDMETHOD(SetGroupMapping)(THIS_ D3DRMGROUPINDEX id, D3DRMMAPPING value) PURE;
1889 STDMETHOD(SetGroupQuality)(THIS_ D3DRMGROUPINDEX id, D3DRMRENDERQUALITY value) PURE;
1890 STDMETHOD(SetGroupMaterial)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMMATERIAL value) PURE;
1891 STDMETHOD(SetGroupTexture)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMTEXTURE value) PURE;
1892 STDMETHOD_(unsigned, GetGroupCount)(THIS) PURE;
1893 STDMETHOD(GetGroup)(THIS_ D3DRMGROUPINDEX id, unsigned *vCount, unsigned *fCount, unsigned *vPerFace,
1894 DWORD *fDataSize, unsigned *fData) PURE;
1895 STDMETHOD(GetVertices)(THIS_ D3DRMGROUPINDEX id, DWORD index, DWORD count, D3DRMVERTEX *returnPtr) PURE;
1896 STDMETHOD_(D3DCOLOR, GetGroupColor)(THIS_ D3DRMGROUPINDEX id) PURE;
1897 STDMETHOD_(D3DRMMAPPING, GetGroupMapping)(THIS_ D3DRMGROUPINDEX id) PURE;
1898 STDMETHOD_(D3DRMRENDERQUALITY, GetGroupQuality)(THIS_ D3DRMGROUPINDEX id) PURE;
1899 STDMETHOD(GetGroupMaterial)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMMATERIAL *returnPtr) PURE;
1900 STDMETHOD(GetGroupTexture)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMTEXTURE *returnPtr) PURE;
1902 #undef INTERFACE
1904 #if !defined(__cplusplus) || defined(CINTERFACE)
1905 /*** IUnknown methods ***/
1906 #define IDirect3DRMMesh_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1907 #define IDirect3DRMMesh_AddRef(p) (p)->lpVtbl->AddRef(p)
1908 #define IDirect3DRMMesh_Release(p) (p)->lpVtbl->Release(p)
1909 /*** IDirect3DRMObject methods ***/
1910 #define IDirect3DRMMesh_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
1911 #define IDirect3DRMMesh_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
1912 #define IDirect3DRMMesh_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
1913 #define IDirect3DRMMesh_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
1914 #define IDirect3DRMMesh_GetAppData(p) (p)->lpVtbl->GetAppData(p)
1915 #define IDirect3DRMMesh_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1916 #define IDirect3DRMMesh_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
1917 #define IDirect3DRMMesh_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
1918 /*** IDirect3DRMMesh methods ***/
1919 #define IDirect3DRMMesh_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
1920 #define IDirect3DRMMesh_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a,b,c)
1921 #define IDirect3DRMMesh_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
1922 #define IDirect3DRMMesh_AddGroup(p,a,b,c,d,e) (p)->lpVtbl->AddGroup(p,a,b,c,d,e)
1923 #define IDirect3DRMMesh_SetVertices(p,a,b,c,d) (p)->lpVtbl->SetVertices(p,a,b,c,d)
1924 #define IDirect3DRMMesh_SetGroupColor(p,a,b) (p)->lpVtbl->SetGroupColor(p,a,b)
1925 #define IDirect3DRMMesh_SetGroupColorRGB(p,a,b,c,d) (p)->lpVtbl->SetGroupColorRGB(p,a,b,c,d)
1926 #define IDirect3DRMMesh_SetGroupMapping(p,a,b) (p)->lpVtbl->SetGroupMapping(p,a,b)
1927 #define IDirect3DRMMesh_SetGroupQuality(p,a,b) (p)->lpVtbl->SetGroupQuality(p,a,b)
1928 #define IDirect3DRMMesh_SetGroupMaterial(p,a,b) (p)->lpVtbl->SetGroupMaterial(p,a,b)
1929 #define IDirect3DRMMesh_SetGroupTexture(p,a,b) (p)->lpVtbl->SetGroupTexture(p,a,b)
1930 #define IDirect3DRMMesh_GetGroupCount(p) (p)->lpVtbl->GetGroupCount(p)
1931 #define IDirect3DRMMesh_GetGroup(p,a,b,c,d,e,f) (p)->lpVtbl->GetGroup(p,a,b,c,d,e,f)
1932 #define IDirect3DRMMesh_GetVertices(p,a,b,c,d) (p)->lpVtbl->GetVertices(p,a,b,c,d)
1933 #define IDirect3DRMMesh_GetGroupColor(p,a) (p)->lpVtbl->GetGroupColor(p,a)
1934 #define IDirect3DRMMesh_GetGroupMapping(p,a) (p)->lpVtbl->GetGroupMapping(p,a)
1935 #define IDirect3DRMMesh_GetGroupQuality(p,a) (p)->lpVtbl->GetGroupQuality(p,a)
1936 #define IDirect3DRMMesh_GetGroupMaterial(p,a,b) (p)->lpVtbl->GetGroupMaterial(p,a,b)
1937 #define IDirect3DRMMesh_GetGroupTexture(p,a,b) (p)->lpVtbl->GetGroupTexture(p,a,b)
1938 #else
1939 /*** IUnknown methods ***/
1940 #define IDirect3DRMMesh_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1941 #define IDirect3DRMMesh_AddRef(p) (p)->AddRef()
1942 #define IDirect3DRMMesh_Release(p) (p)->Release()
1943 /*** IDirect3DRMObject methods ***/
1944 #define IDirect3DRMMesh_Clone(p,a,b,c) (p)->Clone(a,b,c)
1945 #define IDirect3DRMMesh_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
1946 #define IDirect3DRMMesh_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
1947 #define IDirect3DRMMesh_SetAppData(p,a) (p)->SetAppData(a)
1948 #define IDirect3DRMMesh_GetAppData(p) (p)->GetAppData()
1949 #define IDirect3DRMMesh_SetName(p,a) (p)->SetName(a)
1950 #define IDirect3DRMMesh_GetName(p,a,b) (p)->GetName(a,b)
1951 #define IDirect3DRMMesh_GetClassName(p,a,b) (p)->GetClassName(a,b)
1952 /*** IDirect3DRMMesh methods ***/
1953 #define IDirect3DRMMesh_Scale(p,a,b,c) (p)->Scale(a,b,c)
1954 #define IDirect3DRMMesh_Translate(p,a,b,c) (p)->Translate(a,b,c)
1955 #define IDirect3DRMMesh_GetBox(p,a) (p)->GetBox(a)
1956 #define IDirect3DRMMesh_AddGroup(p,a,b,c,d,e) (p)->AddGroup(a,b,c,d,e)
1957 #define IDirect3DRMMesh_SetVertices(p,a,b,c,d) (p)->SetVertices(a,b,c,d)
1958 #define IDirect3DRMMesh_SetGroupColor(p,a,b) (p)->SetGroupColor(a,b)
1959 #define IDirect3DRMMesh_SetGroupColorRGB(p,a,b,c,d) (p)->SetGroupColorRGB(a,b,c,d)
1960 #define IDirect3DRMMesh_SetGroupMapping(p,a,b) (p)->SetGroupMapping(a,b)
1961 #define IDirect3DRMMesh_SetGroupQuality(p,a,b) (p)->SetGroupQuality(a,b)
1962 #define IDirect3DRMMesh_SetGroupMaterial(p,a,b) (p)->SetGroupMaterial(a,b)
1963 #define IDirect3DRMMesh_SetGroupTexture(p,a,b) (p)->SetGroupTexture(a,b)
1964 #define IDirect3DRMMesh_GetGroupCount(p) (p)->GetGroupCount()
1965 #define IDirect3DRMMesh_GetGroup(p,a,b,c,d,e,f) (p)->GetGroup(a,b,c,d,e,f)
1966 #define IDirect3DRMMesh_GetVertices(p,a,b,c,d) (p)->GetVertices(a,b,c,d)
1967 #define IDirect3DRMMesh_GetGroupColor(p,a) (p)->GetGroupColor(a)
1968 #define IDirect3DRMMesh_GetGroupMapping(p,a) (p)->GetGroupMapping(a)
1969 #define IDirect3DRMMesh_GetGroupQuality(p,a) (p)->GetGroupQuality(a)
1970 #define IDirect3DRMMesh_GetGroupMaterial(p,a,b) (p)->GetGroupMaterial(a,b)
1971 #define IDirect3DRMMesh_GetGroupTexture(p,a,b) (p)->GetGroupTexture(a,b)
1972 #endif
1974 /*****************************************************************************
1975 * IDirect3DRMProgressiveMesh interface
1977 #define INTERFACE IDirect3DRMProgressiveMesh
1978 DECLARE_INTERFACE_(IDirect3DRMProgressiveMesh,IDirect3DRMVisual)
1980 /*** IUnknown methods ***/
1981 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1982 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1983 STDMETHOD_(ULONG,Release)(THIS) PURE;
1984 /*** IDirect3DRMObject methods ***/
1985 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
1986 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1987 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1988 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
1989 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
1990 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
1991 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1992 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1993 /*** IDirect3DRMProgressiveMesh methods ***/
1994 STDMETHOD(Load) (THIS_ LPVOID pObjLocation, LPVOID pObjId, D3DRMLOADOPTIONS dloLoadflags,
1995 D3DRMLOADTEXTURECALLBACK pCallback, LPVOID lpArg) PURE;
1996 STDMETHOD(GetLoadStatus) (THIS_ LPD3DRMPMESHLOADSTATUS pStatus) PURE;
1997 STDMETHOD(SetMinRenderDetail) (THIS_ D3DVALUE d3dVal) PURE;
1998 STDMETHOD(Abort) (THIS_ DWORD flags) PURE;
1999 STDMETHOD(GetFaceDetail) (THIS_ LPDWORD pCount) PURE;
2000 STDMETHOD(GetVertexDetail) (THIS_ LPDWORD pCount) PURE;
2001 STDMETHOD(SetFaceDetail) (THIS_ DWORD count) PURE;
2002 STDMETHOD(SetVertexDetail) (THIS_ DWORD count) PURE;
2003 STDMETHOD(GetFaceDetailRange) (THIS_ LPDWORD pMin, LPDWORD pMax) PURE;
2004 STDMETHOD(GetVertexDetailRange) (THIS_ LPDWORD pMin, LPDWORD pMax) PURE;
2005 STDMETHOD(GetDetail) (THIS_ D3DVALUE *pdvVal) PURE;
2006 STDMETHOD(SetDetail) (THIS_ D3DVALUE d3dVal) PURE;
2007 STDMETHOD(RegisterEvents) (THIS_ HANDLE event, DWORD flags, DWORD reserved) PURE;
2008 STDMETHOD(CreateMesh) (THIS_ LPDIRECT3DRMMESH *ppD3DRMMesh) PURE;
2009 STDMETHOD(Duplicate) (THIS_ LPDIRECT3DRMPROGRESSIVEMESH *ppD3DRMPMesh) PURE;
2010 STDMETHOD(GetBox) (THIS_ LPD3DRMBOX pBBox) PURE;
2011 STDMETHOD(SetQuality) (THIS_ D3DRMRENDERQUALITY) PURE;
2012 STDMETHOD(GetQuality) (THIS_ LPD3DRMRENDERQUALITY pQuality) PURE;
2014 #undef INTERFACE
2016 #if !defined(__cplusplus) || defined(CINTERFACE)
2017 /*** IUnknown methods ***/
2018 #define IDirect3DRMProgressiveMesh_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2019 #define IDirect3DRMProgressiveMesh_AddRef(p) (p)->lpVtbl->AddRef(p)
2020 #define IDirect3DRMProgressiveMesh_Release(p) (p)->lpVtbl->Release(p)
2021 /*** IDirect3DRMObject methods ***/
2022 #define IDirect3DRMProgressiveMesh_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2023 #define IDirect3DRMProgressiveMesh_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2024 #define IDirect3DRMProgressiveMesh_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2025 #define IDirect3DRMProgressiveMesh_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2026 #define IDirect3DRMProgressiveMesh_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2027 #define IDirect3DRMProgressiveMesh_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2028 #define IDirect3DRMProgressiveMesh_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2029 #define IDirect3DRMProgressiveMesh_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2030 /*** IDirect3DRMProgressiveMesh methods ***/
2031 #define IDirect3DRMProgressiveMesh_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
2032 #define IDirect3DRMProgressiveMesh_GetLoadStatus(p,a) (p)->lpVtbl->GetLoadStatus(p,a)
2033 #define IDirect3DRMProgressiveMesh_SetMinRenderDetail(p,a) (p)->lpVtbl->SetMinRenderDetail(p,a)
2034 #define IDirect3DRMProgressiveMesh_Abort(p,a) (p)->lpVtbl->Abort(p,a)
2035 #define IDirect3DRMProgressiveMesh_GetFaceDetail(p,a) (p)->lpVtbl->GetFaceDetail(p,a)
2036 #define IDirect3DRMProgressiveMesh_GetVertexDetail(p,a) (p)->lpVtbl->GetVertexDetail(p,a)
2037 #define IDirect3DRMProgressiveMesh_SetFaceDetail(p,a) (p)->lpVtbl->SetFaceDetail(p,a)
2038 #define IDirect3DRMProgressiveMesh_SetVertexDetail(p,a) (p)->lpVtbl->SetVertexDetail(p,a)
2039 #define IDirect3DRMProgressiveMesh_GetFaceDetailRange(p,a,b) (p)->lpVtbl->GetFaceDetailRange(p,a,b)
2040 #define IDirect3DRMProgressiveMesh_GetVertexDetailRange(p,a,b) (p)->lpVtbl->GetVertexDetailRange(p,a,b)
2041 #define IDirect3DRMProgressiveMesh_GetDetail(p,a) (p)->lpVtbl->GetDetail(p,a)
2042 #define IDirect3DRMProgressiveMesh_SetDetail(p,a) (p)->lpVtbl->SetDetail(p,a)
2043 #define IDirect3DRMProgressiveMesh_RegisterEvents(p,a,b,c) (p)->lpVtbl->RegisterEvents(p,a,b,c)
2044 #define IDirect3DRMProgressiveMesh_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
2045 #define IDirect3DRMProgressiveMesh_Duplicate(p,a) (p)->lpVtbl->Duplicate(p,a)
2046 #define IDirect3DRMProgressiveMesh_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
2047 #define IDirect3DRMProgressiveMesh_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
2048 #define IDirect3DRMProgressiveMesh_GetQuality(p,a) (p)->lpVtbl->GetQuality(p,a)
2049 #else
2050 /*** IUnknown methods ***/
2051 #define IDirect3DRMProgressiveMesh_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2052 #define IDirect3DRMProgressiveMesh_AddRef(p) (p)->AddRef()
2053 #define IDirect3DRMProgressiveMesh_Release(p) (p)->Release()
2054 /*** IDirect3DRMObject methods ***/
2055 #define IDirect3DRMProgressiveMesh_Clone(p,a,b,c) (p)->Clone(a,b,c)
2056 #define IDirect3DRMProgressiveMesh_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2057 #define IDirect3DRMProgressiveMesh_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2058 #define IDirect3DRMProgressiveMesh_SetAppData(p,a) (p)->SetAppData(a)
2059 #define IDirect3DRMProgressiveMesh_GetAppData(p) (p)->GetAppData()
2060 #define IDirect3DRMProgressiveMesh_SetName(p,a) (p)->SetName(a)
2061 #define IDirect3DRMProgressiveMesh_GetName(p,a,b) (p)->GetName(a,b)
2062 #define IDirect3DRMProgressiveMesh_GetClassName(p,a,b) (p)->GetClassName(a,b)
2063 /*** IDirect3DRMProgressiveMesh methods ***/
2064 #define IDirect3DRMProgressiveMesh_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
2065 #define IDirect3DRMProgressiveMesh_GetLoadStatus(p,a) (p)->GetLoadStatus(a)
2066 #define IDirect3DRMProgressiveMesh_SetMinRenderDetail(p,a) (p)->SetMinRenderDetail(a)
2067 #define IDirect3DRMProgressiveMesh_Abort(p,a) (p)->Abort(a)
2068 #define IDirect3DRMProgressiveMesh_GetFaceDetail(p,a) (p)->GetFaceDetail(a)
2069 #define IDirect3DRMProgressiveMesh_GetVertexDetail(p,a) (p)->GetVertexDetail(a)
2070 #define IDirect3DRMProgressiveMesh_SetFaceDetail(p,a) (p)->SetFaceDetail(a)
2071 #define IDirect3DRMProgressiveMesh_SetVertexDetail(p,a) (p)->SetVertexDetail(a)
2072 #define IDirect3DRMProgressiveMesh_GetFaceDetailRange(p,a,b) (p)->GetFaceDetailRange(a,b)
2073 #define IDirect3DRMProgressiveMesh_GetVertexDetailRange(p,a,b) (p)->GetVertexDetailRange(a,b)
2074 #define IDirect3DRMProgressiveMesh_GetDetail(p,a) (p)->GetDetail(a)
2075 #define IDirect3DRMProgressiveMesh_SetDetail(p,a) (p)->SetDetail(a)
2076 #define IDirect3DRMProgressiveMesh_RegisterEvents(p,a,b,c) (p)->RegisterEvents(a,b,c)
2077 #define IDirect3DRMProgressiveMesh_CreateMesh(p,a) (p)->CreateMesh(a)
2078 #define IDirect3DRMProgressiveMesh_Duplicate(p,a) (p)->Duplicate(a)
2079 #define IDirect3DRMProgressiveMesh_GetBox(p,a) (p)->GetBox(a)
2080 #define IDirect3DRMProgressiveMesh_SetQuality(p,a) (p)->SetQuality(a)
2081 #define IDirect3DRMProgressiveMesh_GetQuality(p,a) (p)->GetQuality(a)
2082 #endif
2084 /*****************************************************************************
2085 * IDirect3DRMShadow interface
2087 #define INTERFACE IDirect3DRMShadow
2088 DECLARE_INTERFACE_(IDirect3DRMShadow,IDirect3DRMVisual)
2090 /*** IUnknown methods ***/
2091 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2092 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2093 STDMETHOD_(ULONG,Release)(THIS) PURE;
2094 /*** IDirect3DRMObject methods ***/
2095 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2096 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2097 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2098 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2099 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2100 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2101 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2102 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2103 /*** IDirect3DRMShadow methods ***/
2104 STDMETHOD(Init)(THIS_ LPDIRECT3DRMVISUAL visual, LPDIRECT3DRMLIGHT light,
2105 D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz) PURE;
2107 #undef INTERFACE
2109 #if !defined(__cplusplus) || defined(CINTERFACE)
2110 /*** IUnknown methods ***/
2111 #define IDirect3DRMShadow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2112 #define IDirect3DRMShadow_AddRef(p) (p)->lpVtbl->AddRef(p)
2113 #define IDirect3DRMShadow_Release(p) (p)->lpVtbl->Release(p)
2114 /*** IDirect3DRMObject methods ***/
2115 #define IDirect3DRMShadow_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2116 #define IDirect3DRMShadow_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2117 #define IDirect3DRMShadow_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2118 #define IDirect3DRMShadow_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2119 #define IDirect3DRMShadow_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2120 #define IDirect3DRMShadow_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2121 #define IDirect3DRMShadow_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2122 #define IDirect3DRMShadow_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2123 /*** IDirect3DRMShadow methods ***/
2124 #define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g) (p)->lpVtbl->Load(p,a,b,c,d,e,f,g)
2125 #else
2126 /*** IUnknown methods ***/
2127 #define IDirect3DRMShadow_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2128 #define IDirect3DRMShadow_AddRef(p) (p)->AddRef()
2129 #define IDirect3DRMShadow_Release(p) (p)->Release()
2130 /*** IDirect3DRMObject methods ***/
2131 #define IDirect3DRMShadow_Clone(p,a,b,c) (p)->Clone(a,b,c)
2132 #define IDirect3DRMShadow_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2133 #define IDirect3DRMShadow_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2134 #define IDirect3DRMShadow_SetAppData(p,a) (p)->SetAppData(a)
2135 #define IDirect3DRMShadow_GetAppData(p) (p)->GetAppData()
2136 #define IDirect3DRMShadow_SetName(p,a) (p)->SetName(a)
2137 #define IDirect3DRMShadow_GetName(p,a,b) (p)->GetName(a,b)
2138 #define IDirect3DRMShadow_GetClassName(p,a,b) (p)->GetClassName(a,b)
2139 /*** IDirect3DRMShadow methods ***/
2140 #define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g) (p)->Load(a,b,c,d,e,f,g)
2141 #endif
2143 /*****************************************************************************
2144 * IDirect3DRMShadow2 interface
2146 #define INTERFACE IDirect3DRMShadow2
2147 DECLARE_INTERFACE_(IDirect3DRMShadow2,IDirect3DRMVisual)
2149 /*** IUnknown methods ***/
2150 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2151 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2152 STDMETHOD_(ULONG,Release)(THIS) PURE;
2153 /*** IDirect3DRMObject methods ***/
2154 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2155 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2156 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2157 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2158 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2159 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2160 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2161 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2162 /*** IDirect3DRMShadow methods ***/
2163 STDMETHOD(Init)(THIS_ LPUNKNOWN pUNK, LPDIRECT3DRMLIGHT light,
2164 D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz) PURE;
2165 /*** IDirect3DRMShadow2 methods ***/
2166 STDMETHOD(GetVisual)(THIS_ LPDIRECT3DRMVISUAL *) PURE;
2167 STDMETHOD(SetVisual)(THIS_ LPUNKNOWN pUNK, DWORD) PURE;
2168 STDMETHOD(GetLight)(THIS_ LPDIRECT3DRMLIGHT *) PURE;
2169 STDMETHOD(SetLight)(THIS_ LPDIRECT3DRMLIGHT, DWORD) PURE;
2170 STDMETHOD(GetPlane)(THIS_ LPD3DVALUE px, LPD3DVALUE py, LPD3DVALUE pz,
2171 LPD3DVALUE nx, LPD3DVALUE ny, LPD3DVALUE nz) PURE;
2172 STDMETHOD(SetPlane)(THIS_ D3DVALUE px, D3DVALUE py, D3DVALUE pz,
2173 D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, DWORD) PURE;
2174 STDMETHOD(GetOptions)(THIS_ LPDWORD) PURE;
2175 STDMETHOD(SetOptions)(THIS_ DWORD) PURE;
2177 #undef INTERFACE
2179 #if !defined(__cplusplus) || defined(CINTERFACE)
2180 /*** IUnknown methods ***/
2181 #define IDirect3DRMShadow2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2182 #define IDirect3DRMShadow2_AddRef(p) (p)->lpVtbl->AddRef(p)
2183 #define IDirect3DRMShadow2_Release(p) (p)->lpVtbl->Release(p)
2184 /*** IDirect3DRMObject methods ***/
2185 #define IDirect3DRMShadow2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2186 #define IDirect3DRMShadow2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2187 #define IDirect3DRMShadow2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2188 #define IDirect3DRMShadow2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2189 #define IDirect3DRMShadow2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2190 #define IDirect3DRMShadow2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2191 #define IDirect3DRMShadow2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2192 #define IDirect3DRMShadow2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2193 /*** IDirect3DRMShadow methods ***/
2194 #define IDirect3DRMShadow2_Init(p,a,b,c,d,e,f,g) (p)->lpVtbl->Init(p,a,b,c,d,e,f,g)
2195 /*** IDirect3DRMShadow2 methods ***/
2196 #define IDirect3DRMShadow2_GetVisual(p,a) (p)->lpVtbl->GetVisual(p,a)
2197 #define IDirect3DRMShadow2_SetVisual(p,a,b) (p)->lpVtbl->SetVisual(p,a,b)
2198 #define IDirect3DRMShadow2_GetLight(p,a) (p)->lpVtbl->GetLight(p,a)
2199 #define IDirect3DRMShadow2_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
2200 #define IDirect3DRMShadow2_GetPlane(p,a,b,c,d,e,f) (p)->lpVtbl->GetPlane(p,a,b,c,d,e,f)
2201 #define IDirect3DRMShadow2_SetPlane(p,a,b,c,d,e,f) (p)->lpVtbl->SetPlane(p,a,b,c,d,e,f)
2202 #define IDirect3DRMShadow2_GetOptions(p,a) (p)->lpVtbl->GetOptions(p,a)
2203 #define IDirect3DRMShadow2_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
2204 #else
2205 /*** IUnknown methods ***/
2206 #define IDirect3DRMShadow2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2207 #define IDirect3DRMShadow2_AddRef(p) (p)->AddRef()
2208 #define IDirect3DRMShadow2_Release(p) (p)->Release()
2209 /*** IDirect3DRMObject methods ***/
2210 #define IDirect3DRMShadow2_Clone(p,a,b,c) (p)->Clone(a,b,c)
2211 #define IDirect3DRMShadow2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2212 #define IDirect3DRMShadow2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2213 #define IDirect3DRMShadow2_SetAppData(p,a) (p)->SetAppData(a)
2214 #define IDirect3DRMShadow2_GetAppData(p) (p)->GetAppData()
2215 #define IDirect3DRMShadow2_SetName(p,a) (p)->SetName(a)
2216 #define IDirect3DRMShadow2_GetName(p,a,b) (p)->GetName(a,b)
2217 #define IDirect3DRMShadow2_GetClassName(p,a,b) (p)->GetClassName(a,b)
2218 /*** IDirect3DRMShadow methods ***/
2219 #define IDirect3DRMShadow2_Init(p,a,b,c,d,e,f,g) (p)->Init(a,b,c,d,e,f,g)
2220 /*** IDirect3DRMShadow2 methods ***/
2221 #define IDirect3DRMShadow2_GetVisual(p,a) (p)->GetVisual(a)
2222 #define IDirect3DRMShadow2_SetVisual(p,a,b) (p)->SetVisual(a,b)
2223 #define IDirect3DRMShadow2_GetLight(p,a) (p)->GetLight(a)
2224 #define IDirect3DRMShadow2_SetLight(p,a,b) (p)->SetLight(a,b)
2225 #define IDirect3DRMShadow2_GetPlane(p,a,b,c,d,e,f) (p)->GetPlane(a,b,c,d,e,f)
2226 #define IDirect3DRMShadow2_SetPlane(p,a,b,c,d,e,f) (p)->SetPlane(a,b,c,d,e,f)
2227 #define IDirect3DRMShadow2_GetOptions(p,a) (p)->GetOptions(a)
2228 #define IDirect3DRMShadow2_SetOptions(p,a) (p)->SetOptions(a)
2229 #endif
2231 /*****************************************************************************
2232 * IDirect3DRMFace interface
2234 #define INTERFACE IDirect3DRMFace
2235 DECLARE_INTERFACE_(IDirect3DRMFace,IDirect3DRMObject)
2237 /*** IUnknown methods ***/
2238 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2239 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2240 STDMETHOD_(ULONG,Release)(THIS) PURE;
2241 /*** IDirect3DRMObject methods ***/
2242 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2243 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2244 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2245 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2246 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2247 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2248 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2249 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2250 /*** IDirect3DRMFace methods ***/
2251 STDMETHOD(AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2252 STDMETHOD(AddVertexAndNormalIndexed)(THIS_ DWORD vertex, DWORD normal) PURE;
2253 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE, D3DVALUE, D3DVALUE) PURE;
2254 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
2255 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
2256 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE u, D3DVALUE v) PURE;
2257 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
2258 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
2259 STDMETHOD(GetVertex)(THIS_ DWORD index, D3DVECTOR *vertex, D3DVECTOR *normal) PURE;
2260 STDMETHOD(GetVertices)(THIS_ DWORD *vertex_count, D3DVECTOR *coords, D3DVECTOR *normals);
2261 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE *u, D3DVALUE *v) PURE;
2262 STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
2263 STDMETHOD(GetNormal)(THIS_ D3DVECTOR *) PURE;
2264 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE *) PURE;
2265 STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL *) PURE;
2266 STDMETHOD_(int, GetVertexCount)(THIS) PURE;
2267 STDMETHOD_(int, GetVertexIndex)(THIS_ DWORD which) PURE;
2268 STDMETHOD_(int, GetTextureCoordinateIndex)(THIS_ DWORD which) PURE;
2269 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
2271 #undef INTERFACE
2273 #if !defined(__cplusplus) || defined(CINTERFACE)
2274 /*** IUnknown methods ***/
2275 #define IDirect3DRMFace_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2276 #define IDirect3DRMFace_AddRef(p) (p)->lpVtbl->AddRef(p)
2277 #define IDirect3DRMFace_Release(p) (p)->lpVtbl->Release(p)
2278 /*** IDirect3DRMObject methods ***/
2279 #define IDirect3DRMFace_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2280 #define IDirect3DRMFace_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2281 #define IDirect3DRMFace_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2282 #define IDirect3DRMFace_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2283 #define IDirect3DRMFace_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2284 #define IDirect3DRMFace_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2285 #define IDirect3DRMFace_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2286 #define IDirect3DRMFace_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2287 /*** IDirect3DRMFace methods ***/
2288 #define IDirect3DRMFace_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2289 #define IDirect3DRMFace_AddVertexAndNormalIndexed(p,a,b) (p)->lpVtbl->AddVertexAndNormalIndexed(p,a,b)
2290 #define IDirect3DRMFace_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2291 #define IDirect3DRMFace_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2292 #define IDirect3DRMFace_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2293 #define IDirect3DRMFace_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2294 #define IDirect3DRMFace_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
2295 #define IDirect3DRMFace_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2296 #define IDirect3DRMFace_GetVertex(p,a,b,c) (p)->lpVtbl->GetVertex(p,a,b,c)
2297 #define IDirect3DRMFace_GetVertices(p,a,b,c) (p)->lpVtbl->GetVertices(p,a,b,c)
2298 #define IDirect3DRMFace_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2299 #define IDirect3DRMFace_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
2300 #define IDirect3DRMFace_GetNormal(p,a) (p)->lpVtbl->GetNormal(p,a)
2301 #define IDirect3DRMFace_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
2302 #define IDirect3DRMFace_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2303 #define IDirect3DRMFace_GetVertexIndex(p,a) (p)->lpVtbl->GetVertexIndex(p,a)
2304 #define IDirect3DRMFace_GetTextureCoordinateIndex(p,a) (p)->lpVtbl->GetTextureCoordinateIndex(p,a)
2305 #define IDirect3DRMFace_GetColor(p,a) (p)->lpVtbl->GetColor(p,a)
2306 #else
2307 /*** IUnknown methods ***/
2308 #define IDirect3DRMFace_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2309 #define IDirect3DRMFace_AddRef(p) (p)->AddRef()
2310 #define IDirect3DRMFace_Release(p) (p)->Release()
2311 /*** IDirect3DRMObject methods ***/
2312 #define IDirect3DRMFace_Clone(p,a,b,c) (p)->Clone(a,b,c)
2313 #define IDirect3DRMFace_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2314 #define IDirect3DRMFace_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2315 #define IDirect3DRMFace_SetAppData(p,a) (p)->SetAppData(a)
2316 #define IDirect3DRMFace_GetAppData(p) (p)->GetAppData()
2317 #define IDirect3DRMFace_SetName(p,a) (p)->SetName(a)
2318 #define IDirect3DRMFace_GetName(p,a,b) (p)->GetName(a,b)
2319 #define IDirect3DRMFace_GetClassName(p,a,b) (p)->GetClassName(a,b)
2320 /*** IDirect3DRMFace methods ***/
2321 #define IDirect3DRMFace_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
2322 #define IDirect3DRMFace_AddVertexAndNormalIndexed(p,a,b) (p)->AddVertexAndNormalIndexed(a,b)
2323 #define IDirect3DRMFace_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
2324 #define IDirect3DRMFace_SetColor(p,a) (p)->SetColor(a)
2325 #define IDirect3DRMFace_SetTexture(p,a) (p)->SetTexture(a)
2326 #define IDirect3DRMFace_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
2327 #define IDirect3DRMFace_SetMaterial(p,a) (p)->SetMaterial(a)
2328 #define IDirect3DRMFace_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
2329 #define IDirect3DRMFace_GetVertex(p,a,b,c) (p)->GetVertex(a,b,c)
2330 #define IDirect3DRMFace_GetVertices(p,a,b,c) (p)->GetVertices(a,b,c)
2331 #define IDirect3DRMFace_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
2332 #define IDirect3DRMFace_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
2333 #define IDirect3DRMFace_GetNormal(p,a) (p)->GetNormal(a)
2334 #define IDirect3DRMFace_GetTexture(p,a) (p)->GetTexture(a)
2335 #define IDirect3DRMFace_GetVertexCount(p) (p)->GetVertexCount()
2336 #define IDirect3DRMFace_GetVertexIndex(p,a) (p)->GetVertexIndex(a)
2337 #define IDirect3DRMFace_GetTextureCoordinateIndex(p,a) (p)->GetTextureCoordinateIndex(a)
2338 #define IDirect3DRMFace_GetColor(p,a) (p)->GetColor(a)
2339 #endif
2341 /*****************************************************************************
2342 * IDirect3DRMFace2 interface
2344 #define INTERFACE IDirect3DRMFace2
2345 DECLARE_INTERFACE_(IDirect3DRMFace2,IDirect3DRMObject)
2347 /*** IUnknown methods ***/
2348 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2349 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2350 STDMETHOD_(ULONG,Release)(THIS) PURE;
2351 /*** IDirect3DRMObject methods ***/
2352 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2353 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2354 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2355 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2356 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2357 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2358 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2359 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2360 /*** IDirect3DRMFace methods ***/
2361 STDMETHOD(AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2362 STDMETHOD(AddVertexAndNormalIndexed)(THIS_ DWORD vertex, DWORD normal) PURE;
2363 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE, D3DVALUE, D3DVALUE) PURE;
2364 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
2365 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
2366 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE u, D3DVALUE v) PURE;
2367 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE;
2368 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
2369 STDMETHOD(GetVertex)(THIS_ DWORD index, D3DVECTOR *vertex, D3DVECTOR *normal) PURE;
2370 STDMETHOD(GetVertices)(THIS_ DWORD *vertex_count, D3DVECTOR *coords, D3DVECTOR *normals);
2371 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE *u, D3DVALUE *v) PURE;
2372 STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
2373 STDMETHOD(GetNormal)(THIS_ D3DVECTOR *) PURE;
2374 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE3 *) PURE;
2375 STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2 *) PURE;
2376 STDMETHOD_(int, GetVertexCount)(THIS) PURE;
2377 STDMETHOD_(int, GetVertexIndex)(THIS_ DWORD which) PURE;
2378 STDMETHOD_(int, GetTextureCoordinateIndex)(THIS_ DWORD which) PURE;
2379 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
2381 #undef INTERFACE
2383 #if !defined(__cplusplus) || defined(CINTERFACE)
2384 /*** IUnknown methods ***/
2385 #define IDirect3DRMFace2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2386 #define IDirect3DRMFace2_AddRef(p) (p)->lpVtbl->AddRef(p)
2387 #define IDirect3DRMFace2_Release(p) (p)->lpVtbl->Release(p)
2388 /*** IDirect3DRMObject methods ***/
2389 #define IDirect3DRMFace2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2390 #define IDirect3DRMFace2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2391 #define IDirect3DRMFace2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2392 #define IDirect3DRMFace2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2393 #define IDirect3DRMFace2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2394 #define IDirect3DRMFace2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2395 #define IDirect3DRMFace2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2396 #define IDirect3DRMFace2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2397 /*** IDirect3DRMFace methods ***/
2398 #define IDirect3DRMFace2_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2399 #define IDirect3DRMFace2_AddVertexAndNormalIndexed(p,a,b) (p)->lpVtbl->AddVertexAndNormalIndexed(p,a,b)
2400 #define IDirect3DRMFace2_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2401 #define IDirect3DRMFace2_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2402 #define IDirect3DRMFace2_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2403 #define IDirect3DRMFace2_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2404 #define IDirect3DRMFace2_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
2405 #define IDirect3DRMFace2_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2406 #define IDirect3DRMFace2_GetVertex(p,a,b,c) (p)->lpVtbl->GetVertex(p,a,b,c)
2407 #define IDirect3DRMFace2_GetVertices(p,a,b,c) (p)->lpVtbl->GetVertices(p,a,b,c)
2408 #define IDirect3DRMFace2_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2409 #define IDirect3DRMFace2_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
2410 #define IDirect3DRMFace2_GetNormal(p,a) (p)->lpVtbl->GetNormal(p,a)
2411 #define IDirect3DRMFace2_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
2412 #define IDirect3DRMFace2_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2413 #define IDirect3DRMFace2_GetVertexIndex(p,a) (p)->lpVtbl->GetVertexIndex(p,a)
2414 #define IDirect3DRMFace2_GetTextureCoordinateIndex(p,a) (p)->lpVtbl->GetTextureCoordinateIndex(p,a)
2415 #define IDirect3DRMFace2_GetColor(p,a) (p)->lpVtbl->GetColor(p,a)
2416 #else
2417 /*** IUnknown methods ***/
2418 #define IDirect3DRMFace2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2419 #define IDirect3DRMFace2_AddRef(p) (p)->AddRef()
2420 #define IDirect3DRMFace2_Release(p) (p)->Release()
2421 /*** IDirect3DRMObject methods ***/
2422 #define IDirect3DRMFace2_Clone(p,a,b,c) (p)->Clone(a,b,c)
2423 #define IDirect3DRMFace2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2424 #define IDirect3DRMFace2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2425 #define IDirect3DRMFace2_SetAppData(p,a) (p)->SetAppData(a)
2426 #define IDirect3DRMFace2_GetAppData(p) (p)->GetAppData()
2427 #define IDirect3DRMFace2_SetName(p,a) (p)->SetName(a)
2428 #define IDirect3DRMFace2_GetName(p,a,b) (p)->GetName(a,b)
2429 #define IDirect3DRMFace2_GetClassName(p,a,b) (p)->GetClassName(a,b)
2430 /*** IDirect3DRMFace methods ***/
2431 #define IDirect3DRMFace2_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
2432 #define IDirect3DRMFace2_AddVertexAndNormalIndexed(p,a,b) (p)->AddVertexAndNormalIndexed(a,b)
2433 #define IDirect3DRMFace2_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
2434 #define IDirect3DRMFace2_SetColor(p,a) (p)->SetColor(a)
2435 #define IDirect3DRMFace2_SetTexture(p,a) (p)->SetTexture(a)
2436 #define IDirect3DRMFace2_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
2437 #define IDirect3DRMFace2_SetMaterial(p,a) (p)->SetMaterial(a)
2438 #define IDirect3DRMFace2_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
2439 #define IDirect3DRMFace2_GetVertex(p,a,b,c) (p)->GetVertex(a,b,c)
2440 #define IDirect3DRMFace2_GetVertices(p,a,b,c) (p)->GetVertices(a,b,c)
2441 #define IDirect3DRMFace2_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
2442 #define IDirect3DRMFace2_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
2443 #define IDirect3DRMFace2_GetNormal(p,a) (p)->GetNormal(a)
2444 #define IDirect3DRMFace2_GetTexture(p,a) (p)->GetTexture(a)
2445 #define IDirect3DRMFace2_GetVertexCount(p) (p)->GetVertexCount()
2446 #define IDirect3DRMFace2_GetVertexIndex(p,a) (p)->GetVertexIndex(a)
2447 #define IDirect3DRMFace2_GetTextureCoordinateIndex(p,a) (p)->GetTextureCoordinateIndex(a)
2448 #define IDirect3DRMFace2_GetColor(p,a) (p)->GetColor(a)
2449 #endif
2451 /*****************************************************************************
2452 * IDirect3DRMMeshBuilder interface
2454 #define INTERFACE IDirect3DRMMeshBuilder
2455 DECLARE_INTERFACE_(IDirect3DRMMeshBuilder,IDirect3DRMVisual)
2457 /*** IUnknown methods ***/
2458 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2459 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2460 STDMETHOD_(ULONG,Release)(THIS) PURE;
2461 /*** IDirect3DRMObject methods ***/
2462 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2463 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2464 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2465 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2466 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2467 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2468 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2469 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2470 /*** IDirect3DRMMeshBuilder methods ***/
2471 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK, LPVOID pArg) PURE;
2472 STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE;
2473 STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
2474 STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
2475 STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE;
2476 STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
2477 STDMETHOD(GenerateNormals)(THIS) PURE;
2478 STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE;
2479 STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE;
2480 STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER) PURE;
2481 STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME) PURE;
2482 STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE) PURE;
2483 STDMETHOD(AddFaces)(THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, DWORD *data,
2484 LPDIRECT3DRMFACEARRAY*) PURE;
2485 STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE;
2486 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2487 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
2488 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
2489 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
2490 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
2491 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
2492 STDMETHOD(SetPerspective)(THIS_ BOOL) PURE;
2493 STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2494 STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2495 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE;
2496 STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE;
2497 STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2498 STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE;
2499 STDMETHOD(GetVertices)(THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals,
2500 DWORD *face_data_size, DWORD *face_data) PURE;
2501 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE;
2502 STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2503 STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2504 STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE*) PURE;
2505 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
2506 STDMETHOD_(BOOL, GetPerspective)(THIS) PURE;
2507 STDMETHOD_(int, GetFaceCount)(THIS) PURE;
2508 STDMETHOD_(int, GetVertexCount)(THIS) PURE;
2509 STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE;
2510 STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE;
2512 #undef INTERFACE
2514 #if !defined(__cplusplus) || defined(CINTERFACE)
2515 /*** IUnknown methods ***/
2516 #define IDirect3DRMMeshBuilder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2517 #define IDirect3DRMMeshBuilder_AddRef(p) (p)->lpVtbl->AddRef(p)
2518 #define IDirect3DRMMeshBuilder_Release(p) (p)->lpVtbl->Release(p)
2519 /*** IDirect3DRMObject methods ***/
2520 #define IDirect3DRMMeshBuilder_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2521 #define IDirect3DRMMeshBuilder_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2522 #define IDirect3DRMMeshBuilder_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2523 #define IDirect3DRMMeshBuilder_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2524 #define IDirect3DRMMeshBuilder_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2525 #define IDirect3DRMMeshBuilder_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2526 #define IDirect3DRMMeshBuilder_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2527 #define IDirect3DRMMeshBuilder_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2528 /*** IDirect3DRMMeshBuilder methods ***/
2529 #define IDirect3DRMMeshBuilder_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
2530 #define IDirect3DRMMeshBuilder_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
2531 #define IDirect3DRMMeshBuilder_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
2532 #define IDirect3DRMMeshBuilder_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a)
2533 #define IDirect3DRMMeshBuilder_SetColorSource(p,a) (p)->lpVtbl->SetColorSource(p,a,b,c)
2534 #define IDirect3DRMMeshBuilder_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
2535 #define IDirect3DRMMeshBuilder_GenerateNormals(p) (p)->lpVtbl->GenerateNormals(p)
2536 #define IDirect3DRMMeshBuilder_GetColorSource(p) (p)->lpVtbl->GetColorSource(p)
2537 #define IDirect3DRMMeshBuilder_AddMesh(p,a) (p)->lpVtbl->AddMesh(p,a)
2538 #define IDirect3DRMMeshBuilder_AddMeshBuilder(p,a) (p)->lpVtbl->AddMeshBuilder(p,a)
2539 #define IDirect3DRMMeshBuilder_AddFrame(p,a) (p)->lpVtbl->AddFrame(p,a)
2540 #define IDirect3DRMMeshBuilder_AddFace(p,a) (p)->lpVtbl->AddFace(p,a)
2541 #define IDirect3DRMMeshBuilder_AddFaces(p,a,b,c,d,e,f) (p)->lpVtbl->AddFaces(p,a,b,c,d,e,f)
2542 #define IDirect3DRMMeshBuilder_ReserveSpace(p,a,b,c) (p)->lpVtbl->ReserveSpace(p,a,b,c)
2543 #define IDirect3DRMMeshBuilder_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2544 #define IDirect3DRMMeshBuilder_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2545 #define IDirect3DRMMeshBuilder_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2546 #define IDirect3DRMMeshBuilder_SetMateria(p,a) (p)->lpVtbl->SetMateria(p,a)
2547 #define IDirect3DRMMeshBuilder_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2548 #define IDirect3DRMMeshBuilder_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
2549 #define IDirect3DRMMeshBuilder_SetPerspective(p,a) (p)->lpVtbl->SetPerspective(p,a)
2550 #define IDirect3DRMMeshBuilder_SetVertex(p,a,b,c,d) (p)->lpVtbl->SetVertex(p,a,b,c,d)
2551 #define IDirect3DRMMeshBuilder_SetNormal(p,a,b,c,d) (p)->lpVtbl->SetNormal(p,a,b,c,d)
2552 #define IDirect3DRMMeshBuilder_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2553 #define IDirect3DRMMeshBuilder_SetVertexColor(p,a,b) (p)->lpVtbl->SetVertexColor(p,a,b)
2554 #define IDirect3DRMMeshBuilder_SetVertexColorRGB(p,a,b,c,d) (p)->lpVtbl->SetVertexColorRGB(p,a,b,c,d)
2555 #define IDirect3DRMMeshBuilder_GetFaces(p,a) (p)->lpVtbl->GetFaces(p,a)
2556 #define IDirect3DRMMeshBuilder_GetVertices(p,a,b,c,d,e,f) (p)->lpVtbl->GetVertices(p,a,b,c,d,e,f)
2557 #define IDirect3DRMMeshBuilder_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2558 #define IDirect3DRMMeshBuilder_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2559 #define IDirect3DRMMeshBuilder_AddNormal(p,a,b,c) (p)->lpVtbl->AddNormal(p,a,b,c)
2560 #define IDirect3DRMMeshBuilder_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
2561 #define IDirect3DRMMeshBuilder_GetQuality(p) (p)->lpVtbl->GetQuality(p)
2562 #define IDirect3DRMMeshBuilder_GetPerspective(p) (p)->lpVtbl->GetPerspective(p)
2563 #define IDirect3DRMMeshBuilder_GetFaceCount(p) (p)->lpVtbl->GetFaceCount(p)
2564 #define IDirect3DRMMeshBuilder_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2565 #define IDirect3DRMMeshBuilder_GetVertexColor(p,a) (p)->lpVtbl->GetVertexColor(p,a)
2566 #define IDirect3DRMMeshBuilder_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
2567 #else
2568 /*** IUnknown methods ***/
2569 #define IDirect3DRMMeshBuilder_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2570 #define IDirect3DRMMeshBuilder_AddRef(p) (p)->AddRef()
2571 #define IDirect3DRMMeshBuilder_Release(p) (p)->Release()
2572 /*** IDirect3DRMObject methods ***/
2573 #define IDirect3DRMMeshBuilder_Clone(p,a,b,c) (p)->Clone(a,b,c)
2574 #define IDirect3DRMMeshBuilder_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2575 #define IDirect3DRMMeshBuilder_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2576 #define IDirect3DRMMeshBuilder_SetAppData(p,a) (p)->SetAppData(a)
2577 #define IDirect3DRMMeshBuilder_GetAppData(p) (p)->GetAppData()
2578 #define IDirect3DRMMeshBuilder_SetName(p,a) (p)->SetName(a)
2579 #define IDirect3DRMMeshBuilder_GetName(p,a,b) (p)->GetName(a,b)
2580 #define IDirect3DRMMeshBuilder_GetClassName(p,a,b) (p)->GetClassName(a,b)
2581 /*** IDirect3DRMMeshBuilder methods ***/
2582 #define IDirect3DRMMeshBuilder_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
2583 #define IDirect3DRMMeshBuilder_Save(p,a,b,c) (p)->Save(a,b,c)
2584 #define IDirect3DRMMeshBuilder_Scale(p,a,b,c) (p)->Scale(a,b,c)
2585 #define IDirect3DRMMeshBuilder_Translate(p,a,b,c) (p)->Translate(a)
2586 #define IDirect3DRMMeshBuilder_SetColorSource(p,a) (p)->SetColorSource(a,b,c)
2587 #define IDirect3DRMMeshBuilder_GetBox(p,a) (p)->GetBox(a)
2588 #define IDirect3DRMMeshBuilder_GenerateNormals(p) (p)->GenerateNormals()
2589 #define IDirect3DRMMeshBuilder_GetColorSource(p) (p)->GetColorSource()
2590 #define IDirect3DRMMeshBuilder_AddMesh(p,a) (p)-->AddMesh(a)
2591 #define IDirect3DRMMeshBuilder_AddMeshBuilder(p,a) (p)->AddMeshBuilder(a)
2592 #define IDirect3DRMMeshBuilder_AddFrame(p,a) (p)->AddFrame(a)
2593 #define IDirect3DRMMeshBuilder_AddFace(p,a) (p)->AddFace(a)
2594 #define IDirect3DRMMeshBuilder_AddFaces(p,a,b,c,d,e,f) (p)->AddFaces(a,b,c,d,e,f)
2595 #define IDirect3DRMMeshBuilder_ReserveSpace(p,a,b,c) (p)->ReserveSpace(a,b,c)
2596 #define IDirect3DRMMeshBuilder_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
2597 #define IDirect3DRMMeshBuilder_SetColor(p,a) (p)->SetColor(a)
2598 #define IDirect3DRMMeshBuilder_SetTexture(p,a) (p)->SetTexture(a)
2599 #define IDirect3DRMMeshBuilder_SetMateria(p,a) (p)->SetMateria(a)
2600 #define IDirect3DRMMeshBuilder_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
2601 #define IDirect3DRMMeshBuilder_SetQuality(p,a) (p)->SetQuality(a)
2602 #define IDirect3DRMMeshBuilder_SetPerspective(p,a) (p)->SetPerspective(a)
2603 #define IDirect3DRMMeshBuilder_SetVertex(p,a,b,c,d) (p)->SetVertex(a,b,c,d)
2604 #define IDirect3DRMMeshBuilder_SetNormal(p,a,b,c,d) (p)->SetNormal(a,b,c,d)
2605 #define IDirect3DRMMeshBuilder_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
2606 #define IDirect3DRMMeshBuilder_SetVertexColor(p,a,b) (p)->SetVertexColor(a,b)
2607 #define IDirect3DRMMeshBuilder_SetVertexColorRGB(p,a,b,c,d) (p)->SetVertexColorRGB(a,b,c,d)
2608 #define IDirect3DRMMeshBuilder_GetFaces(p,a) (p)->GetFaces(a)
2609 #define IDirect3DRMMeshBuilder_GetVertices(p,a,b,c,d,e,f) (p)->GetVertices(a,b,c,d,e,f)
2610 #define IDirect3DRMMeshBuilder_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
2611 #define IDirect3DRMMeshBuilder_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
2612 #define IDirect3DRMMeshBuilder_AddNormal(p,a,b,c) (p)->AddNormal(a,b,c)
2613 #define IDirect3DRMMeshBuilder_CreateFace(p,a) (p)->CreateFace(a)
2614 #define IDirect3DRMMeshBuilder_GetQuality(p) (p)->GetQuality()
2615 #define IDirect3DRMMeshBuilder_GetPerspective(p) (p)->GetPerspective()
2616 #define IDirect3DRMMeshBuilder_GetFaceCount(p) (p)->GetFaceCount()
2617 #define IDirect3DRMMeshBuilder_GetVertexCount(p) (p)->GetVertexCount()
2618 #define IDirect3DRMMeshBuilder_GetVertexColor(p,a) (p)->GetVertexColor(a)
2619 #define IDirect3DRMMeshBuilder_CreateMesh(p,a) (p)->CreateMesh(a)
2620 #endif
2622 /*****************************************************************************
2623 * IDirect3DRMMeshBuilder2 interface
2625 #define INTERFACE IDirect3DRMMeshBuilder2
2626 DECLARE_INTERFACE_(IDirect3DRMMeshBuilder2,IDirect3DRMMeshBuilder)
2628 /*** IUnknown methods ***/
2629 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2630 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2631 STDMETHOD_(ULONG,Release)(THIS) PURE;
2632 /*** IDirect3DRMObject methods ***/
2633 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2634 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2635 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2636 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2637 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2638 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2639 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2640 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2641 /*** IDirect3DRMMeshBuilder methods ***/
2642 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK, LPVOID pArg) PURE;
2643 STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE;
2644 STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
2645 STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
2646 STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE;
2647 STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
2648 STDMETHOD(GenerateNormals)(THIS) PURE;
2649 STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE;
2650 STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE;
2651 STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER) PURE;
2652 STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME) PURE;
2653 STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE) PURE;
2654 STDMETHOD(AddFaces)(THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, DWORD *data,
2655 LPDIRECT3DRMFACEARRAY*) PURE;
2656 STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE;
2657 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2658 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
2659 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
2660 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
2661 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
2662 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
2663 STDMETHOD(SetPerspective)(THIS_ BOOL) PURE;
2664 STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2665 STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2666 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE;
2667 STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE;
2668 STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2669 STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE;
2670 STDMETHOD(GetVertices)(THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals,
2671 DWORD *face_data_size, DWORD *face_data) PURE;
2672 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE;
2673 STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2674 STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2675 STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE*) PURE;
2676 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
2677 STDMETHOD_(BOOL, GetPerspective)(THIS) PURE;
2678 STDMETHOD_(int, GetFaceCount)(THIS) PURE;
2679 STDMETHOD_(int, GetVertexCount)(THIS) PURE;
2680 STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE;
2681 STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE;
2682 /*** IDirect3DRMMeshBuilder2 methods ***/
2683 STDMETHOD(GenerateNormals2)(THIS_ D3DVALUE crease, DWORD flags) PURE;
2684 STDMETHOD(GetFace)(THIS_ DWORD index, LPDIRECT3DRMFACE*) PURE;
2686 #undef INTERFACE
2688 #if !defined(__cplusplus) || defined(CINTERFACE)
2689 /*** IUnknown methods ***/
2690 #define IDirect3DRMMeshBuilder2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2691 #define IDirect3DRMMeshBuilder2_AddRef(p) (p)->lpVtbl->AddRef(p)
2692 #define IDirect3DRMMeshBuilder2_Release(p) (p)->lpVtbl->Release(p)
2693 /*** IDirect3DRMObject methods ***/
2694 #define IDirect3DRMMeshBuilder2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2695 #define IDirect3DRMMeshBuilder2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2696 #define IDirect3DRMMeshBuilder2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2697 #define IDirect3DRMMeshBuilder2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2698 #define IDirect3DRMMeshBuilder2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2699 #define IDirect3DRMMeshBuilder2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2700 #define IDirect3DRMMeshBuilder2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2701 #define IDirect3DRMMeshBuilder2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2702 /*** IDirect3DRMMeshBuilder methods ***/
2703 #define IDirect3DRMMeshBuilder2_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
2704 #define IDirect3DRMMeshBuilder2_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
2705 #define IDirect3DRMMeshBuilder2_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
2706 #define IDirect3DRMMeshBuilder2_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a)
2707 #define IDirect3DRMMeshBuilder2_SetColorSource(p,a) (p)->lpVtbl->SetColorSource(p,a,b,c)
2708 #define IDirect3DRMMeshBuilder2_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
2709 #define IDirect3DRMMeshBuilder2_GenerateNormals(p) (p)->lpVtbl->GenerateNormals(p)
2710 #define IDirect3DRMMeshBuilder2_GetColorSource(p) (p)->lpVtbl->GetColorSource(p)
2711 #define IDirect3DRMMeshBuilder2_AddMesh(p,a) (p)->lpVtbl->AddMesh(p,a)
2712 #define IDirect3DRMMeshBuilder2_AddMeshBuilder(p,a) (p)->lpVtbl->AddMeshBuilder(p,a)
2713 #define IDirect3DRMMeshBuilder2_AddFrame(p,a) (p)->lpVtbl->AddFrame(p,a)
2714 #define IDirect3DRMMeshBuilder2_AddFace(p,a) (p)->lpVtbl->AddFace(p,a)
2715 #define IDirect3DRMMeshBuilder2_AddFaces(p,a,b,c,d,e,f) (p)->lpVtbl->AddFaces(p,a,b,c,d,e,f)
2716 #define IDirect3DRMMeshBuilder2_ReserveSpace(p,a,b,c) (p)->lpVtbl->ReserveSpace(p,a,b,c)
2717 #define IDirect3DRMMeshBuilder2_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2718 #define IDirect3DRMMeshBuilder2_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2719 #define IDirect3DRMMeshBuilder2_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2720 #define IDirect3DRMMeshBuilder2_SetMateria(p,a) (p)->lpVtbl->SetMateria(p,a)
2721 #define IDirect3DRMMeshBuilder2_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2722 #define IDirect3DRMMeshBuilder2_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
2723 #define IDirect3DRMMeshBuilder2_SetPerspective(p,a) (p)->lpVtbl->SetPerspective(p,a)
2724 #define IDirect3DRMMeshBuilder2_SetVertex(p,a,b,c,d) (p)->lpVtbl->SetVertex(p,a,b,c,d)
2725 #define IDirect3DRMMeshBuilder2_SetNormal(p,a,b,c,d) (p)->lpVtbl->SetNormal(p,a,b,c,d)
2726 #define IDirect3DRMMeshBuilder2_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2727 #define IDirect3DRMMeshBuilder2_SetVertexColor(p,a,b) (p)->lpVtbl->SetVertexColor(p,a,b)
2728 #define IDirect3DRMMeshBuilder2_SetVertexColorRGB(p,a,b,c,d) (p)->lpVtbl->SetVertexColorRGB(p,a,b,c,d)
2729 #define IDirect3DRMMeshBuilder2_GetFaces(p,a) (p)->lpVtbl->GetFaces(p,a)
2730 #define IDirect3DRMMeshBuilder2_GetVertices(p,a,b,c,d,e,f) (p)->lpVtbl->GetVertices(p,a,b,c,d,e,f)
2731 #define IDirect3DRMMeshBuilder2_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2732 #define IDirect3DRMMeshBuilder2_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2733 #define IDirect3DRMMeshBuilder2_AddNormal(p,a,b,c) (p)->lpVtbl->AddNormal(p,a,b,c)
2734 #define IDirect3DRMMeshBuilder2_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
2735 #define IDirect3DRMMeshBuilder2_GetQuality(p) (p)->lpVtbl->GetQuality(p)
2736 #define IDirect3DRMMeshBuilder2_GetPerspective(p) (p)->lpVtbl->GetPerspective(p)
2737 #define IDirect3DRMMeshBuilder2_GetFaceCount(p) (p)->lpVtbl->GetFaceCount(p)
2738 #define IDirect3DRMMeshBuilder2_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2739 #define IDirect3DRMMeshBuilder2_GetVertexColor(p,a) (p)->lpVtbl->GetVertexColor(p,a)
2740 #define IDirect3DRMMeshBuilder2_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
2741 /*** IDirect3DRMMeshBuilder2 methods ***/
2742 #define IDirect3DRMMeshBuilder2_GenerateNormals2(p,a,b) (p)->lpVtbl->GenerateNormals2(p,a,b)
2743 #define IDirect3DRMMeshBuilder2_GetFace(p,a,b) (p)->lpVtbl->GetFace(p,a,b)
2744 #else
2745 /*** IUnknown methods ***/
2746 #define IDirect3DRMMeshBuilder2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2747 #define IDirect3DRMMeshBuilder2_AddRef(p) (p)->AddRef()
2748 #define IDirect3DRMMeshBuilder2_Release(p) (p)->Release()
2749 /*** IDirect3DRMObject methods ***/
2750 #define IDirect3DRMMeshBuilder2_Clone(p,a,b,c) (p)->Clone(a,b,c)
2751 #define IDirect3DRMMeshBuilder2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2752 #define IDirect3DRMMeshBuilder2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2753 #define IDirect3DRMMeshBuilder2_SetAppData(p,a) (p)->SetAppData(a)
2754 #define IDirect3DRMMeshBuilder2_GetAppData(p) (p)->GetAppData()
2755 #define IDirect3DRMMeshBuilder2_SetName(p,a) (p)->SetName(a)
2756 #define IDirect3DRMMeshBuilder2_GetName(p,a,b) (p)->GetName(a,b)
2757 #define IDirect3DRMMeshBuilder2_GetClassName(p,a,b) (p)->GetClassName(a,b)
2758 /*** IDirect3DRMMeshBuilder methods ***/
2759 #define IDirect3DRMMeshBuilder2_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
2760 #define IDirect3DRMMeshBuilder2_Save(p,a,b,c) (p)->Save(a,b,c)
2761 #define IDirect3DRMMeshBuilder2_Scale(p,a,b,c) (p)->Scale(a,b,c)
2762 #define IDirect3DRMMeshBuilder2_Translate(p,a,b,c) (p)->Translate(a)
2763 #define IDirect3DRMMeshBuilder2_SetColorSource(p,a) (p)->SetColorSource(a,b,c)
2764 #define IDirect3DRMMeshBuilder2_GetBox(p,a) (p)->GetBox(a)
2765 #define IDirect3DRMMeshBuilder2_GenerateNormals(p) (p)->GenerateNormals()
2766 #define IDirect3DRMMeshBuilder2_GetColorSource(p) (p)->GetColorSource()
2767 #define IDirect3DRMMeshBuilder2_AddMesh(p,a) (p)-->AddMesh(a)
2768 #define IDirect3DRMMeshBuilder2_AddMeshBuilder(p,a) (p)->AddMeshBuilder(a)
2769 #define IDirect3DRMMeshBuilder2_AddFrame(p,a) (p)->AddFrame(a)
2770 #define IDirect3DRMMeshBuilder2_AddFace(p,a) (p)->AddFace(a)
2771 #define IDirect3DRMMeshBuilder2_AddFaces(p,a,b,c,d,e,f) (p)->AddFaces(a,b,c,d,e,f)
2772 #define IDirect3DRMMeshBuilder2_ReserveSpace(p,a,b,c) (p)->ReserveSpace(a,b,c)
2773 #define IDirect3DRMMeshBuilder2_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
2774 #define IDirect3DRMMeshBuilder2_SetColor(p,a) (p)->SetColor(a)
2775 #define IDirect3DRMMeshBuilder2_SetTexture(p,a) (p)->SetTexture(a)
2776 #define IDirect3DRMMeshBuilder2_SetMateria(p,a) (p)->SetMateria(a)
2777 #define IDirect3DRMMeshBuilder2_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
2778 #define IDirect3DRMMeshBuilder2_SetQuality(p,a) (p)->SetQuality(a)
2779 #define IDirect3DRMMeshBuilder2_SetPerspective(p,a) (p)->SetPerspective(a)
2780 #define IDirect3DRMMeshBuilder2_SetVertex(p,a,b,c,d) (p)->SetVertex(a,b,c,d)
2781 #define IDirect3DRMMeshBuilder2_SetNormal(p,a,b,c,d) (p)->SetNormal(a,b,c,d)
2782 #define IDirect3DRMMeshBuilder2_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
2783 #define IDirect3DRMMeshBuilder2_SetVertexColor(p,a,b) (p)->SetVertexColor(a,b)
2784 #define IDirect3DRMMeshBuilder2_SetVertexColorRGB(p,a,b,c,d) (p)->SetVertexColorRGB(a,b,c,d)
2785 #define IDirect3DRMMeshBuilder2_GetFaces(p,a) (p)->GetFaces(a)
2786 #define IDirect3DRMMeshBuilder2_GetVertices(p,a,b,c,d,e,f) (p)->GetVertices(a,b,c,d,e,f)
2787 #define IDirect3DRMMeshBuilder2_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
2788 #define IDirect3DRMMeshBuilder2_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
2789 #define IDirect3DRMMeshBuilder2_AddNormal(p,a,b,c) (p)->AddNormal(a,b,c)
2790 #define IDirect3DRMMeshBuilder2_CreateFace(p,a) (p)->CreateFace(a)
2791 #define IDirect3DRMMeshBuilder2_GetQuality(p) (p)->GetQuality()
2792 #define IDirect3DRMMeshBuilder2_GetPerspective(p) (p)->GetPerspective()
2793 #define IDirect3DRMMeshBuilder2_GetFaceCount(p) (p)->GetFaceCount()
2794 #define IDirect3DRMMeshBuilder2_GetVertexCount(p) (p)->GetVertexCount()
2795 #define IDirect3DRMMeshBuilder2_GetVertexColor(p,a) (p)->GetVertexColor(a)
2796 #define IDirect3DRMMeshBuilder2_CreateMesh(p,a) (p)->CreateMesh(a)
2797 /*** IDirect3DRMMeshBuilder2 methods ***/
2798 #define IDirect3DRMMeshBuilder2_GenerateNormals2(p,a,b) (p)->GenerateNormals2(a,b)
2799 #define IDirect3DRMMeshBuilder2_GetFace(p,a,b) (p)->GetFace(a,b)
2800 #endif
2802 /*****************************************************************************
2803 * IDirect3DRMMeshBuilder3 interface
2805 #define INTERFACE IDirect3DRMMeshBuilder3
2806 DECLARE_INTERFACE_(IDirect3DRMMeshBuilder3,IDirect3DRMVisual)
2808 /*** IUnknown methods ***/
2809 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2810 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2811 STDMETHOD_(ULONG,Release)(THIS) PURE;
2812 /*** IDirect3DRMObject methods ***/
2813 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2814 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2815 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2816 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2817 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2818 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2819 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2820 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2821 /*** IDirect3DRMMeshBuilder3 methods ***/
2822 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURE3CALLBACK, LPVOID pArg) PURE;
2823 STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE;
2824 STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
2825 STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
2826 STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE;
2827 STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
2828 STDMETHOD(GenerateNormals)(THIS_ D3DVALUE crease, DWORD flags) PURE;
2829 STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE;
2830 STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE;
2831 STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER3) PURE;
2832 STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME3) PURE;
2833 STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE2) PURE;
2834 STDMETHOD(AddFaces)(THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, DWORD *data,
2835 LPDIRECT3DRMFACEARRAY*) PURE;
2836 STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE;
2837 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2838 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
2839 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
2840 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE;
2841 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
2842 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
2843 STDMETHOD(SetPerspective)(THIS_ BOOL) PURE;
2844 STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2845 STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2846 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE;
2847 STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE;
2848 STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2849 STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE;
2850 STDMETHOD(GetGeometry)(THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals,
2851 DWORD *face_data_size, DWORD *face_data) PURE;
2852 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE;
2853 STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2854 STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2855 STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE2*) PURE;
2856 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
2857 STDMETHOD_(BOOL, GetPerspective)(THIS) PURE;
2858 STDMETHOD_(int, GetFaceCount)(THIS) PURE;
2859 STDMETHOD_(int, GetVertexCount)(THIS) PURE;
2860 STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE;
2861 STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE;
2862 STDMETHOD(GetFace)(THIS_ DWORD index, LPDIRECT3DRMFACE2 *) PURE;
2863 STDMETHOD(GetVertex)(THIS_ DWORD index, LPD3DVECTOR pVector) PURE;
2864 STDMETHOD(GetNormal)(THIS_ DWORD index, LPD3DVECTOR pVector) PURE;
2865 STDMETHOD(DeleteVertices)(THIS_ DWORD IndexFirst, DWORD count) PURE;
2866 STDMETHOD(DeleteNormals)(THIS_ DWORD IndexFirst, DWORD count) PURE;
2867 STDMETHOD(DeleteFace)(THIS_ LPDIRECT3DRMFACE2) PURE;
2868 STDMETHOD(Empty)(THIS_ DWORD flags) PURE;
2869 STDMETHOD(Optimize)(THIS_ DWORD flags) PURE;
2870 STDMETHOD(AddFacesIndexed)(THIS_ DWORD flags, DWORD *pvIndices, DWORD *pIndexFirst, DWORD *pCount) PURE;
2871 STDMETHOD(CreateSubMesh)(THIS_ LPUNKNOWN *) PURE;
2872 STDMETHOD(GetParentMesh)(THIS_ DWORD, LPUNKNOWN *) PURE;
2873 STDMETHOD(GetSubMeshes)(THIS_ LPDWORD pCount, LPUNKNOWN *) PURE;
2874 STDMETHOD(DeleteSubMesh)(THIS_ LPUNKNOWN) PURE;
2875 STDMETHOD(Enable)(THIS_ DWORD) PURE;
2876 STDMETHOD(GetEnable)(THIS_ DWORD *) PURE;
2877 STDMETHOD(AddTriangles)(THIS_ DWORD flags, DWORD format, DWORD VertexCount, LPVOID pvData) PURE;
2878 STDMETHOD(SetVertices)(THIS_ DWORD IndexFirst, DWORD count, LPD3DVECTOR) PURE;
2879 STDMETHOD(GetVertices)(THIS_ DWORD IndexFirst, LPDWORD pCount, LPD3DVECTOR) PURE;
2880 STDMETHOD(SetNormals)(THIS_ DWORD IndexFirst, DWORD count, LPD3DVECTOR) PURE;
2881 STDMETHOD(GetNormals)(THIS_ DWORD IndexFirst, LPDWORD pCount, LPD3DVECTOR) PURE;
2882 STDMETHOD_(int, GetNormalCount)(THIS) PURE;
2884 #undef INTERFACE
2886 #if !defined(__cplusplus) || defined(CINTERFACE)
2887 /*** IUnknown methods ***/
2888 #define IDirect3DRMMeshBuilder3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2889 #define IDirect3DRMMeshBuilder3_AddRef(p) (p)->lpVtbl->AddRef(p)
2890 #define IDirect3DRMMeshBuilder3_Release(p) (p)->lpVtbl->Release(p)
2891 /*** IDirect3DRMObject methods ***/
2892 #define IDirect3DRMMeshBuilder3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2893 #define IDirect3DRMMeshBuilder3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2894 #define IDirect3DRMMeshBuilder3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2895 #define IDirect3DRMMeshBuilder3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2896 #define IDirect3DRMMeshBuilder3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2897 #define IDirect3DRMMeshBuilder3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2898 #define IDirect3DRMMeshBuilder3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2899 #define IDirect3DRMMeshBuilder3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2900 /*** IDirect3DRMMeshBuilder3 methods ***/
2901 #define IDirect3DRMMeshBuilder3_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
2902 #define IDirect3DRMMeshBuilder3_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
2903 #define IDirect3DRMMeshBuilder3_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
2904 #define IDirect3DRMMeshBuilder3_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a)
2905 #define IDirect3DRMMeshBuilder3_SetColorSource(p,a) (p)->lpVtbl->SetColorSource(p,a,b,c)
2906 #define IDirect3DRMMeshBuilder3_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
2907 #define IDirect3DRMMeshBuilder3_GenerateNormals(p,a,b) (p)->lpVtbl->GenerateNormals(p,a,b)
2908 #define IDirect3DRMMeshBuilder3_GetColorSource(p) (p)->lpVtbl->GetColorSource(p)
2909 #define IDirect3DRMMeshBuilder3_AddMesh(p,a) (p)->lpVtbl->AddMesh(p,a)
2910 #define IDirect3DRMMeshBuilder3_AddMeshBuilder(p,a) (p)->lpVtbl->AddMeshBuilder(p,a)
2911 #define IDirect3DRMMeshBuilder3_AddFrame(p,a) (p)->lpVtbl->AddFrame(p,a)
2912 #define IDirect3DRMMeshBuilder3_AddFace(p,a) (p)->lpVtbl->AddFace(p,a)
2913 #define IDirect3DRMMeshBuilder3_AddFaces(p,a,b,c,d,e,f) (p)->lpVtbl->AddFaces(p,a,b,c,d,e,f)
2914 #define IDirect3DRMMeshBuilder3_ReserveSpace(p,a,b,c) (p)->lpVtbl->ReserveSpace(p,a,b,c)
2915 #define IDirect3DRMMeshBuilder3_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2916 #define IDirect3DRMMeshBuilder3_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2917 #define IDirect3DRMMeshBuilder3_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2918 #define IDirect3DRMMeshBuilder3_SetMateria(p,a) (p)->lpVtbl->SetMateria(p,a)
2919 #define IDirect3DRMMeshBuilder3_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2920 #define IDirect3DRMMeshBuilder3_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
2921 #define IDirect3DRMMeshBuilder3_SetPerspective(p,a) (p)->lpVtbl->SetPerspective(p,a)
2922 #define IDirect3DRMMeshBuilder3_SetVertex(p,a,b,c,d) (p)->lpVtbl->SetVertex(p,a,b,c,d)
2923 #define IDirect3DRMMeshBuilder3_SetNormal(p,a,b,c,d) (p)->lpVtbl->SetNormal(p,a,b,c,d)
2924 #define IDirect3DRMMeshBuilder3_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2925 #define IDirect3DRMMeshBuilder3_SetVertexColor(p,a,b) (p)->lpVtbl->SetVertexColor(p,a,b)
2926 #define IDirect3DRMMeshBuilder3_SetVertexColorRGB(p,a,b,c,d) (p)->lpVtbl->SetVertexColorRGB(p,a,b,c,d)
2927 #define IDirect3DRMMeshBuilder3_GetFaces(p,a) (p)->lpVtbl->GetFaces(p,a)
2928 #define IDirect3DRMMeshBuilder3_GetGeometry(p,a,b,c,d,e,f) (p)->lpVtbl->GetGeometry(p,a,b,c,d,e,f)
2929 #define IDirect3DRMMeshBuilder3_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2930 #define IDirect3DRMMeshBuilder3_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2931 #define IDirect3DRMMeshBuilder3_AddNormal(p,a,b,c) (p)->lpVtbl->AddNormal(p,a,b,c)
2932 #define IDirect3DRMMeshBuilder3_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
2933 #define IDirect3DRMMeshBuilder3_GetQuality(p) (p)->lpVtbl->GetQuality(p)
2934 #define IDirect3DRMMeshBuilder3_GetPerspective(p) (p)->lpVtbl->GetPerspective(p)
2935 #define IDirect3DRMMeshBuilder3_GetFaceCount(p) (p)->lpVtbl->GetFaceCount(p)
2936 #define IDirect3DRMMeshBuilder3_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2937 #define IDirect3DRMMeshBuilder3_GetVertexColor(p,a) (p)->lpVtbl->GetVertexColor(p,a)
2938 #define IDirect3DRMMeshBuilder3_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
2939 #define IDirect3DRMMeshBuilder3_GetFace(p,a,b) (p)->lpVtbl->GetFace(p,a,b)
2940 #define IDirect3DRMMeshBuilder3_GetVertex(p,a,b) (p)->lpVtbl->GetVertex(p,a,b)
2941 #define IDirect3DRMMeshBuilder3_GetNormal(p,a,b) (p)->lpVtbl->GetNormal(p,a,b)
2942 #define IDirect3DRMMeshBuilder3_DeleteVertices(p,a,b) (p)->lpVtbl->DeleteVertices(p,a,b)
2943 #define IDirect3DRMMeshBuilder3_DeleteNormals(p,a,b) (p)->lpVtbl->DeleteNormals(p,a,b)
2944 #define IDirect3DRMMeshBuilder3_DeleteFace(p,a) (p)->lpVtbl->DeleteFace(p,a)
2945 #define IDirect3DRMMeshBuilder3_Empty(p,a) (p)->lpVtbl->Empty(p,a)
2946 #define IDirect3DRMMeshBuilder3_Optimize(p,a) (p)->lpVtbl->Optimize(p,a)
2947 #define IDirect3DRMMeshBuilder3_AddFacesIndexed(p,a,b,c,d) (p)->lpVtbl->AddFacesIndexed(p,a,b,c,d)
2948 #define IDirect3DRMMeshBuilder3_CreateSubMesh(p,a) (p)->lpVtbl->CreateSubMesh(p,a)
2949 #define IDirect3DRMMeshBuilder3_GetParentMesh(p,a,b) (p)->lpVtbl->GetParentMesh(p,a,b)
2950 #define IDirect3DRMMeshBuilder3_GetSubMeshes(p,a,b) (p)->lpVtbl->GetSubMeshes(p,a,b)
2951 #define IDirect3DRMMeshBuilder3_DeleteSubMesh(p,a) (p)->lpVtbl->DeleteSubMesh(p,a)
2952 #define IDirect3DRMMeshBuilder3_Enable(p,a) (p)->lpVtbl->Enable(p,a)
2953 #define IDirect3DRMMeshBuilder3_AddTriangles(p,a,b,c,d) (p)->lpVtbl->AddTriangles(p,a,b,c,d)
2954 #define IDirect3DRMMeshBuilder3_SetVertices(p,a,b,c) (p)->lpVtbl->SetVertices(p,a,b,c)
2955 #define IDirect3DRMMeshBuilder3_GetVertices(p,a,b,c) (p)->lpVtbl->GetVertices(p,a,b,c)
2956 #define IDirect3DRMMeshBuilder3_SetNormals(p,a,b,c) (p)->lpVtbl->SetNormals(p,a,b,c)
2957 #define IDirect3DRMMeshBuilder3_GetNormals(p,a,b,c) (p)->lpVtbl->GetNormals(p,a,b,c)
2958 #define IDirect3DRMMeshBuilder3_GetNormalCount(p) (p)->lpVtbl->GetNormalCount(p)
2959 #else
2960 /*** IUnknown methods ***/
2961 #define IDirect3DRMMeshBuilder3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2962 #define IDirect3DRMMeshBuilder3_AddRef(p) (p)->AddRef()
2963 #define IDirect3DRMMeshBuilder3_Release(p) (p)->Release()
2964 /*** IDirect3DRMObject methods ***/
2965 #define IDirect3DRMMeshBuilder3_Clone(p,a,b,c) (p)->Clone(a,b,c)
2966 #define IDirect3DRMMeshBuilder3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2967 #define IDirect3DRMMeshBuilder3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2968 #define IDirect3DRMMeshBuilder3_SetAppData(p,a) (p)->SetAppData(a)
2969 #define IDirect3DRMMeshBuilder3_GetAppData(p) (p)->GetAppData()
2970 #define IDirect3DRMMeshBuilder3_SetName(p,a) (p)->SetName(a)
2971 #define IDirect3DRMMeshBuilder3_GetName(p,a,b) (p)->GetName(a,b)
2972 #define IDirect3DRMMeshBuilder3_GetClassName(p,a,b) (p)->GetClassName(a,b)
2973 /*** IDirect3DRMMeshBuilder3 methods ***/
2974 #define IDirect3DRMMeshBuilder3_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
2975 #define IDirect3DRMMeshBuilder3_Save(p,a,b,c) (p)->Save(a,b,c)
2976 #define IDirect3DRMMeshBuilder3_Scale(p,a,b,c) (p)->Scale(a,b,c)
2977 #define IDirect3DRMMeshBuilder3_Translate(p,a,b,c) (p)->Translate(a)
2978 #define IDirect3DRMMeshBuilder3_SetColorSource(p,a) (p)->SetColorSource(a,b,c)
2979 #define IDirect3DRMMeshBuilder3_GetBox(p,a) (p)->GetBox(a)
2980 #define IDirect3DRMMeshBuilder3_GenerateNormals(p,a,b) (p)->GenerateNormals(a,b)
2981 #define IDirect3DRMMeshBuilder3_GetColorSource(p) (p)->GetColorSource()
2982 #define IDirect3DRMMeshBuilder3_AddMesh(p,a) (p)-->AddMesh(a)
2983 #define IDirect3DRMMeshBuilder3_AddMeshBuilder(p,a) (p)->AddMeshBuilder(a)
2984 #define IDirect3DRMMeshBuilder3_AddFrame(p,a) (p)->AddFrame(a)
2985 #define IDirect3DRMMeshBuilder3_AddFace(p,a) (p)->AddFace(a)
2986 #define IDirect3DRMMeshBuilder3_AddFaces(p,a,b,c,d,e,f) (p)->AddFaces(a,b,c,d,e,f)
2987 #define IDirect3DRMMeshBuilder3_ReserveSpace(p,a,b,c) (p)->ReserveSpace(a,b,c)
2988 #define IDirect3DRMMeshBuilder3_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
2989 #define IDirect3DRMMeshBuilder3_SetColor(p,a) (p)->SetColor(a)
2990 #define IDirect3DRMMeshBuilder3_SetTexture(p,a) (p)->SetTexture(a)
2991 #define IDirect3DRMMeshBuilder3_SetMateria(p,a) (p)->SetMateria(a)
2992 #define IDirect3DRMMeshBuilder3_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
2993 #define IDirect3DRMMeshBuilder3_SetQuality(p,a) (p)->SetQuality(a)
2994 #define IDirect3DRMMeshBuilder3_SetPerspective(p,a) (p)->SetPerspective(a)
2995 #define IDirect3DRMMeshBuilder3_SetVertex(p,a,b,c,d) (p)->SetVertex(a,b,c,d)
2996 #define IDirect3DRMMeshBuilder3_SetNormal(p,a,b,c,d) (p)->SetNormal(a,b,c,d)
2997 #define IDirect3DRMMeshBuilder3_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
2998 #define IDirect3DRMMeshBuilder3_SetVertexColor(p,a,b) (p)->SetVertexColor(a,b)
2999 #define IDirect3DRMMeshBuilder3_SetVertexColorRGB(p,a,b,c,d) (p)->SetVertexColorRGB(a,b,c,d)
3000 #define IDirect3DRMMeshBuilder3_GetFaces(p,a) (p)->GetFaces(a)
3001 #define IDirect3DRMMeshBuilder3_GetGeometry(p,a,b,c,d,e,f) (p)->GetGeometry(a,b,c,d,e,f)
3002 #define IDirect3DRMMeshBuilder3_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
3003 #define IDirect3DRMMeshBuilder3_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
3004 #define IDirect3DRMMeshBuilder3_AddNormal(p,a,b,c) (p)->AddNormal(a,b,c)
3005 #define IDirect3DRMMeshBuilder3_CreateFace(p,a) (p)->CreateFace(a)
3006 #define IDirect3DRMMeshBuilder3_GetQuality(p) (p)->GetQuality()
3007 #define IDirect3DRMMeshBuilder3_GetPerspective(p) (p)->GetPerspective()
3008 #define IDirect3DRMMeshBuilder3_GetFaceCount(p) (p)->GetFaceCount()
3009 #define IDirect3DRMMeshBuilder3_GetVertexCount(p) (p)->GetVertexCount()
3010 #define IDirect3DRMMeshBuilder3_GetVertexColor(p,a) (p)->GetVertexColor(a)
3011 #define IDirect3DRMMeshBuilder3_CreateMesh(p,a) (p)->CreateMesh(a)
3012 #define IDirect3DRMMeshBuilder3_GetFace(p,a,b) (p)->GetFace(a,b)
3013 #define IDirect3DRMMeshBuilder3_GetVertex(p,a,b) (p)->GetVertex(a,b)
3014 #define IDirect3DRMMeshBuilder3_GetNormal(p,a,b) (p)->GetNormal(a,b)
3015 #define IDirect3DRMMeshBuilder3_DeleteVertices(p,a,b) (p)->DeleteVertices(a,b)
3016 #define IDirect3DRMMeshBuilder3_DeleteNormals(p,a,b) (p)->DeleteNormals(a,b)
3017 #define IDirect3DRMMeshBuilder3_DeleteFace(p,a) (p)->DeleteFace(a)
3018 #define IDirect3DRMMeshBuilder3_Empty(p,a) (p)->Empty(a)
3019 #define IDirect3DRMMeshBuilder3_Optimize(p,a) (p)->Optimize(a)
3020 #define IDirect3DRMMeshBuilder3_AddFacesIndexed(p,a,b,c,d) (p)->AddFacesIndexed(a,b,c,d)
3021 #define IDirect3DRMMeshBuilder3_CreateSubMesh(p,a) (p)->CreateSubMesh(a)
3022 #define IDirect3DRMMeshBuilder3_GetParentMesh(p,a,b) (p)->GetParentMesh(a,b)
3023 #define IDirect3DRMMeshBuilder3_GetSubMeshes(p,a,b) (p)->GetSubMeshes(a,b)
3024 #define IDirect3DRMMeshBuilder3_DeleteSubMesh(p,a) (p)->DeleteSubMesh(a)
3025 #define IDirect3DRMMeshBuilder3_Enable(p,a) (p)->Enable(a)
3026 #define IDirect3DRMMeshBuilder3_AddTriangles(p,a,b,c,d) (p)->AddTriangles(a,b,c,d)
3027 #define IDirect3DRMMeshBuilder3_SetVertices(p,a,b,c) (p)->SetVertices(a,b,c)
3028 #define IDirect3DRMMeshBuilder3_GetVertices(p,a,b,c) (p)->GetVertices(a,b,c)
3029 #define IDirect3DRMMeshBuilder3_SetNormals(p,a,b,c) (p)->SetNormals(a,b,c)
3030 #define IDirect3DRMMeshBuilder3_GetNormals(p,a,b,c) (p)->GetNormals(a,b,c)
3031 #define IDirect3DRMMeshBuilder3_GetNormalCount(p) (p)->GetNormalCount()
3032 #endif
3034 /*****************************************************************************
3035 * IDirect3DRMLight interface
3037 #define INTERFACE IDirect3DRMLight
3038 DECLARE_INTERFACE_(IDirect3DRMLight,IDirect3DRMObject)
3040 /*** IUnknown methods ***/
3041 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3042 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3043 STDMETHOD_(ULONG,Release)(THIS) PURE;
3044 /*** IDirect3DRMObject methods ***/
3045 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3046 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3047 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3048 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3049 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3050 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3051 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3052 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3053 /*** IDirect3DRMLight methods ***/
3054 STDMETHOD(SetType)(THIS_ D3DRMLIGHTTYPE) PURE;
3055 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
3056 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
3057 STDMETHOD(SetRange)(THIS_ D3DVALUE) PURE;
3058 STDMETHOD(SetUmbra)(THIS_ D3DVALUE) PURE;
3059 STDMETHOD(SetPenumbra)(THIS_ D3DVALUE) PURE;
3060 STDMETHOD(SetConstantAttenuation)(THIS_ D3DVALUE) PURE;
3061 STDMETHOD(SetLinearAttenuation)(THIS_ D3DVALUE) PURE;
3062 STDMETHOD(SetQuadraticAttenuation)(THIS_ D3DVALUE) PURE;
3063 STDMETHOD_(D3DVALUE, GetRange)(THIS) PURE;
3064 STDMETHOD_(D3DVALUE, GetUmbra)(THIS) PURE;
3065 STDMETHOD_(D3DVALUE, GetPenumbra)(THIS) PURE;
3066 STDMETHOD_(D3DVALUE, GetConstantAttenuation)(THIS) PURE;
3067 STDMETHOD_(D3DVALUE, GetLinearAttenuation)(THIS) PURE;
3068 STDMETHOD_(D3DVALUE, GetQuadraticAttenuation)(THIS) PURE;
3069 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
3070 STDMETHOD_(D3DRMLIGHTTYPE, GetType)(THIS) PURE;
3071 STDMETHOD(SetEnableFrame)(THIS_ LPDIRECT3DRMFRAME) PURE;
3072 STDMETHOD(GetEnableFrame)(THIS_ LPDIRECT3DRMFRAME*) PURE;
3074 #undef INTERFACE
3076 #if !defined(__cplusplus) || defined(CINTERFACE)
3077 /*** IUnknown methods ***/
3078 #define IDirect3DRMLight_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3079 #define IDirect3DRMLight_AddRef(p) (p)->lpVtbl->AddRef(p)
3080 #define IDirect3DRMLight_Release(p) (p)->lpVtbl->Release(p)
3081 /*** IDirect3DRMObject methods ***/
3082 #define IDirect3DRMLight_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3083 #define IDirect3DRMLight_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3084 #define IDirect3DRMLight_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3085 #define IDirect3DRMLight_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3086 #define IDirect3DRMLight_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3087 #define IDirect3DRMLight_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3088 #define IDirect3DRMLight_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3089 #define IDirect3DRMLight_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3090 /*** IDirect3DRMLight methods ***/
3091 #define IDirect3DRMLight_SetType(p,a) (p)->lpVtbl->SetType(p,a)
3092 #define IDirect3DRMLight_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
3093 #define IDirect3DRMLight_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
3094 #define IDirect3DRMLight_SetRange(p,a) (p)->lpVtbl->SetRange(p,a)
3095 #define IDirect3DRMLight_SetUmbra(p,a) (p)->lpVtbl->SetUmbra(p,a)
3096 #define IDirect3DRMLight_SetPenumbra(p,a) (p)->lpVtbl->SetPenumbra(p,a)
3097 #define IDirect3DRMLight_SetConstantAttenuation(p,a) (p)->lpVtbl->SetConstantAttenuation(p,a)
3098 #define IDirect3DRMLight_SetLinearAttenuation(p,a) (p)->lpVtbl->SetLinearAttenuation(p,a)
3099 #define IDirect3DRMLight_SetQuadraticAttenuation(p,a) (p)->lpVtbl->SetQuadraticAttenuation(p,a)
3100 #define IDirect3DRMLight_GetRange(p) (p)->lpVtbl->GetRange(p)
3101 #define IDirect3DRMLight_GetUmbra(p) (p)->lpVtbl->GetUmbra(p)
3102 #define IDirect3DRMLight_GetPenumbra(p) (p)->lpVtbl->GetPenumbra(p)
3103 #define IDirect3DRMLight_GetConstantAttenuation(p) (p)->lpVtbl->GetConstantAttenuation(p)
3104 #define IDirect3DRMLight_GetLinearAttenuation(p) (p)->lpVtbl->GetLinearAttenuation(p)
3105 #define IDirect3DRMLight_GetQuadraticAttenuation(p) (p)->lpVtbl->GetQuadraticAttenuation(p)
3106 #define IDirect3DRMLight_GetColor(p) (p)->lpVtbl->GetColor(p)
3107 #define IDirect3DRMLight_GetType(p) (p)->lpVtbl->GetType(p)
3108 #define IDirect3DRMLight_SetEnableFrame(p,a) (p)->lpVtbl->SetEnableFrame(p,a)
3109 #define IDirect3DRMLight_GetEnableFrame(p,a) (p)->lpVtbl->GetEnableFrame(p,a)
3110 #else
3111 /*** IUnknown methods ***/
3112 #define IDirect3DRMLight_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3113 #define IDirect3DRMLight_AddRef(p) (p)->AddRef()
3114 #define IDirect3DRMLight_Release(p) (p)->Release()
3115 /*** IDirect3DRMObject methods ***/
3116 #define IDirect3DRMLight_Clone(p,a,b,c) (p)->Clone(a,b,c)
3117 #define IDirect3DRMLight_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3118 #define IDirect3DRMLight_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3119 #define IDirect3DRMLight_SetAppData(p,a) (p)->SetAppData(a)
3120 #define IDirect3DRMLight_GetAppData(p) (p)->GetAppData()
3121 #define IDirect3DRMLight_SetName(p,a) (p)->SetName(a)
3122 #define IDirect3DRMLight_GetName(p,a,b) (p)->GetName(a,b)
3123 #define IDirect3DRMLight_GetClassName(p,a,b) (p)->GetClassName(a,b)
3124 /*** IDirect3DRMLight methods ***/
3125 #define IDirect3DRMLight_SetType(p,a) (p)->SetType(a)
3126 #define IDirect3DRMLight_SetColor(p,a) (p)->SetColor(a)
3127 #define IDirect3DRMLight_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
3128 #define IDirect3DRMLight_SetRange(p,a) (p)->SetRange(a)
3129 #define IDirect3DRMLight_SetUmbra(p,a) (p)->SetUmbra(a)
3130 #define IDirect3DRMLight_SetPenumbra(p,a) (p)->SetPenumbra(a)
3131 #define IDirect3DRMLight_SetConstantAttenuation(p,a) (p)->SetConstantAttenuation(a)
3132 #define IDirect3DRMLight_SetLinearAttenuation(p,a) (p)->SetLinearAttenuation(a)
3133 #define IDirect3DRMLight_SetQuadraticAttenuation(p,a) (p)->SetQuadraticAttenuation(a)
3134 #define IDirect3DRMLight_GetRange(p) (p)->GetRange()
3135 #define IDirect3DRMLight_GetUmbra(p) (p)->GetUmbra()
3136 #define IDirect3DRMLight_GetPenumbra(p) (p)->GetPenumbra()
3137 #define IDirect3DRMLight_GetConstantAttenuation(p) (p)->GetConstantAttenuation()
3138 #define IDirect3DRMLight_GetLinearAttenuation(p) (p)->GetLinearAttenuation()
3139 #define IDirect3DRMLight_GetQuadraticAttenuation(p) (p)->GetQuadraticAttenuation()
3140 #define IDirect3DRMLight_GetColor(p) (p)->GetColor()
3141 #define IDirect3DRMLight_GetType(p) (p)->GetType()
3142 #define IDirect3DRMLight_SetEnableFrame(p,a) (p)->SetEnableFrame(a)
3143 #define IDirect3DRMLight_GetEnableFrame(p,a) (p)->GetEnableFrame(a)
3144 #endif
3146 /*****************************************************************************
3147 * IDirect3DRMTexture interface
3149 #define INTERFACE IDirect3DRMTexture
3150 DECLARE_INTERFACE_(IDirect3DRMTexture, IDirect3DRMVisual)
3152 /*** IUnknown methods ***/
3153 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3154 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3155 STDMETHOD_(ULONG,Release)(THIS) PURE;
3156 /*** IDirect3DRMObject methods ***/
3157 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3158 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3159 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3160 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3161 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3162 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3163 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3164 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3165 /*** IDirect3DRMTexture methods ***/
3166 STDMETHOD(InitFromFile)(THIS_ const char *filename) PURE;
3167 STDMETHOD(InitFromSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDS) PURE;
3168 STDMETHOD(InitFromResource)(THIS_ HRSRC) PURE;
3169 STDMETHOD(Changed)(THIS_ BOOL pixels, BOOL palette) PURE;
3170 STDMETHOD(SetColors)(THIS_ DWORD) PURE;
3171 STDMETHOD(SetShades)(THIS_ DWORD) PURE;
3172 STDMETHOD(SetDecalSize)(THIS_ D3DVALUE width, D3DVALUE height) PURE;
3173 STDMETHOD(SetDecalOrigin)(THIS_ LONG x, LONG y) PURE;
3174 STDMETHOD(SetDecalScale)(THIS_ DWORD) PURE;
3175 STDMETHOD(SetDecalTransparency)(THIS_ BOOL) PURE;
3176 STDMETHOD(SetDecalTransparentColor)(THIS_ D3DCOLOR) PURE;
3177 STDMETHOD(GetDecalSize)(THIS_ D3DVALUE *width_return, D3DVALUE *height_return) PURE;
3178 STDMETHOD(GetDecalOrigin)(THIS_ LONG *x_return, LONG *y_return) PURE;
3179 STDMETHOD_(D3DRMIMAGE *, GetImage)(THIS) PURE;
3180 STDMETHOD_(DWORD, GetShades)(THIS) PURE;
3181 STDMETHOD_(DWORD, GetColors)(THIS) PURE;
3182 STDMETHOD_(DWORD, GetDecalScale)(THIS) PURE;
3183 STDMETHOD_(BOOL, GetDecalTransparency)(THIS) PURE;
3184 STDMETHOD_(D3DCOLOR, GetDecalTransparentColor)(THIS) PURE;
3186 #undef INTERFACE
3188 #if !defined(__cplusplus) || defined(CINTERFACE)
3189 /*** IUnknown methods ***/
3190 #define IDirect3DRMTexture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3191 #define IDirect3DRMTexture_AddRef(p) (p)->lpVtbl->AddRef(p)
3192 #define IDirect3DRMTexture_Release(p) (p)->lpVtbl->Release(p)
3193 /*** IDirect3DRMObject methods ***/
3194 #define IDirect3DRMTexture_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3195 #define IDirect3DRMTexture_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3196 #define IDirect3DRMTexture_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3197 #define IDirect3DRMTexture_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3198 #define IDirect3DRMTexture_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3199 #define IDirect3DRMTexture_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3200 #define IDirect3DRMTexture_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3201 #define IDirect3DRMTexture_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3202 /*** IDirect3DRMTexture methods ***/
3203 #define IDirect3DRMTexture_InitFromFile(p,a) (p)->lpVtbl->InitFromFile(p,a)
3204 #define IDirect3DRMTexture_InitFromSurface(p,a) (p)->lpVtbl->InitFromSurface(p,a)
3205 #define IDirect3DRMTexture_InitFromResource(p,a) (p)->lpVtbl->InitFromResource(p,a)
3206 #define IDirect3DRMTexture_Changed(p,a,b) (p)->lpVtbl->Changed(p,a,b)
3207 #define IDirect3DRMTexture_SetColors(p,a) (p)->lpVtbl->SetColors(p,a)
3208 #define IDirect3DRMTexture_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
3209 #define IDirect3DRMTexture_SetDecalSize(p,a,b) (p)->lpVtbl->SetDecalSize(p,a,b)
3210 #define IDirect3DRMTexture_SetDecalOrigin(p,a,b) (p)->lpVtbl->SetDecalOrigin(p,a,b)
3211 #define IDirect3DRMTexture_SetDecalScale(p,a) (p)->lpVtbl->SetDecalScale(p,a)
3212 #define IDirect3DRMTexture_SetDecalTransparency(p,a) (p)->lpVtbl->SetDecalTransparency(p,a)
3213 #define IDirect3DRMTexture_SetDecalTransparencyColor(p,a) (p)->lpVtbl->SetDecalTransparentColor(p,a)
3214 #define IDirect3DRMTexture_GetDecalSize(p,a,b) (p)->lpVtbl->GetDecalSize(p,a,b)
3215 #define IDirect3DRMTexture_GetDecalOrigin(p,a,b) (p)->lpVtbl->GetDecalOrigin(p,a,b)
3216 #define IDirect3DRMTexture_GetImage(p) (p)->lpVtbl->GetImage(p)
3217 #define IDirect3DRMTexture_GetShades(p) (p)->lpVtbl->GetShades(p)
3218 #define IDirect3DRMTexture_GetColors(p) (p)->lpVtbl->GetColors(p)
3219 #define IDirect3DRMTexture_GetDecalScale(p) (p)->lpVtbl->GetDecalScale(p)
3220 #define IDirect3DRMTexture_GetDecalTransparency(p) (p)->lpVtbl->GetDecalTransparency(p)
3221 #define IDirect3DRMTexture_GetDecalTransparencyColor(p) (p)->lpVtbl->GetDecalTransparencyColor(p)
3222 #else
3223 /*** IUnknown methods ***/
3224 #define IDirect3DRMTexture_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3225 #define IDirect3DRMTexture_AddRef(p) (p)->AddRef()
3226 #define IDirect3DRMTexture_Release(p) (p)->Release()
3227 /*** IDirect3DRMObject methods ***/
3228 #define IDirect3DRMTexture_Clone(p,a,b,c) (p)->Clone(a,b,c)
3229 #define IDirect3DRMTexture_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3230 #define IDirect3DRMTexture_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3231 #define IDirect3DRMTexture_SetAppData(p,a) (p)->SetAppData(a)
3232 #define IDirect3DRMTexture_GetAppData(p) (p)->GetAppData()
3233 #define IDirect3DRMTexture_SetName(p,a) (p)->SetName(a)
3234 #define IDirect3DRMTexture_GetName(p,a,b) (p)->GetName(a,b)
3235 #define IDirect3DRMTexture_GetClassName(p,a,b) (p)->GetClassName(a,b)
3236 /*** IDirect3DRMTexture methods ***/
3237 #define IDirect3DRMTexture_InitFromFile(p,a) (p)->InitFromFile(a)
3238 #define IDirect3DRMTexture_InitFromSurface(p,a) (p)->InitFromSurface(a)
3239 #define IDirect3DRMTexture_InitFromResource(p,a) (p)->InitFromResource(a)
3240 #define IDirect3DRMTexture_Changed(p,a,b) (p)->Changed(a,b)
3241 #define IDirect3DRMTexture_SetColors(p,a) (p)->SetColors(a)
3242 #define IDirect3DRMTexture_SetShades(p,a) (p)->SetShades(a)
3243 #define IDirect3DRMTexture_SetDecalSize(p,a,b) (p)->SetDecalSize(a,b)
3244 #define IDirect3DRMTexture_SetDecalOrigin(p,a,b) (p)->SetDecalOrigin(a,b)
3245 #define IDirect3DRMTexture_SetDecalScale(p,a) (p)->SetDecalScale(a)
3246 #define IDirect3DRMTexture_SetDecalTransparency(p,a) (p)->SetDecalTransparency(a)
3247 #define IDirect3DRMTexture_SetDecalTransparencyColor(p,a) (p)->SetDecalTransparentColor(a)
3248 #define IDirect3DRMTexture_GetDecalSize(p,a,b) (p)->GetDecalSize(a,b)
3249 #define IDirect3DRMTexture_GetDecalOrigin(p,a,b) (p)->GetDecalOrigin(a,b)
3250 #define IDirect3DRMTexture_GetImage(p) (p)->GetImage()
3251 #define IDirect3DRMTexture_GetShades(p) (p)->GetShades()
3252 #define IDirect3DRMTexture_GetColors(p) (p)->GetColors()
3253 #define IDirect3DRMTexture_GetDecalScale(p) (p)->GetDecalScale()
3254 #define IDirect3DRMTexture_GetDecalTransparency(p) (p)->GetDecalTransparency()
3255 #define IDirect3DRMTexture_GetDecalTransparencyColor(p) (p)->GetDecalTransparencyColor()
3256 #endif
3258 /*****************************************************************************
3259 * IDirect3DRMTexture2 interface
3261 #define INTERFACE IDirect3DRMTexture2
3262 DECLARE_INTERFACE_(IDirect3DRMTexture2, IDirect3DRMTexture)
3264 /*** IUnknown methods ***/
3265 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3266 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3267 STDMETHOD_(ULONG,Release)(THIS) PURE;
3268 /*** IDirect3DRMObject methods ***/
3269 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3270 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3271 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3272 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3273 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3274 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3275 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3276 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3277 /*** IDirect3DRMTexture methods ***/
3278 STDMETHOD(InitFromFile)(THIS_ const char *filename) PURE;
3279 STDMETHOD(InitFromSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDS) PURE;
3280 STDMETHOD(InitFromResource)(THIS_ HRSRC) PURE;
3281 STDMETHOD(Changed)(THIS_ BOOL pixels, BOOL palette) PURE;
3282 STDMETHOD(SetColors)(THIS_ DWORD) PURE;
3283 STDMETHOD(SetShades)(THIS_ DWORD) PURE;
3284 STDMETHOD(SetDecalSize)(THIS_ D3DVALUE width, D3DVALUE height) PURE;
3285 STDMETHOD(SetDecalOrigin)(THIS_ LONG x, LONG y) PURE;
3286 STDMETHOD(SetDecalScale)(THIS_ DWORD) PURE;
3287 STDMETHOD(SetDecalTransparency)(THIS_ BOOL) PURE;
3288 STDMETHOD(SetDecalTransparentColor)(THIS_ D3DCOLOR) PURE;
3289 STDMETHOD(GetDecalSize)(THIS_ D3DVALUE *width_return, D3DVALUE *height_return) PURE;
3290 STDMETHOD(GetDecalOrigin)(THIS_ LONG *x_return, LONG *y_return) PURE;
3291 STDMETHOD_(D3DRMIMAGE *, GetImage)(THIS) PURE;
3292 STDMETHOD_(DWORD, GetShades)(THIS) PURE;
3293 STDMETHOD_(DWORD, GetColors)(THIS) PURE;
3294 STDMETHOD_(DWORD, GetDecalScale)(THIS) PURE;
3295 STDMETHOD_(BOOL, GetDecalTransparency)(THIS) PURE;
3296 STDMETHOD_(D3DCOLOR, GetDecalTransparentColor)(THIS) PURE;
3297 /*** IDirect3DRMTexture2 methods ***/
3298 STDMETHOD(InitFromImage)(THIS_ LPD3DRMIMAGE) PURE;
3299 STDMETHOD(InitFromResource2)(THIS_ HMODULE hModule, LPCSTR /* LPCTSTR */ strName, LPCSTR /* LPCTSTR */ strType) PURE;
3300 STDMETHOD(GenerateMIPMap)(THIS_ DWORD) PURE;
3302 #undef INTERFACE
3304 #if !defined(__cplusplus) || defined(CINTERFACE)
3305 /*** IUnknown methods ***/
3306 #define IDirect3DRMTexture2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3307 #define IDirect3DRMTexture2_AddRef(p) (p)->lpVtbl->AddRef(p)
3308 #define IDirect3DRMTexture2_Release(p) (p)->lpVtbl->Release(p)
3309 /*** IDirect3DRMObject methods ***/
3310 #define IDirect3DRMTexture2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3311 #define IDirect3DRMTexture2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3312 #define IDirect3DRMTexture2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3313 #define IDirect3DRMTexture2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3314 #define IDirect3DRMTexture2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3315 #define IDirect3DRMTexture2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3316 #define IDirect3DRMTexture2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3317 #define IDirect3DRMTexture2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3318 /*** IDirect3DRMTexture methods ***/
3319 #define IDirect3DRMTexture2_InitFromFile(p,a) (p)->lpVtbl->InitFromFile(p,a)
3320 #define IDirect3DRMTexture2_InitFromSurface(p,a) (p)->lpVtbl->InitFromSurface(p,a)
3321 #define IDirect3DRMTexture2_InitFromResource(p,a) (p)->lpVtbl->InitFromResource(p,a)
3322 #define IDirect3DRMTexture2_Changed(p,a,b) (p)->lpVtbl->Changed(p,a,b)
3323 #define IDirect3DRMTexture2_SetColors(p,a) (p)->lpVtbl->SetColors(p,a)
3324 #define IDirect3DRMTexture2_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
3325 #define IDirect3DRMTexture2_SetDecalSize(p,a,b) (p)->lpVtbl->SetDecalSize(p,a,b)
3326 #define IDirect3DRMTexture2_SetDecalOrigin(p,a,b) (p)->lpVtbl->SetDecalOrigin(p,a,b)
3327 #define IDirect3DRMTexture2_SetDecalScale(p,a) (p)->lpVtbl->SetDecalScale(p,a)
3328 #define IDirect3DRMTexture2_SetDecalTransparency(p,a) (p)->lpVtbl->SetDecalTransparency(p,a)
3329 #define IDirect3DRMTexture2_SetDecalTransparencyColor(p,a) (p)->lpVtbl->SetDecalTransparentColor(p,a)
3330 #define IDirect3DRMTexture2_GetDecalSize(p,a,b) (p)->lpVtbl->GetDecalSize(p,a,b)
3331 #define IDirect3DRMTexture2_GetDecalOrigin(p,a,b) (p)->lpVtbl->GetDecalOrigin(p,a,b)
3332 #define IDirect3DRMTexture2_GetImage(p) (p)->lpVtbl->GetImage(p)
3333 #define IDirect3DRMTexture2_GetShades(p) (p)->lpVtbl->GetShades(p)
3334 #define IDirect3DRMTexture2_GetColors(p) (p)->lpVtbl->GetColors(p)
3335 #define IDirect3DRMTexture2_GetDecalScale(p) (p)->lpVtbl->GetDecalScale(p)
3336 #define IDirect3DRMTexture2_GetDecalTransparency(p) (p)->lpVtbl->GetDecalTransparency(p)
3337 #define IDirect3DRMTexture2_GetDecalTransparencyColor(p) (p)->lpVtbl->GetDecalTransparencyColor(p)
3338 /*** IDirect3DRMTexture2 methods ***/
3339 #define IDirect3DRMTexture2_InitFromImage(p,a) (p)->lpVtbl->InitFromImage(p,a)
3340 #define IDirect3DRMTexture2_InitFromResource2(p,a,b,c) (p)->lpVtbl->InitFromResource2(p,a,b,c)
3341 #define IDirect3DRMTexture2_GenerateMIPMap(p,a) (p)->lpVtbl->GenerateMIPMap(p,a)
3342 #else
3343 /*** IUnknown methods ***/
3344 #define IDirect3DRMTexture2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3345 #define IDirect3DRMTexture2_AddRef(p) (p)->AddRef()
3346 #define IDirect3DRMTexture2_Release(p) (p)->Release()
3347 /*** IDirect3DRMObject methods ***/
3348 #define IDirect3DRMTexture2_Clone(p,a,b,c) (p)->Clone(a,b,c)
3349 #define IDirect3DRMTexture2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3350 #define IDirect3DRMTexture2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3351 #define IDirect3DRMTexture2_SetAppData(p,a) (p)->SetAppData(a)
3352 #define IDirect3DRMTexture2_GetAppData(p) (p)->GetAppData()
3353 #define IDirect3DRMTexture2_SetName(p,a) (p)->SetName(a)
3354 #define IDirect3DRMTexture2_GetName(p,a,b) (p)->GetName(a,b)
3355 #define IDirect3DRMTexture2_GetClassName(p,a,b) (p)->GetClassName(a,b)
3356 /*** IDirect3DRMTexture methods ***/
3357 #define IDirect3DRMTexture2_InitFromFile(p,a) (p)->InitFromFile(a)
3358 #define IDirect3DRMTexture2_InitFromSurface(p,a) (p)->InitFromSurface(a)
3359 #define IDirect3DRMTexture2_InitFromResource(p,a) (p)->InitFromResource(a)
3360 #define IDirect3DRMTexture2_Changed(p,a,b) (p)->Changed(a,b)
3361 #define IDirect3DRMTexture2_SetColors(p,a) (p)->SetColors(a)
3362 #define IDirect3DRMTexture2_SetShades(p,a) (p)->SetShades(a)
3363 #define IDirect3DRMTexture2_SetDecalSize(p,a,b) (p)->SetDecalSize(a,b)
3364 #define IDirect3DRMTexture2_SetDecalOrigin(p,a,b) (p)->SetDecalOrigin(a,b)
3365 #define IDirect3DRMTexture2_SetDecalScale(p,a) (p)->SetDecalScale(a)
3366 #define IDirect3DRMTexture2_SetDecalTransparency(p,a) (p)->SetDecalTransparency(a)
3367 #define IDirect3DRMTexture2_SetDecalTransparencyColor(p,a) (p)->SetDecalTransparentColor(a)
3368 #define IDirect3DRMTexture2_GetDecalSize(p,a,b) (p)->GetDecalSize(a,b)
3369 #define IDirect3DRMTexture2_GetDecalOrigin(p,a,b) (p)->GetDecalOrigin(a,b)
3370 #define IDirect3DRMTexture2_GetImage(p) (p)->GetImage()
3371 #define IDirect3DRMTexture2_GetShades(p) (p)->GetShades()
3372 #define IDirect3DRMTexture2_GetColors(p) (p)->GetColors()
3373 #define IDirect3DRMTexture2_GetDecalScale(p) (p)->GetDecalScale()
3374 #define IDirect3DRMTexture2_GetDecalTransparency(p) (p)->GetDecalTransparency()
3375 #define IDirect3DRMTexture2_GetDecalTransparencyColor(p) (p)->GetDecalTransparencyColor()
3376 /*** IDirect3DRMTexture2 methods ***/
3377 #define IDirect3DRMTexture2_InitFromImage(p,a) (p)->InitFromImage(a)
3378 #define IDirect3DRMTexture2_InitFromResource2(p,a,b,c) (p)->InitFromResource2(a,b,c)
3379 #define IDirect3DRMTexture2_GenerateMIPMap(p,a) (p)->GenerateMIPMap(a)
3380 #endif
3382 /*****************************************************************************
3383 * IDirect3DRMTexture3 interface
3385 #define INTERFACE IDirect3DRMTexture3
3386 DECLARE_INTERFACE_(IDirect3DRMTexture3, IDirect3DRMVisual)
3388 /*** IUnknown methods ***/
3389 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3390 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3391 STDMETHOD_(ULONG,Release)(THIS) PURE;
3392 /*** IDirect3DRMObject methods ***/
3393 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3394 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3395 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3396 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3397 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3398 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3399 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3400 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3401 /*** IDirect3DRMTexture3 methods ***/
3402 STDMETHOD(InitFromFile)(THIS_ const char *filename) PURE;
3403 STDMETHOD(InitFromSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDS) PURE;
3404 STDMETHOD(InitFromResource)(THIS_ HRSRC) PURE;
3405 STDMETHOD(Changed)(THIS_ DWORD dwFlags, DWORD dwcRects, LPRECT pRects) PURE;
3406 STDMETHOD(SetColors)(THIS_ DWORD) PURE;
3407 STDMETHOD(SetShades)(THIS_ DWORD) PURE;
3408 STDMETHOD(SetDecalSize)(THIS_ D3DVALUE width, D3DVALUE height) PURE;
3409 STDMETHOD(SetDecalOrigin)(THIS_ LONG x, LONG y) PURE;
3410 STDMETHOD(SetDecalScale)(THIS_ DWORD) PURE;
3411 STDMETHOD(SetDecalTransparency)(THIS_ BOOL) PURE;
3412 STDMETHOD(SetDecalTransparentColor)(THIS_ D3DCOLOR) PURE;
3413 STDMETHOD(GetDecalSize)(THIS_ D3DVALUE *width_return, D3DVALUE *height_return) PURE;
3414 STDMETHOD(GetDecalOrigin)(THIS_ LONG *x_return, LONG *y_return) PURE;
3415 STDMETHOD_(D3DRMIMAGE *, GetImage)(THIS) PURE;
3416 STDMETHOD_(DWORD, GetShades)(THIS) PURE;
3417 STDMETHOD_(DWORD, GetColors)(THIS) PURE;
3418 STDMETHOD_(DWORD, GetDecalScale)(THIS) PURE;
3419 STDMETHOD_(BOOL, GetDecalTransparency)(THIS) PURE;
3420 STDMETHOD_(D3DCOLOR, GetDecalTransparentColor)(THIS) PURE;
3421 STDMETHOD(InitFromImage)(THIS_ LPD3DRMIMAGE) PURE;
3422 STDMETHOD(InitFromResource2)(THIS_ HMODULE hModule, LPCSTR /* LPCTSTR */ strName, LPCSTR /* LPCTSTR */ strType) PURE;
3423 STDMETHOD(GenerateMIPMap)(THIS_ DWORD) PURE;
3424 STDMETHOD(GetSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE* lplpDDS) PURE;
3425 STDMETHOD(SetCacheOptions)(THIS_ LONG lImportance, DWORD dwFlags) PURE;
3426 STDMETHOD(GetCacheOptions)(THIS_ LPLONG lplImportance, LPDWORD lpdwFlags) PURE;
3427 STDMETHOD(SetDownsampleCallback)(THIS_ D3DRMDOWNSAMPLECALLBACK pCallback, LPVOID pArg) PURE;
3428 STDMETHOD(SetValidationCallback)(THIS_ D3DRMVALIDATIONCALLBACK pCallback, LPVOID pArg) PURE;
3430 #undef INTERFACE
3432 #if !defined(__cplusplus) || defined(CINTERFACE)
3433 /*** IUnknown methods ***/
3434 #define IDirect3DRMTexture3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3435 #define IDirect3DRMTexture3_AddRef(p) (p)->lpVtbl->AddRef(p)
3436 #define IDirect3DRMTexture3_Release(p) (p)->lpVtbl->Release(p)
3437 /*** IDirect3DRMObject methods ***/
3438 #define IDirect3DRMTexture3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3439 #define IDirect3DRMTexture3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3440 #define IDirect3DRMTexture3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3441 #define IDirect3DRMTexture3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3442 #define IDirect3DRMTexture3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3443 #define IDirect3DRMTexture3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3444 #define IDirect3DRMTexture3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3445 #define IDirect3DRMTexture3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3446 /*** IDirect3DRMTexture3 methods ***/
3447 #define IDirect3DRMTexture3_InitFromFile(p,a) (p)->lpVtbl->InitFromFile(p,a)
3448 #define IDirect3DRMTexture3_InitFromSurface(p,a) (p)->lpVtbl->InitFromSurface(p,a)
3449 #define IDirect3DRMTexture3_InitFromResource(p,a) (p)->lpVtbl->InitFromResource(p,a)
3450 #define IDirect3DRMTexture3_Changed(p,a,b,c) (p)->lpVtbl->Changed(p,a,b,c)
3451 #define IDirect3DRMTexture3_SetColors(p,a) (p)->lpVtbl->SetColors(p,a)
3452 #define IDirect3DRMTexture3_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
3453 #define IDirect3DRMTexture3_SetDecalSize(p,a,b) (p)->lpVtbl->SetDecalSize(p,a,b)
3454 #define IDirect3DRMTexture3_SetDecalOrigin(p,a,b) (p)->lpVtbl->SetDecalOrigin(p,a,b)
3455 #define IDirect3DRMTexture3_SetDecalScale(p,a) (p)->lpVtbl->SetDecalScale(p,a)
3456 #define IDirect3DRMTexture3_SetDecalTransparency(p,a) (p)->lpVtbl->SetDecalTransparency(p,a)
3457 #define IDirect3DRMTexture3_SetDecalTransparencyColor(p,a) (p)->lpVtbl->SetDecalTransparentColor(p,a)
3458 #define IDirect3DRMTexture3_GetDecalSize(p,a,b) (p)->lpVtbl->GetDecalSize(p,a,b)
3459 #define IDirect3DRMTexture3_GetDecalOrigin(p,a,b) (p)->lpVtbl->GetDecalOrigin(p,a,b)
3460 #define IDirect3DRMTexture3_GetImage(p) (p)->lpVtbl->GetImage(p)
3461 #define IDirect3DRMTexture3_GetShades(p) (p)->lpVtbl->GetShades(p)
3462 #define IDirect3DRMTexture3_GetColors(p) (p)->lpVtbl->GetColors(p)
3463 #define IDirect3DRMTexture3_GetDecalScale(p) (p)->lpVtbl->GetDecalScale(p)
3464 #define IDirect3DRMTexture3_GetDecalTransparency(p) (p)->lpVtbl->GetDecalTransparency(p)
3465 #define IDirect3DRMTexture3_GetDecalTransparencyColor(p) (p)->lpVtbl->GetDecalTransparencyColor(p)
3466 #define IDirect3DRMTexture3_InitFromImage(p,a) (p)->lpVtbl->InitFromImage(p,a)
3467 #define IDirect3DRMTexture3_InitFromResource2(p,a,b,c) (p)->lpVtbl->InitFromResource2(p,a,b,c)
3468 #define IDirect3DRMTexture3_GenerateMIPMap(p,a) (p)->lpVtbl->GenerateMIPMap(p,a)
3469 #define IDirect3DRMTexture3_GetSurface(p,a,b) (p)->lpVtbl->GetSurface(p,a,b)
3470 #define IDirect3DRMTexture3_SetCacheOptions(p,a,b) (p)->lpVtbl->SetCacheOptions(p,a,b)
3471 #define IDirect3DRMTexture3_GetCacheOptions(p,a,b) (p)->lpVtbl->GetCacheOptions(p,a,b)
3472 #define IDirect3DRMTexture3_SetDownsampleCallback(p,a,b) (p)->lpVtbl->SetDownsampleCallback(p,a,b)
3473 #define IDirect3DRMTexture3_SetValidationCallback(p,a,b) (p)->lpVtbl->SetValidationCallback(p,a,b)
3474 #else
3475 /*** IUnknown methods ***/
3476 #define IDirect3DRMTexture3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3477 #define IDirect3DRMTexture3_AddRef(p) (p)->AddRef()
3478 #define IDirect3DRMTexture3_Release(p) (p)->Release()
3479 /*** IDirect3DRMObject methods ***/
3480 #define IDirect3DRMTexture3_Clone(p,a,b,c) (p)->Clone(a,b,c)
3481 #define IDirect3DRMTexture3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3482 #define IDirect3DRMTexture3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3483 #define IDirect3DRMTexture3_SetAppData(p,a) (p)->SetAppData(a)
3484 #define IDirect3DRMTexture3_GetAppData(p) (p)->GetAppData()
3485 #define IDirect3DRMTexture3_SetName(p,a) (p)->SetName(a)
3486 #define IDirect3DRMTexture3_GetName(p,a,b) (p)->GetName(a,b)
3487 #define IDirect3DRMTexture3_GetClassName(p,a,b) (p)->GetClassName(a,b)
3488 /*** IDirect3DRMTexture3 methods ***/
3489 #define IDirect3DRMTexture3_InitFromFile(p,a) (p)->InitFromFile(a)
3490 #define IDirect3DRMTexture3_InitFromSurface(p,a) (p)->InitFromSurface(a)
3491 #define IDirect3DRMTexture3_InitFromResource(p,a) (p)->InitFromResource(a)
3492 #define IDirect3DRMTexture3_Changed(p,a,b,c) (p)->Changed(a,b,c)
3493 #define IDirect3DRMTexture3_SetColors(p,a) (p)->SetColors(a)
3494 #define IDirect3DRMTexture3_SetShades(p,a) (p)->SetShades(a)
3495 #define IDirect3DRMTexture3_SetDecalSize(p,a,b) (p)->SetDecalSize(a,b)
3496 #define IDirect3DRMTexture3_SetDecalOrigin(p,a,b) (p)->SetDecalOrigin(a,b)
3497 #define IDirect3DRMTexture3_SetDecalScale(p,a) (p)->SetDecalScale(a)
3498 #define IDirect3DRMTexture3_SetDecalTransparency(p,a) (p)->SetDecalTransparency(a)
3499 #define IDirect3DRMTexture3_SetDecalTransparencyColor(p,a) (p)->SetDecalTransparentColor(a)
3500 #define IDirect3DRMTexture3_GetDecalSize(p,a,b) (p)->GetDecalSize(a,b)
3501 #define IDirect3DRMTexture3_GetDecalOrigin(p,a,b) (p)->GetDecalOrigin(a,b)
3502 #define IDirect3DRMTexture3_GetImage(p) (p)->GetImage()
3503 #define IDirect3DRMTexture3_GetShades(p) (p)->GetShades()
3504 #define IDirect3DRMTexture3_GetColors(p) (p)->GetColors()
3505 #define IDirect3DRMTexture3_GetDecalScale(p) (p)->GetDecalScale()
3506 #define IDirect3DRMTexture3_GetDecalTransparency(p) (p)->GetDecalTransparency()
3507 #define IDirect3DRMTexture3_GetDecalTransparencyColor(p) (p)->GetDecalTransparencyColor()
3508 #define IDirect3DRMTexture3_InitFromImage(p,a) (p)->InitFromImage(a)
3509 #define IDirect3DRMTexture3_InitFromResource2(p,a,b,c) (p)->InitFromResource2(a,b,c)
3510 #define IDirect3DRMTexture3_GenerateMIPMap(p,a) (p)->GenerateMIPMap(a)
3511 #define IDirect3DRMTexture3_GetSurface(p,a,b) (p)->GetSurface(a,b)
3512 #define IDirect3DRMTexture3_SetCacheOptions(p,a,b) (p)->SetCacheOptions(a,b)
3513 #define IDirect3DRMTexture3_GetCacheOptions(p,a,b) (p)->GetCacheOptions(a,b)
3514 #define IDirect3DRMTexture3_SetDownsampleCallback(p,a,b) (p)->SetDownsampleCallback(a,b)
3515 #define IDirect3DRMTexture3_SetValidationCallback(p,a,b) (p)->SetValidationCallback(a,b)
3516 #endif
3518 /*****************************************************************************
3519 * IDirect3DRMWrap interface
3521 #define INTERFACE IDirect3DRMWrap
3522 DECLARE_INTERFACE_(IDirect3DRMWrap, IDirect3DRMObject)
3524 /*** IUnknown methods ***/
3525 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3526 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3527 STDMETHOD_(ULONG,Release)(THIS) PURE;
3528 /*** IDirect3DRMObject methods ***/
3529 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3530 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3531 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3532 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3533 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3534 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3535 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3536 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3537 /*** IDirect3DRMWrap methods ***/
3538 STDMETHOD(Init)
3539 ( THIS_ D3DRMWRAPTYPE, LPDIRECT3DRMFRAME ref,
3540 D3DVALUE ox, D3DVALUE oy, D3DVALUE oz,
3541 D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
3542 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz,
3543 D3DVALUE ou, D3DVALUE ov,
3544 D3DVALUE su, D3DVALUE sv
3545 ) PURE;
3546 STDMETHOD(Apply)(THIS_ LPDIRECT3DRMOBJECT) PURE;
3547 STDMETHOD(ApplyRelative)(THIS_ LPDIRECT3DRMFRAME frame, LPDIRECT3DRMOBJECT) PURE;
3549 #undef INTERFACE
3551 #if !defined(__cplusplus) || defined(CINTERFACE)
3552 /*** IUnknown methods ***/
3553 #define IDirect3DRMWrap_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3554 #define IDirect3DRMWrap_AddRef(p) (p)->lpVtbl->AddRef(p)
3555 #define IDirect3DRMWrap_Release(p) (p)->lpVtbl->Release(p)
3556 /*** IDirect3DRMObject methods ***/
3557 #define IDirect3DRMWrap_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3558 #define IDirect3DRMWrap_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3559 #define IDirect3DRMWrap_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3560 #define IDirect3DRMWrap_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3561 #define IDirect3DRMWrap_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3562 #define IDirect3DRMWrap_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3563 #define IDirect3DRMWrap_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3564 #define IDirect3DRMWrap_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3565 /*** IDirect3DRMWrap methods ***/
3566 #define IDirect3DRMWrap_Init(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) (p)->lpVtbl->Init(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o)
3567 #define IDirect3DRMWrap_Apply(p,a) (p)->lpVtbl->Apply(p,a)
3568 #define IDirect3DRMWrap_ApplyRelative(p,a,b) (p)->lpVtbl->ApplyRelative(p,a,b)
3569 #else
3570 /*** IUnknown methods ***/
3571 #define IDirect3DRMWrap_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3572 #define IDirect3DRMWrap_AddRef(p) (p)->AddRef()
3573 #define IDirect3DRMWrap_Release(p) (p)->Release()
3574 /*** IDirect3DRMObject methods ***/
3575 #define IDirect3DRMWrap_Clone(p,a,b,c) (p)->Clone(a,b,c)
3576 #define IDirect3DRMWrap_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3577 #define IDirect3DRMWrap_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3578 #define IDirect3DRMWrap_SetAppData(p,a) (p)->SetAppData(a)
3579 #define IDirect3DRMWrap_GetAppData(p) (p)->GetAppData()
3580 #define IDirect3DRMWrap_SetName(p,a) (p)->SetName(a)
3581 #define IDirect3DRMWrap_GetName(p,a,b) (p)->GetName(a,b)
3582 #define IDirect3DRMWrap_GetClassName(p,a,b) (p)->GetClassName(a,b)
3583 /*** IDirect3DRMWrap methods ***/
3584 #define IDirect3DRMWrap_Init(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) (p)->Init(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o)
3585 #define IDirect3DRMWrap_Apply(p,a) (p)->Apply(p,a)
3586 #define IDirect3DRMWrap_ApplyRelative(p,a,b) (p)->ApplyRelative(p,a,b)
3587 #endif
3589 /*****************************************************************************
3590 * IDirect3DRMMaterial interface
3592 #define INTERFACE IDirect3DRMMaterial
3593 DECLARE_INTERFACE_(IDirect3DRMMaterial, IDirect3DRMObject)
3595 /*** IUnknown methods ***/
3596 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3597 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3598 STDMETHOD_(ULONG,Release)(THIS) PURE;
3599 /*** IDirect3DRMObject methods ***/
3600 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3601 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3602 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3603 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3604 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3605 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3606 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3607 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3608 /*** IDirect3DRMMaterial methods ***/
3609 STDMETHOD(SetPower)(THIS_ D3DVALUE power) PURE;
3610 STDMETHOD(SetSpecular)(THIS_ D3DVALUE r, D3DVALUE g, D3DVALUE b) PURE;
3611 STDMETHOD(SetEmissive)(THIS_ D3DVALUE r, D3DVALUE g, D3DVALUE b) PURE;
3612 STDMETHOD_(D3DVALUE, GetPower)(THIS) PURE;
3613 STDMETHOD(GetSpecular)(THIS_ D3DVALUE* r, D3DVALUE* g, D3DVALUE* b) PURE;
3614 STDMETHOD(GetEmissive)(THIS_ D3DVALUE* r, D3DVALUE* g, D3DVALUE* b) PURE;
3616 #undef INTERFACE
3618 #if !defined(__cplusplus) || defined(CINTERFACE)
3619 /*** IUnknown methods ***/
3620 #define IDirect3DRMMaterial_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3621 #define IDirect3DRMMaterial_AddRef(p) (p)->lpVtbl->AddRef(p)
3622 #define IDirect3DRMMaterial_Release(p) (p)->lpVtbl->Release(p)
3623 /*** IDirect3DRMObject methods ***/
3624 #define IDirect3DRMMaterial_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3625 #define IDirect3DRMMaterial_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3626 #define IDirect3DRMMaterial_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3627 #define IDirect3DRMMaterial_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3628 #define IDirect3DRMMaterial_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3629 #define IDirect3DRMMaterial_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3630 #define IDirect3DRMMaterial_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3631 #define IDirect3DRMMaterial_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3632 /*** IDirect3DRMMaterial methods ***/
3633 #define IDirect3DRMMaterial_SetPower(p,a) (p)->lpVtbl->SetPower(p,a)
3634 #define IDirect3DRMMaterial_SetSpecular(p,a,b,c) (p)->lpVtbl->SetSpecular(p,a,b,c)
3635 #define IDirect3DRMMaterial_SetEmissive(p,a,b,c) (p)->lpVtbl->SetEmissive(p,a,b,c)
3636 #define IDirect3DRMMaterial_GetPower(p) (p)->lpVtbl->GetPower(p)
3637 #define IDirect3DRMMaterial_GetSpecular(p,a,b,c) (p)->lpVtbl->GetSpecular(p,a,b,c)
3638 #define IDirect3DRMMaterial_GetEmissive(p,a,b,c) (p)->lpVtbl->GetEmissive(p,a,b,c)
3639 #else
3640 /*** IUnknown methods ***/
3641 #define IDirect3DRMMaterial_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3642 #define IDirect3DRMMaterial_AddRef(p) (p)->AddRef()
3643 #define IDirect3DRMMaterial_Release(p) (p)->Release()
3644 /*** IDirect3DRMObject methods ***/
3645 #define IDirect3DRMMaterial_Clone(p,a,b,c) (p)->Clone(a,b,c)
3646 #define IDirect3DRMMaterial_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3647 #define IDirect3DRMMaterial_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3648 #define IDirect3DRMMaterial_SetAppData(p,a) (p)->SetAppData(a)
3649 #define IDirect3DRMMaterial_GetAppData(p) (p)->GetAppData()
3650 #define IDirect3DRMMaterial_SetName(p,a) (p)->SetName(a)
3651 #define IDirect3DRMMaterial_GetName(p,a,b) (p)->GetName(a,b)
3652 #define IDirect3DRMMaterial_GetClassName(p,a,b) (p)->GetClassName(a,b)
3653 /*** IDirect3DRMMaterial methods ***/
3654 #define IDirect3DRMMaterial_SetPower(p,a) (p)->SetPower(a)
3655 #define IDirect3DRMMaterial_SetSpecular(p,a,b,c) (p)->SetSpecular(a,b,c)
3656 #define IDirect3DRMMaterial_SetEmissive(p,a,b,c) (p)->SetEmissive(a,b,c)
3657 #define IDirect3DRMMaterial_GetPower(p) (p)->GetPower()
3658 #define IDirect3DRMMaterial_GetSpecular(p,a,b,c) (p)->GetSpecular(a,b,c)
3659 #define IDirect3DRMMaterial_GetEmissive(p,a,b,c) (p)->GetEmissive(a,b,c)
3660 #endif
3662 /*****************************************************************************
3663 * IDirect3DRMMaterial2 interface
3665 #define INTERFACE IDirect3DRMMaterial2
3666 DECLARE_INTERFACE_(IDirect3DRMMaterial2, IDirect3DRMObject)
3668 /*** IUnknown methods ***/
3669 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3670 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3671 STDMETHOD_(ULONG,Release)(THIS) PURE;
3672 /*** IDirect3DRMObject methods ***/
3673 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3674 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3675 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3676 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3677 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3678 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3679 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3680 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3681 /*** IDirect3DRMMaterial2 methods ***/
3682 STDMETHOD(SetPower)(THIS_ D3DVALUE power) PURE;
3683 STDMETHOD(SetSpecular)(THIS_ D3DVALUE r, D3DVALUE g, D3DVALUE b) PURE;
3684 STDMETHOD(SetEmissive)(THIS_ D3DVALUE r, D3DVALUE g, D3DVALUE b) PURE;
3685 STDMETHOD_(D3DVALUE, GetPower)(THIS) PURE;
3686 STDMETHOD(GetSpecular)(THIS_ D3DVALUE* r, D3DVALUE* g, D3DVALUE* b) PURE;
3687 STDMETHOD(GetEmissive)(THIS_ D3DVALUE* r, D3DVALUE* g, D3DVALUE* b) PURE;
3688 STDMETHOD(GetAmbient)(THIS_ D3DVALUE* r, D3DVALUE* g, D3DVALUE* b) PURE;
3689 STDMETHOD(SetAmbient)(THIS_ D3DVALUE r, D3DVALUE g, D3DVALUE b) PURE;
3691 #undef INTERFACE
3693 #if !defined(__cplusplus) || defined(CINTERFACE)
3694 /*** IUnknown methods ***/
3695 #define IDirect3DRMMaterial2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3696 #define IDirect3DRMMaterial2_AddRef(p) (p)->lpVtbl->AddRef(p)
3697 #define IDirect3DRMMaterial2_Release(p) (p)->lpVtbl->Release(p)
3698 /*** IDirect3DRMObject methods ***/
3699 #define IDirect3DRMMaterial2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3700 #define IDirect3DRMMaterial2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3701 #define IDirect3DRMMaterial2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3702 #define IDirect3DRMMaterial2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3703 #define IDirect3DRMMaterial2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3704 #define IDirect3DRMMaterial2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3705 #define IDirect3DRMMaterial2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3706 #define IDirect3DRMMaterial2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3707 /*** IDirect3DRMMaterial2 methods ***/
3708 #define IDirect3DRMMaterial2_SetPower(p,a) (p)->lpVtbl->SetPower(p,a)
3709 #define IDirect3DRMMaterial2_SetSpecular(p,a,b,c) (p)->lpVtbl->SetSpecular(p,a,b,c)
3710 #define IDirect3DRMMaterial2_SetEmissive(p,a,b,c) (p)->lpVtbl->SetEmissive(p,a,b,c)
3711 #define IDirect3DRMMaterial2_GetPower(p) (p)->lpVtbl->GetPower(p)
3712 #define IDirect3DRMMaterial2_GetSpecular(p,a,b,c) (p)->lpVtbl->GetSpecular(p,a,b,c)
3713 #define IDirect3DRMMaterial2_GetEmissive(p,a,b,c) (p)->lpVtbl->GetEmissive(p,a,b,c)
3714 #define IDirect3DRMMaterial2_SetAmbient(p,a,b,c) (p)->lpVtbl->SetAmbient(p,a,b,c)
3715 #define IDirect3DRMMaterial2_GetAmbient(p,a,b,c) (p)->lpVtbl->GetAmbient(p,a,b,c)
3716 #else
3717 /*** IUnknown methods ***/
3718 #define IDirect3DRMMaterial2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3719 #define IDirect3DRMMaterial2_AddRef(p) (p)->AddRef()
3720 #define IDirect3DRMMaterial2_Release(p) (p)->Release()
3721 /*** IDirect3DRMObject methods ***/
3722 #define IDirect3DRMMaterial2_Clone(p,a,b,c) (p)->Clone(a,b,c)
3723 #define IDirect3DRMMaterial2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3724 #define IDirect3DRMMaterial2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3725 #define IDirect3DRMMaterial2_SetAppData(p,a) (p)->SetAppData(a)
3726 #define IDirect3DRMMaterial2_GetAppData(p) (p)->GetAppData()
3727 #define IDirect3DRMMaterial2_SetName(p,a) (p)->SetName(a)
3728 #define IDirect3DRMMaterial2_GetName(p,a,b) (p)->GetName(a,b)
3729 #define IDirect3DRMMaterial2_GetClassName(p,a,b) (p)->GetClassName(a,b)
3730 /*** IDirect3DRMMaterial2 methods ***/
3731 #define IDirect3DRMMaterial2_SetPower(p,a) (p)->SetPower(a)
3732 #define IDirect3DRMMaterial2_SetSpecular(p,a,b,c) (p)->SetSpecular(a,b,c)
3733 #define IDirect3DRMMaterial2_SetEmissive(p,a,b,c) (p)->SetEmissive(a,b,c)
3734 #define IDirect3DRMMaterial2_GetPower(p) (p)->GetPower()
3735 #define IDirect3DRMMaterial2_GetSpecular(p,a,b,c) (p)->GetSpecular(a,b,c)
3736 #define IDirect3DRMMaterial2_GetEmissive(p,a,b,c) (p)->GetEmissive(a,b,c)
3737 #define IDirect3DRMMaterial2_SetAmbient(p,a,b,c) (p)->SetAmbient(a,b,c)
3738 #define IDirect3DRMMaterial2_GetAmbient(p,a,b,c) (p)->GetAmbient(a,b,c)
3739 #endif
3741 /*****************************************************************************
3742 * IDirect3DRMAnimation interface
3744 #define INTERFACE IDirect3DRMAnimation
3745 DECLARE_INTERFACE_(IDirect3DRMAnimation, IDirect3DRMObject)
3747 /*** IUnknown methods ***/
3748 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3749 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3750 STDMETHOD_(ULONG,Release)(THIS) PURE;
3751 /*** IDirect3DRMObject methods ***/
3752 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3753 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3754 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3755 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3756 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3757 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3758 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3759 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3760 /*** IDirect3DRMAnimation methods ***/
3761 STDMETHOD(SetOptions)(THIS_ D3DRMANIMATIONOPTIONS flags) PURE;
3762 STDMETHOD(AddRotateKey)(THIS_ D3DVALUE time, D3DRMQUATERNION *q) PURE;
3763 STDMETHOD(AddPositionKey)(THIS_ D3DVALUE time, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
3764 STDMETHOD(AddScaleKey)(THIS_ D3DVALUE time, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
3765 STDMETHOD(DeleteKey)(THIS_ D3DVALUE time) PURE;
3766 STDMETHOD(SetFrame)(THIS_ LPDIRECT3DRMFRAME frame) PURE;
3767 STDMETHOD(SetTime)(THIS_ D3DVALUE time) PURE;
3768 STDMETHOD_(D3DRMANIMATIONOPTIONS, GetOptions)(THIS) PURE;
3770 #undef INTERFACE
3772 #if !defined(__cplusplus) || defined(CINTERFACE)
3773 /*** IUnknown methods ***/
3774 #define IDirect3DRMAnimation_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3775 #define IDirect3DRMAnimation_AddRef(p) (p)->lpVtbl->AddRef(p)
3776 #define IDirect3DRMAnimation_Release(p) (p)->lpVtbl->Release(p)
3777 /*** IDirect3DRMObject methods ***/
3778 #define IDirect3DRMAnimation_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3779 #define IDirect3DRMAnimation_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3780 #define IDirect3DRMAnimation_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3781 #define IDirect3DRMAnimation_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3782 #define IDirect3DRMAnimation_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3783 #define IDirect3DRMAnimation_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3784 #define IDirect3DRMAnimation_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3785 #define IDirect3DRMAnimation_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3786 /*** IDirect3DRMAnimation methods ***/
3787 #define IDirect3DRMAnimation_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
3788 #define IDirect3DRMAnimation_AddRotateKey(p,a,b) (p)->lpVtbl->AddRotateKey(p,a,b)
3789 #define IDirect3DRMAnimation_AddPositionKey(p,a,b,c,d) (p)->lpVtbl->AddPositionKey(p,a,b,c,d)
3790 #define IDirect3DRMAnimation_AddScaleKey(p,a,b,c,d) (p)->lpVtbl->AddScaleKey(p,a,b,c,d)
3791 #define IDirect3DRMAnimation_DeleteKey(p,a) (p)->lpVtbl->DeleteKey(p,a)
3792 #define IDirect3DRMAnimation_SetFrame(p,a) (p)->lpVtbl->SetFrame(p,a)
3793 #define IDirect3DRMAnimation_SetTime(p,a) (p)->lpVtbl->SetTime(p,a)
3794 #define IDirect3DRMAnimation_GetOptions(p) (p)->lpVtbl->GetOptions(p)
3795 #else
3796 /*** IUnknown methods ***/
3797 #define IDirect3DRMAnimation_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3798 #define IDirect3DRMAnimation_AddRef(p) (p)->AddRef()
3799 #define IDirect3DRMAnimation_Release(p) (p)->Release()
3800 /*** IDirect3DRMObject methods ***/
3801 #define IDirect3DRMAnimation_Clone(p,a,b,c) (p)->Clone(a,b,c)
3802 #define IDirect3DRMAnimation_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3803 #define IDirect3DRMAnimation_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3804 #define IDirect3DRMAnimation_SetAppData(p,a) (p)->SetAppData(a)
3805 #define IDirect3DRMAnimation_GetAppData(p) (p)->GetAppData()
3806 #define IDirect3DRMAnimation_SetName(p,a) (p)->SetName(a)
3807 #define IDirect3DRMAnimation_GetName(p,a,b) (p)->GetName(a,b)
3808 #define IDirect3DRMAnimation_GetClassName(p,a,b) (p)->GetClassName(a,b)
3809 /*** IDirect3DRMAnimation methods ***/
3810 #define IDirect3DRMAnimation_SetOptions(p,a) (p)->SetOptions(a)
3811 #define IDirect3DRMAnimation_AddRotateKey(p,a,b) (p)->AddRotateKey(a,b)
3812 #define IDirect3DRMAnimation_AddPositionKey(p,a,b,c,d) (p)->AddPositionKey(a,b,c,d)
3813 #define IDirect3DRMAnimation_AddScaleKey(p,a,b,c,d) (p)->AddScaleKey(a,b,c,d)
3814 #define IDirect3DRMAnimation_DeleteKey(p,a) (p)->DeleteKey(a)
3815 #define IDirect3DRMAnimation_SetFrame(p,a) (p)->SetFrame(a)
3816 #define IDirect3DRMAnimation_SetTime(p,a) (p)->SetTime(a)
3817 #define IDirect3DRMAnimation_GetOptions(p) (p)->GetOptions()
3818 #endif
3820 /*****************************************************************************
3821 * IDirect3DRMAnimation2 interface
3823 #define INTERFACE IDirect3DRMAnimation2
3824 DECLARE_INTERFACE_(IDirect3DRMAnimation2, IDirect3DRMObject)
3826 /*** IUnknown methods ***/
3827 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3828 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3829 STDMETHOD_(ULONG,Release)(THIS) PURE;
3830 /*** IDirect3DRMObject methods ***/
3831 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3832 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3833 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3834 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3835 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3836 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3837 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3838 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3839 /*** IDirect3DRMAnimation2 methods ***/
3840 STDMETHOD(SetOptions)(THIS_ D3DRMANIMATIONOPTIONS flags) PURE;
3841 STDMETHOD(AddRotateKey)(THIS_ D3DVALUE time, D3DRMQUATERNION *q) PURE;
3842 STDMETHOD(AddPositionKey)(THIS_ D3DVALUE time, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
3843 STDMETHOD(AddScaleKey)(THIS_ D3DVALUE time, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
3844 STDMETHOD(DeleteKey)(THIS_ D3DVALUE time) PURE;
3845 STDMETHOD(SetFrame)(THIS_ LPDIRECT3DRMFRAME3 frame) PURE;
3846 STDMETHOD(SetTime)(THIS_ D3DVALUE time) PURE;
3847 STDMETHOD_(D3DRMANIMATIONOPTIONS, GetOptions)(THIS) PURE;
3848 STDMETHOD(GetFrame)(THIS_ LPDIRECT3DRMFRAME3 *lpD3DFrame) PURE;
3849 STDMETHOD(DeleteKeyByID)(THIS_ DWORD dwID) PURE;
3850 STDMETHOD(AddKey)(THIS_ LPD3DRMANIMATIONKEY lpKey) PURE;
3851 STDMETHOD(ModifyKey)(THIS_ LPD3DRMANIMATIONKEY lpKey) PURE;
3852 STDMETHOD(GetKeys)(THIS_ D3DVALUE dvTimeMin,
3853 D3DVALUE dvTimeMax, LPDWORD lpdwNumKeys,
3854 LPD3DRMANIMATIONKEY lpKey);
3856 #undef INTERFACE
3858 #if !defined(__cplusplus) || defined(CINTERFACE)
3859 /*** IUnknown methods ***/
3860 #define IDirect3DRMAnimation2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3861 #define IDirect3DRMAnimation2_AddRef(p) (p)->lpVtbl->AddRef(p)
3862 #define IDirect3DRMAnimation2_Release(p) (p)->lpVtbl->Release(p)
3863 /*** IDirect3DRMObject methods ***/
3864 #define IDirect3DRMAnimation2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3865 #define IDirect3DRMAnimation2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3866 #define IDirect3DRMAnimation2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3867 #define IDirect3DRMAnimation2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3868 #define IDirect3DRMAnimation2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3869 #define IDirect3DRMAnimation2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3870 #define IDirect3DRMAnimation2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3871 #define IDirect3DRMAnimation2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3872 /*** IDirect3DRMAnimation2 methods ***/
3873 #define IDirect3DRMAnimation2_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
3874 #define IDirect3DRMAnimation2_AddRotateKey(p,a,b) (p)->lpVtbl->AddRotateKey(p,a,b)
3875 #define IDirect3DRMAnimation2_AddPositionKey(p,a,b,c,d) (p)->lpVtbl->AddPositionKey(p,a,b,c,d)
3876 #define IDirect3DRMAnimation2_AddScaleKey(p,a,b,c,d) (p)->lpVtbl->AddScaleKey(p,a,b,c,d)
3877 #define IDirect3DRMAnimation2_DeleteKey(p,a) (p)->lpVtbl->DeleteKey(p,a)
3878 #define IDirect3DRMAnimation2_SetFrame(p,a) (p)->lpVtbl->SetFrame(p,a)
3879 #define IDirect3DRMAnimation2_SetTime(p,a) (p)->lpVtbl->SetTime(p,a)
3880 #define IDirect3DRMAnimation2_GetOptions(p) (p)->lpVtbl->GetOptions(p)
3881 #define IDirect3DRMAnimation2_GetFrame(p,a) (p)->lpVtbl->GetFrame(p,a)
3882 #define IDirect3DRMAnimation2_DeleteKeyByID(p,a) (p)->lpVtbl->DeleteKeyByID(p,a)
3883 #define IDirect3DRMAnimation2_AddKey(p,a) (p)->lpVtbl->AddKey(p,a)
3884 #define IDirect3DRMAnimation2_ModifyKey(p,a) (p)->lpVtbl->ModifyKey(p,a)
3885 #define IDirect3DRMAnimation2_GetKeys(p,a,b,c,d) (p)->lpVtbl->GetKeys(p,a,b,c,d)
3886 #else
3887 /*** IUnknown methods ***/
3888 #define IDirect3DRMAnimation2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3889 #define IDirect3DRMAnimation2_AddRef(p) (p)->AddRef()
3890 #define IDirect3DRMAnimation2_Release(p) (p)->Release()
3891 /*** IDirect3DRMObject methods ***/
3892 #define IDirect3DRMAnimation2_Clone(p,a,b,c) (p)->Clone(a,b,c)
3893 #define IDirect3DRMAnimation2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3894 #define IDirect3DRMAnimation2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3895 #define IDirect3DRMAnimation2_SetAppData(p,a) (p)->SetAppData(a)
3896 #define IDirect3DRMAnimation2_GetAppData(p) (p)->GetAppData()
3897 #define IDirect3DRMAnimation2_SetName(p,a) (p)->SetName(a)
3898 #define IDirect3DRMAnimation2_GetName(p,a,b) (p)->GetName(a,b)
3899 #define IDirect3DRMAnimation2_GetClassName(p,a,b) (p)->GetClassName(a,b)
3900 /*** IDirect3DRMAnimation2 methods ***/
3901 #define IDirect3DRMAnimation2_SetOptions(p,a) (p)->SetOptions(a)
3902 #define IDirect3DRMAnimation2_AddRotateKey(p,a,b) (p)->AddRotateKey(a,b)
3903 #define IDirect3DRMAnimation2_AddPositionKey(p,a,b,c,d) (p)->AddPositionKey(a,b,c,d)
3904 #define IDirect3DRMAnimation2_AddScaleKey(p,a,b,c,d) (p)->AddScaleKey(a,b,c,d)
3905 #define IDirect3DRMAnimation2_DeleteKey(p,a) (p)->DeleteKey(a)
3906 #define IDirect3DRMAnimation2_SetFrame(p,a) (p)->SetFrame(a)
3907 #define IDirect3DRMAnimation2_SetTime(p,a) (p)->SetTime(a)
3908 #define IDirect3DRMAnimation2_GetOptions(p) (p)->GetOptions()
3909 #define IDirect3DRMAnimation2_GetFrame(p,a) (p)->GetFrame(a)
3910 #define IDirect3DRMAnimation2_DeleteKeyByID(p,a) (p)->DeleteKeyByID(a)
3911 #define IDirect3DRMAnimation2_AddKey(p,a) (p)->AddKey(a)
3912 #define IDirect3DRMAnimation2_ModifyKey(p,a) (p)->ModifyKey(a)
3913 #define IDirect3DRMAnimation2_GetKeys(p,a,b,c,d) (p)->GetKeys(a,b,c,d)
3914 #endif
3916 /*****************************************************************************
3917 * IDirect3DRMAnimationSet interface
3919 #define INTERFACE IDirect3DRMAnimationSet
3920 DECLARE_INTERFACE_(IDirect3DRMAnimationSet, IDirect3DRMObject)
3922 /*** IUnknown methods ***/
3923 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3924 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3925 STDMETHOD_(ULONG,Release)(THIS) PURE;
3926 /*** IDirect3DRMObject methods ***/
3927 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3928 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3929 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3930 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3931 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3932 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3933 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3934 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3935 /*** IDirect3DRMAnimationSet methods ***/
3936 STDMETHOD(AddAnimation)(THIS_ LPDIRECT3DRMANIMATION aid) PURE;
3937 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK, LPVOID lpArg, LPDIRECT3DRMFRAME parent)PURE;
3938 STDMETHOD(DeleteAnimation)(THIS_ LPDIRECT3DRMANIMATION aid) PURE;
3939 STDMETHOD(SetTime)(THIS_ D3DVALUE time) PURE;
3941 #undef INTERFACE
3943 #if !defined(__cplusplus) || defined(CINTERFACE)
3944 /*** IUnknown methods ***/
3945 #define IDirect3DRMAnimationSet_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3946 #define IDirect3DRMAnimationSet_AddRef(p) (p)->lpVtbl->AddRef(p)
3947 #define IDirect3DRMAnimationSet_Release(p) (p)->lpVtbl->Release(p)
3948 /*** IDirect3DRMObject methods ***/
3949 #define IDirect3DRMAnimationSet_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3950 #define IDirect3DRMAnimationSet_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3951 #define IDirect3DRMAnimationSet_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3952 #define IDirect3DRMAnimationSet_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3953 #define IDirect3DRMAnimationSet_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3954 #define IDirect3DRMAnimationSet_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3955 #define IDirect3DRMAnimationSet_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3956 #define IDirect3DRMAnimationSet_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3957 /*** IDirect3DRMAnimationSet methods ***/
3958 #define IDirect3DRMAnimationSet_AddAnimation(p,a) (p)->lpVtbl->AddAnimation(p,a)
3959 #define IDirect3DRMAnimationSet_Load(p,a,b,c,d,e,f) (p)->lpVtbl->Load(p,a,b,c,d,e,f)
3960 #define IDirect3DRMAnimationSet_DeleteAnimation(p,a) (p)->lpVtbl->DeleteAnimation(p,a)
3961 #define IDirect3DRMAnimationSet_SetTime(p,a) (p)->lpVtbl->SetTime(p,a)
3962 #else
3963 /*** IUnknown methods ***/
3964 #define IDirect3DRMAnimationSet_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3965 #define IDirect3DRMAnimationSet_AddRef(p) (p)->AddRef()
3966 #define IDirect3DRMAnimationSet_Release(p) (p)->Release()
3967 /*** IDirect3DRMObject methods ***/
3968 #define IDirect3DRMAnimationSet_Clone(p,a,b,c) (p)->Clone(a,b,c)
3969 #define IDirect3DRMAnimationSet_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3970 #define IDirect3DRMAnimationSet_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3971 #define IDirect3DRMAnimationSet_SetAppData(p,a) (p)->SetAppData(a)
3972 #define IDirect3DRMAnimationSet_GetAppData(p) (p)->GetAppData()
3973 #define IDirect3DRMAnimationSet_SetName(p,a) (p)->SetName(a)
3974 #define IDirect3DRMAnimationSet_GetName(p,a,b) (p)->GetName(a,b)
3975 #define IDirect3DRMAnimationSet_GetClassName(p,a,b) (p)->GetClassName(a,b)
3976 /*** IDirect3DRMAnimationSet methods ***/
3977 #define IDirect3DRMAnimationSet_AddAnimation(p,a) (p)->AddAnimation(a)
3978 #define IDirect3DRMAnimationSet_Load(p,a,b,c,d,e,f) (p)->Load(a,b,c,d,e,f)
3979 #define IDirect3DRMAnimationSet_DeleteAnimation(p,a) (p)->DeleteAnimation(a)
3980 #define IDirect3DRMAnimationSet_SetTime(p,a) (p)->SetTime(a)
3981 #endif
3983 /*****************************************************************************
3984 * IDirect3DRMAnimationSet2 interface
3986 #define INTERFACE IDirect3DRMAnimationSet2
3987 DECLARE_INTERFACE_(IDirect3DRMAnimationSet2, IDirect3DRMObject)
3989 /*** IUnknown methods ***/
3990 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3991 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3992 STDMETHOD_(ULONG,Release)(THIS) PURE;
3993 /*** IDirect3DRMObject methods ***/
3994 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3995 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3996 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3997 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3998 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3999 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
4000 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
4001 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
4002 /*** IDirect3DRMAnimationSet2 methods ***/
4003 STDMETHOD(AddAnimation)(THIS_ LPDIRECT3DRMANIMATION2 aid) PURE;
4004 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURE3CALLBACK, LPVOID lpArg, LPDIRECT3DRMFRAME3 parent)PURE;
4005 STDMETHOD(DeleteAnimation)(THIS_ LPDIRECT3DRMANIMATION2 aid) PURE;
4006 STDMETHOD(SetTime)(THIS_ D3DVALUE time) PURE;
4007 STDMETHOD(GetAnimations)(THIS_ LPDIRECT3DRMANIMATIONARRAY *) PURE;
4009 #undef INTERFACE
4011 #if !defined(__cplusplus) || defined(CINTERFACE)
4012 /*** IUnknown methods ***/
4013 #define IDirect3DRMAnimationSet2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4014 #define IDirect3DRMAnimationSet2_AddRef(p) (p)->lpVtbl->AddRef(p)
4015 #define IDirect3DRMAnimationSet2_Release(p) (p)->lpVtbl->Release(p)
4016 /*** IDirect3DRMObject methods ***/
4017 #define IDirect3DRMAnimationSet2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
4018 #define IDirect3DRMAnimationSet2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
4019 #define IDirect3DRMAnimationSet2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
4020 #define IDirect3DRMAnimationSet2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
4021 #define IDirect3DRMAnimationSet2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
4022 #define IDirect3DRMAnimationSet2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4023 #define IDirect3DRMAnimationSet2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
4024 #define IDirect3DRMAnimationSet2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
4025 /*** IDirect3DRMAnimationSet2 methods ***/
4026 #define IDirect3DRMAnimationSet2_AddAnimation(p,a) (p)->lpVtbl->AddAnimation(p,a)
4027 #define IDirect3DRMAnimationSet2_Load(p,a,b,c,d,e,f) (p)->lpVtbl->Load(p,a,b,c,d,e,f)
4028 #define IDirect3DRMAnimationSet2_DeleteAnimation(p,a) (p)->lpVtbl->DeleteAnimation(p,a)
4029 #define IDirect3DRMAnimationSet2_SetTime(p,a) (p)->lpVtbl->SetTime(p,a)
4030 #define IDirect3DRMAnimationSet2_GetAnimations(p,a) (p)->lpVtbl->GetAnimations(p,a)
4031 #else
4032 /*** IUnknown methods ***/
4033 #define IDirect3DRMAnimationSet2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4034 #define IDirect3DRMAnimationSet2_AddRef(p) (p)->AddRef()
4035 #define IDirect3DRMAnimationSet2_Release(p) (p)->Release()
4036 /*** IDirect3DRMObject methods ***/
4037 #define IDirect3DRMAnimationSet2_Clone(p,a,b,c) (p)->Clone(a,b,c)
4038 #define IDirect3DRMAnimationSet2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
4039 #define IDirect3DRMAnimationSet2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
4040 #define IDirect3DRMAnimationSet2_SetAppData(p,a) (p)->SetAppData(a)
4041 #define IDirect3DRMAnimationSet2_GetAppData(p) (p)->GetAppData()
4042 #define IDirect3DRMAnimationSet2_SetName(p,a) (p)->SetName(a)
4043 #define IDirect3DRMAnimationSet2_GetName(p,a,b) (p)->GetName(a,b)
4044 #define IDirect3DRMAnimationSet2_GetClassName(p,a,b) (p)->GetClassName(a,b)
4045 /*** IDirect3DRMAnimationSet2 methods ***/
4046 #define IDirect3DRMAnimationSet2_AddAnimation(p,a) (p)->AddAnimation(a)
4047 #define IDirect3DRMAnimationSet2_Load(p,a,b,c,d,e,f) (p)->Load(a,b,c,d,e,f)
4048 #define IDirect3DRMAnimationSet2_DeleteAnimation(p,a) (p)->DeleteAnimation(a)
4049 #define IDirect3DRMAnimationSet2_SetTime(p,a) (p)->SetTime(a)
4050 #define IDirect3DRMAnimationSet2_GetAnimations(p,a) (p)->GetAnimations(a)
4051 #endif
4053 /*****************************************************************************
4054 * IDirect3DRMUserVisual interface
4056 #define INTERFACE IDirect3DRMUserVisual
4057 DECLARE_INTERFACE_(IDirect3DRMUserVisual, IDirect3DRMVisual)
4059 /*** IUnknown methods ***/
4060 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4061 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4062 STDMETHOD_(ULONG,Release)(THIS) PURE;
4063 /*** IDirect3DRMObject methods ***/
4064 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
4065 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
4066 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
4067 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
4068 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
4069 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
4070 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
4071 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
4072 /*** IDirect3DRMUserVisual methods ***/
4073 STDMETHOD(Init)(THIS_ D3DRMUSERVISUALCALLBACK fn, void *arg) PURE;
4075 #undef INTERFACE
4077 #if !defined(__cplusplus) || defined(CINTERFACE)
4078 /*** IUnknown methods ***/
4079 #define IDirect3DRMUserVisual_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4080 #define IDirect3DRMUserVisual_AddRef(p) (p)->lpVtbl->AddRef(p)
4081 #define IDirect3DRMUserVisual_Release(p) (p)->lpVtbl->Release(p)
4082 /*** IDirect3DRMObject methods ***/
4083 #define IDirect3DRMUserVisual_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
4084 #define IDirect3DRMUserVisual_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
4085 #define IDirect3DRMUserVisual_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
4086 #define IDirect3DRMUserVisual_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
4087 #define IDirect3DRMUserVisual_GetAppData(p) (p)->lpVtbl->GetAppData(p)
4088 #define IDirect3DRMUserVisual_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4089 #define IDirect3DRMUserVisual_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
4090 #define IDirect3DRMUserVisual_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
4091 /*** IDirect3DRMUserVisual methods ***/
4092 #define IDirect3DRMUserVisual_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
4093 #else
4094 /*** IUnknown methods ***/
4095 #define IDirect3DRMUserVisual_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4096 #define IDirect3DRMUserVisual_AddRef(p) (p)->AddRef()
4097 #define IDirect3DRMUserVisual_Release(p) (p)->Release()
4098 /*** IDirect3DRMObject methods ***/
4099 #define IDirect3DRMUserVisual_Clone(p,a,b,c) (p)->Clone(a,b,c)
4100 #define IDirect3DRMUserVisual_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
4101 #define IDirect3DRMUserVisual_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
4102 #define IDirect3DRMUserVisual_SetAppData(p,a) (p)->SetAppData(a)
4103 #define IDirect3DRMUserVisual_GetAppData(p) (p)->GetAppData()
4104 #define IDirect3DRMUserVisual_SetName(p,a) (p)->SetName(a)
4105 #define IDirect3DRMUserVisual_GetName(p,a,b) (p)->GetName(a,b)
4106 #define IDirect3DRMUserVisual_GetClassName(p,a,b) (p)->GetClassName(a,b)
4107 /*** IDirect3DRMUserVisual methods ***/
4108 #define IDirect3DRMUserVisual_Init(p,a,b) (p)->Init(a,b)
4109 #endif
4111 /*****************************************************************************
4112 * IDirect3DRMArray interface
4114 #define INTERFACE IDirect3DRMArray
4115 DECLARE_INTERFACE_(IDirect3DRMArray, IUnknown)
4117 /*** IUnknown methods ***/
4118 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4119 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4120 STDMETHOD_(ULONG,Release)(THIS) PURE;
4121 /*** IDirect3DRMArray methods ***/
4122 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4124 #undef INTERFACE
4126 #if !defined(__cplusplus) || defined(CINTERFACE)
4127 /*** IUnknown methods ***/
4128 #define IDirect3DRMArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4129 #define IDirect3DRMArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4130 #define IDirect3DRMArray_Release(p) (p)->lpVtbl->Release(p)
4131 /*** IDirect3DRMArray methods ***/
4132 #define IDirect3DRMArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4133 #else
4134 /*** IUnknown methods ***/
4135 #define IDirect3DRMArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4136 #define IDirect3DRMArray_AddRef(p) (p)->AddRef()
4137 #define IDirect3DRMArray_Release(p) (p)->Release()
4138 /*** IDirect3DRMArray methods ***/
4139 #define IDirect3DRMArray_GetSize(p) (p)->GetSize()
4140 #endif
4142 /*****************************************************************************
4143 * IDirect3DRMObjectArray interface
4145 #define INTERFACE IDirect3DRMObjectArray
4146 DECLARE_INTERFACE_(IDirect3DRMObjectArray, IDirect3DRMArray)
4148 /*** IUnknown methods ***/
4149 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4150 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4151 STDMETHOD_(ULONG,Release)(THIS) PURE;
4152 /*** IDirect3DRMArray methods ***/
4153 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4154 /*** IDirect3DRMObjectArray methods ***/
4155 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMOBJECT *) PURE;
4157 #undef INTERFACE
4159 #if !defined(__cplusplus) || defined(CINTERFACE)
4160 /*** IUnknown methods ***/
4161 #define IDirect3DRMObjectArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4162 #define IDirect3DRMObjectArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4163 #define IDirect3DRMObjectArray_Release(p) (p)->lpVtbl->Release(p)
4164 /*** IDirect3DRMArray methods ***/
4165 #define IDirect3DRMObjectArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4166 /*** IDirect3DRMObjectArray methods ***/
4167 #define IDirect3DRMObjectArray_GetElement(p,a,b) (p)->lpVtbl->GetElement(p,a,b)
4168 #else
4169 /*** IUnknown methods ***/
4170 #define IDirect3DRMObjectArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4171 #define IDirect3DRMObjectArray_AddRef(p) (p)->AddRef()
4172 #define IDirect3DRMObjectArray_Release(p) (p)->Release()
4173 /*** IDirect3DRMArray methods ***/
4174 #define IDirect3DRMObjectArray_GetSize(p) (p)->GetSize()
4175 /*** IDirect3DRMObjectArray methods ***/
4176 #define IDirect3DRMObjectArray_GetElement(p,a,b) (p)->GetElement(a,b)
4177 #endif
4179 /*****************************************************************************
4180 * IDirect3DRMDeviceArray interface
4182 #define INTERFACE IDirect3DRMDeviceArray
4183 DECLARE_INTERFACE_(IDirect3DRMDeviceArray, IDirect3DRMArray)
4185 /*** IUnknown methods ***/
4186 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4187 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4188 STDMETHOD_(ULONG,Release)(THIS) PURE;
4189 /*** IDirect3DRMArray methods ***/
4190 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4191 /*** IDirect3DRMDeviceArray methods ***/
4192 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMDEVICE *) PURE;
4194 #undef INTERFACE
4196 #if !defined(__cplusplus) || defined(CINTERFACE)
4197 /*** IUnknown methods ***/
4198 #define IDirect3DRMDeviceArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4199 #define IDirect3DRMDeviceArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4200 #define IDirect3DRMDeviceArray_Release(p) (p)->lpVtbl->Release(p)
4201 /*** IDirect3DRMArray methods ***/
4202 #define IDirect3DRMDeviceArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4203 /*** IDirect3DRMDeviceArray methods ***/
4204 #define IDirect3DRMDeviceArray_GetElement(p,a,b) (p)->lpVtbl->GetElement(p,a,b)
4205 #else
4206 /*** IUnknown methods ***/
4207 #define IDirect3DRMDeviceArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4208 #define IDirect3DRMDeviceArray_AddRef(p) (p)->AddRef()
4209 #define IDirect3DRMDeviceArray_Release(p) (p)->Release()
4210 /*** IDirect3DRMArray methods ***/
4211 #define IDirect3DRMDeviceArray_GetSize(p) (p)->GetSize()
4212 /*** IDirect3DRMDeviceArray methods ***/
4213 #define IDirect3DRMDeviceArray_GetElement(p,a,b) (p)->GetElement(a,b)
4214 #endif
4216 /*****************************************************************************
4217 * IDirect3DRMFrameArray interface
4219 #define INTERFACE IDirect3DRMFrameArray
4220 DECLARE_INTERFACE_(IDirect3DRMFrameArray, IDirect3DRMArray)
4222 /*** IUnknown methods ***/
4223 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4224 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4225 STDMETHOD_(ULONG,Release)(THIS) PURE;
4226 /*** IDirect3DRMArray methods ***/
4227 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4228 /*** IDirect3DRMFrameArray methods ***/
4229 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMFRAME *) PURE;
4231 #undef INTERFACE
4233 #if !defined(__cplusplus) || defined(CINTERFACE)
4234 /*** IUnknown methods ***/
4235 #define IDirect3DRMFrameArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4236 #define IDirect3DRMFrameArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4237 #define IDirect3DRMFrameArray_Release(p) (p)->lpVtbl->Release(p)
4238 /*** IDirect3DRMArray methods ***/
4239 #define IDirect3DRMFrameArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4240 /*** IDirect3DRMFrameArray methods ***/
4241 #define IDirect3DRMFrameArray_GetElement(p,a,b) (p)->lpVtbl->GetElement(p,a,b)
4242 #else
4243 /*** IUnknown methods ***/
4244 #define IDirect3DRMFrameArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4245 #define IDirect3DRMFrameArray_AddRef(p) (p)->AddRef()
4246 #define IDirect3DRMFrameArray_Release(p) (p)->Release()
4247 /*** IDirect3DRMArray methods ***/
4248 #define IDirect3DRMFrameArray_GetSize(p) (p)->GetSize()
4249 /*** IDirect3DRMFrameArray methods ***/
4250 #define IDirect3DRMFrameArray_GetElement(p,a,b) (p)->GetElement(a,b)
4251 #endif
4253 /*****************************************************************************
4254 * IDirect3DRMViewportArray interface
4256 #define INTERFACE IDirect3DRMViewportArray
4257 DECLARE_INTERFACE_(IDirect3DRMViewportArray, IDirect3DRMArray)
4259 /*** IUnknown methods ***/
4260 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4261 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4262 STDMETHOD_(ULONG,Release)(THIS) PURE;
4263 /*** IDirect3DRMArray methods ***/
4264 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4265 /*** IDirect3DRMViewportArray methods ***/
4266 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMVIEWPORT *) PURE;
4268 #undef INTERFACE
4270 #if !defined(__cplusplus) || defined(CINTERFACE)
4271 /*** IUnknown methods ***/
4272 #define IDirect3DRMViewportArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4273 #define IDirect3DRMViewportArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4274 #define IDirect3DRMViewportArray_Release(p) (p)->lpVtbl->Release(p)
4275 /*** IDirect3DRMArray methods ***/
4276 #define IDirect3DRMViewportArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4277 /*** IDirect3DRMViewportArray methods ***/
4278 #define IDirect3DRMViewportArray_GetElement(p,a,b) (p)->lpVtbl->GetElement(p,a,b)
4279 #else
4280 /*** IUnknown methods ***/
4281 #define IDirect3DRMViewportArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4282 #define IDirect3DRMViewportArray_AddRef(p) (p)->AddRef()
4283 #define IDirect3DRMViewportArray_Release(p) (p)->Release()
4284 /*** IDirect3DRMArray methods ***/
4285 #define IDirect3DRMViewportArray_GetSize(p) (p)->GetSize()
4286 /*** IDirect3DRMViewportArray methods ***/
4287 #define IDirect3DRMviewportArray_GetElement(p,a,b) (p)->GetElement(a,b)
4288 #endif
4290 /*****************************************************************************
4291 * IDirect3DRMVisualArray interface
4293 #define INTERFACE IDirect3DRMVisualArray
4294 DECLARE_INTERFACE_(IDirect3DRMVisualArray, IDirect3DRMArray)
4296 /*** IUnknown methods ***/
4297 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4298 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4299 STDMETHOD_(ULONG,Release)(THIS) PURE;
4300 /*** IDirect3DRMArray methods ***/
4301 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4302 /*** IDirect3DRMVisualArray methods ***/
4303 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMVISUAL *) PURE;
4305 #undef INTERFACE
4307 #if !defined(__cplusplus) || defined(CINTERFACE)
4308 /*** IUnknown methods ***/
4309 #define IDirect3DRMVisualArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4310 #define IDirect3DRMVisualArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4311 #define IDirect3DRMVisualArray_Release(p) (p)->lpVtbl->Release(p)
4312 /*** IDirect3DRMArray methods ***/
4313 #define IDirect3DRMVisualArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4314 /*** IDirect3DRMVisualArray methods ***/
4315 #define IDirect3DRMVisualArray_GetElement(p,a,b) (p)->lpVtbl->GetElement(p,a,b)
4316 #else
4317 /*** IUnknown methods ***/
4318 #define IDirect3DRMVisualArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4319 #define IDirect3DRMVisualArray_AddRef(p) (p)->AddRef()
4320 #define IDirect3DRMVisualArray_Release(p) (p)->Release()
4321 /*** IDirect3DRMArray methods ***/
4322 #define IDirect3DRMVisualArray_GetSize(p) (p)->GetSize()
4323 /*** IDirect3DRMVisualArray methods ***/
4324 #define IDirect3DRMVisualArray_GetElement(p,a,b) (p)->GetElement(a,b)
4325 #endif
4327 /*****************************************************************************
4328 * IDirect3DRMAnimationArray interface
4330 #define INTERFACE IDirect3DRMAnimationArray
4331 DECLARE_INTERFACE_(IDirect3DRMAnimationArray, IDirect3DRMArray)
4333 /*** IUnknown methods ***/
4334 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4335 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4336 STDMETHOD_(ULONG,Release)(THIS) PURE;
4337 /*** IDirect3DRMArray methods ***/
4338 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4339 /*** IDirect3DRMAnimationArray methods ***/
4340 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMANIMATION2 *) PURE;
4342 #undef INTERFACE
4344 #if !defined(__cplusplus) || defined(CINTERFACE)
4345 /*** IUnknown methods ***/
4346 #define IDirect3DRMAnimationArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4347 #define IDirect3DRMAnimationArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4348 #define IDirect3DRMAnimationArray_Release(p) (p)->lpVtbl->Release(p)
4349 /*** IDirect3DRMArray methods ***/
4350 #define IDirect3DRMAnimationArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4351 /*** IDirect3DRMAnimationArray methods ***/
4352 #define IDirect3DRMAnimationArray_GetElement(p,a,b) (p)->lpVtbl->GetElement(p,a,b)
4353 #else
4354 /*** IUnknown methods ***/
4355 #define IDirect3DRMAnimationArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4356 #define IDirect3DRMAnimationArray_AddRef(p) (p)->AddRef()
4357 #define IDirect3DRMAnimationArray_Release(p) (p)->Release()
4358 /*** IDirect3DRMArray methods ***/
4359 #define IDirect3DRMAnimationArray_GetSize(p) (p)->GetSize()
4360 /*** IDirect3DRMAnimationArray methods ***/
4361 #define IDirect3DRMAnimationArray_GetElement(p,a,b) (p)->GetElement(a,b)
4362 #endif
4364 /*****************************************************************************
4365 * IDirect3DRMPickedArray interface
4367 #define INTERFACE IDirect3DRMPickedArray
4368 DECLARE_INTERFACE_(IDirect3DRMPickedArray, IDirect3DRMArray)
4370 /*** IUnknown methods ***/
4371 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4372 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4373 STDMETHOD_(ULONG,Release)(THIS) PURE;
4374 /*** IDirect3DRMArray methods ***/
4375 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4376 /*** IDirect3DRMPickedArray methods ***/
4377 STDMETHOD(GetPick)(THIS_ DWORD index, LPDIRECT3DRMVISUAL *, LPDIRECT3DRMFRAMEARRAY *, LPD3DRMPICKDESC) PURE;
4379 #undef INTERFACE
4381 #if !defined(__cplusplus) || defined(CINTERFACE)
4382 /*** IUnknown methods ***/
4383 #define IDirect3DRMPickedArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4384 #define IDirect3DRMPickedArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4385 #define IDirect3DRMPickedArray_Release(p) (p)->lpVtbl->Release(p)
4386 /*** IDirect3DRMArray methods ***/
4387 #define IDirect3DRMPickedArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4388 /*** IDirect3DRMPickedArray methods ***/
4389 #define IDirect3DRMPickedArray_GetPick(p,a,b,c,d) (p)->lpVtbl->GetPick(p,a,b,c,d)
4390 #else
4391 /*** IUnknown methods ***/
4392 #define IDirect3DRMPickedArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4393 #define IDirect3DRMPickedArray_AddRef(p) (p)->AddRef()
4394 #define IDirect3DRMPickedArray_Release(p) (p)->Release()
4395 /*** IDirect3DRMArray methods ***/
4396 #define IDirect3DRMPickedArray_GetSize(p) (p)->GetSize()
4397 /*** IDirect3DRMPickedArray methods ***/
4398 #define IDirect3DRMPickedArray_GetPick(p,a,b,c,d) (p)->GetPick(a,b,c,d)
4399 #endif
4401 /*****************************************************************************
4402 * IDirect3DRMLightArray interface
4404 #define INTERFACE IDirect3DRMLightArray
4405 DECLARE_INTERFACE_(IDirect3DRMLightArray, IDirect3DRMArray)
4407 /*** IUnknown methods ***/
4408 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4409 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4410 STDMETHOD_(ULONG,Release)(THIS) PURE;
4411 /*** IDirect3DRMArray methods ***/
4412 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4413 /*** IDirect3DRMLightArray methods ***/
4414 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMLIGHT *) PURE;
4416 #undef INTERFACE
4418 #if !defined(__cplusplus) || defined(CINTERFACE)
4419 /*** IUnknown methods ***/
4420 #define IDirect3DRMLightArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4421 #define IDirect3DRMLightArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4422 #define IDirect3DRMLightArray_Release(p) (p)->lpVtbl->Release(p)
4423 /*** IDirect3DRMArray methods ***/
4424 #define IDirect3DRMLightArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4425 /*** IDirect3DRMLightArray methods ***/
4426 #define IDirect3DRMLightArray_GetElement(p,a,b) (p)->lpVtbl->GetElement(p,a,b)
4427 #else
4428 /*** IUnknown methods ***/
4429 #define IDirect3DRMLightArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4430 #define IDirect3DRMLightArray_AddRef(p) (p)->AddRef()
4431 #define IDirect3DRMLightArray_Release(p) (p)->Release()
4432 /*** IDirect3DRMArray methods ***/
4433 #define IDirect3DRMLightArray_GetSize(p) (p)->GetSize()
4434 /*** IDirect3DRMLightArray methods ***/
4435 #define IDirect3DRMLightArray_GetElement(p,a,b) (p)->GetElement(a,b)
4436 #endif
4438 /*****************************************************************************
4439 * IDirect3DRMFaceArray interface
4441 #define INTERFACE IDirect3DRMFaceArray
4442 DECLARE_INTERFACE_(IDirect3DRMFaceArray, IDirect3DRMArray)
4444 /*** IUnknown methods ***/
4445 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4446 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4447 STDMETHOD_(ULONG,Release)(THIS) PURE;
4448 /*** IDirect3DRMArray methods ***/
4449 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4450 /*** IDirect3DRMFaceArray methods ***/
4451 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMFACE *) PURE;
4453 #undef INTERFACE
4455 #if !defined(__cplusplus) || defined(CINTERFACE)
4456 /*** IUnknown methods ***/
4457 #define IDirect3DRMFaceArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4458 #define IDirect3DRMFaceArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4459 #define IDirect3DRMFaceArray_Release(p) (p)->lpVtbl->Release(p)
4460 /*** IDirect3DRMArray methods ***/
4461 #define IDirect3DRMFaceArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4462 /*** IDirect3DRMFaceArray methods ***/
4463 #define IDirect3DRMFaceArray_GetElement(p,a,b) (p)->lpVtbl->GetElement(p,a,b)
4464 #else
4465 /*** IUnknown methods ***/
4466 #define IDirect3DRMFaceArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4467 #define IDirect3DRMFaceArray_AddRef(p) (p)->AddRef()
4468 #define IDirect3DRMFaceArray_Release(p) (p)->Release()
4469 /*** IDirect3DRMArray methods ***/
4470 #define IDirect3DRMFaceArray_GetSize(p) (p)->GetSize()
4471 /*** IDirect3DRMFaceArray methods ***/
4472 #define IDirect3DRMFaceArray_GetElement(p,a,b) (p)->GetElement(a,b)
4473 #endif
4475 /*****************************************************************************
4476 * IDirect3DRMPicked2Array interface
4478 #define INTERFACE IDirect3DRMPicked2Array
4479 DECLARE_INTERFACE_(IDirect3DRMPicked2Array, IDirect3DRMArray)
4481 /*** IUnknown methods ***/
4482 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4483 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4484 STDMETHOD_(ULONG,Release)(THIS) PURE;
4485 /*** IDirect3DRMArray methods ***/
4486 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4487 /*** IDirect3DRMPicked2Array methods ***/
4488 STDMETHOD(GetPick)(THIS_ DWORD index, LPDIRECT3DRMVISUAL *, LPDIRECT3DRMFRAMEARRAY *, LPD3DRMPICKDESC2) PURE;
4490 #undef INTERFACE
4492 #if !defined(__cplusplus) || defined(CINTERFACE)
4493 /*** IUnknown methods ***/
4494 #define IDirect3DRMPicked2Array_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4495 #define IDirect3DRMPicked2Array_AddRef(p) (p)->lpVtbl->AddRef(p)
4496 #define IDirect3DRMPicked2Array_Release(p) (p)->lpVtbl->Release(p)
4497 /*** IDirect3DRMArray methods ***/
4498 #define IDirect3DRMPicked2Array_GetSize(p) (p)->lpVtbl->GetSize(p)
4499 /*** IDirect3DRMPicked2Array methods ***/
4500 #define IDirect3DRMPicked2Array_GetPick(p,a,b,c,d) (p)->lpVtbl->GetPick(p,a,b,c,d)
4501 #else
4502 /*** IUnknown methods ***/
4503 #define IDirect3DRMPicked2Array_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4504 #define IDirect3DRMPicked2Array_AddRef(p) (p)->AddRef()
4505 #define IDirect3DRMPicked2Array_Release(p) (p)->Release()
4506 /*** IDirect3DRMArray methods ***/
4507 #define IDirect3DRMPicked2Array_GetSize(p) (p)->GetSize()
4508 /*** IDirect3DRMPicked2Array methods ***/
4509 #define IDirect3DRMPicked2Array_GetPick(p,a,b,c,d) (p)->GetPick(a,b,c,d)
4510 #endif
4512 /*****************************************************************************
4513 * IDirect3DRMInterpolator interface
4515 #define INTERFACE IDirect3DRMInterpolator
4516 DECLARE_INTERFACE_(IDirect3DRMInterpolator, IDirect3DRMObject)
4518 /*** IUnknown methods ***/
4519 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4520 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4521 STDMETHOD_(ULONG,Release)(THIS) PURE;
4522 /*** IDirect3DRMObject methods ***/
4523 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
4524 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
4525 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
4526 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
4527 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
4528 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
4529 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
4530 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
4531 /*** IDirect3DRMInterpolator methods ***/
4532 STDMETHOD(AttachObject)(THIS_ LPDIRECT3DRMOBJECT) PURE;
4533 STDMETHOD(GetAttachedObjects)(THIS_ LPDIRECT3DRMOBJECTARRAY *) PURE;
4534 STDMETHOD(DetachObject)(THIS_ LPDIRECT3DRMOBJECT) PURE;
4535 STDMETHOD(SetIndex)(THIS_ D3DVALUE) PURE;
4536 STDMETHOD_(D3DVALUE, GetIndex)(THIS) PURE;
4537 STDMETHOD(Interpolate)(THIS_ D3DVALUE, LPDIRECT3DRMOBJECT, D3DRMINTERPOLATIONOPTIONS) PURE;
4539 #undef INTERFACE
4541 #if !defined(__cplusplus) || defined(CINTERFACE)
4542 /*** IUnknown methods ***/
4543 #define IDirect3DRMInterpolator_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4544 #define IDirect3DRMInterpolator_AddRef(p) (p)->lpVtbl->AddRef(p)
4545 #define IDirect3DRMInterpolator_Release(p) (p)->lpVtbl->Release(p)
4546 /*** IDirect3DRMObject methods ***/
4547 #define IDirect3DRMInterpolator_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
4548 #define IDirect3DRMInterpolator_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
4549 #define IDirect3DRMInterpolator_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
4550 #define IDirect3DRMInterpolator_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
4551 #define IDirect3DRMInterpolator_GetAppData(p) (p)->lpVtbl->GetAppData(p)
4552 #define IDirect3DRMInterpolator_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4553 #define IDirect3DRMInterpolator_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
4554 #define IDirect3DRMInterpolator_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
4555 /*** IDirect3DRMInterpolator methods ***/
4556 #define IDirect3DRMInterpolator_AttachObject(p,a) (p)->lpVtbl->AttachObject(p,a)
4557 #define IDirect3DRMInterpolator_GetAttachedObjects(p,a) (p)->lpVtbl->GetAttachedObjects(p,a)
4558 #define IDirect3DRMInterpolator_DetachObject(p,a) (p)->lpVtbl->DetachObject(p,a)
4559 #define IDirect3DRMInterpolator_SetIndex(p,a) (p)->lpVtbl->SetIndex(p,a)
4560 #define IDirect3DRMInterpolator_GetIndex(p) (p)->lpVtbl->GetIndex(p)
4561 #define IDirect3DRMInterpolator_Interpolate(p,a,b,c) (p)->lpVtbl->Interpolate(p,a,b,c)
4562 #else
4563 /*** IUnknown methods ***/
4564 #define IDirect3DRMInterpolator_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4565 #define IDirect3DRMInterpolator_AddRef(p) (p)->AddRef()
4566 #define IDirect3DRMInterpolator_Release(p) (p)->Release()
4567 /*** IDirect3DRMObject methods ***/
4568 #define IDirect3DRMInterpolator_Clone(p,a,b,c) (p)->Clone(a,b,c)
4569 #define IDirect3DRMInterpolator_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
4570 #define IDirect3DRMInterpolator_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
4571 #define IDirect3DRMInterpolator_SetAppData(p,a) (p)->SetAppData(a)
4572 #define IDirect3DRMInterpolator_GetAppData(p) (p)->GetAppData()
4573 #define IDirect3DRMInterpolator_SetName(p,a) (p)->SetName(a)
4574 #define IDirect3DRMInterpolator_GetName(p,a,b) (p)->GetName(a,b)
4575 #define IDirect3DRMInterpolator_GetClassName(p,a,b) (p)->GetClassName(a,b)
4576 /*** IDirect3DRMInterpolator methods ***/
4577 #define IDirect3DRMInterpolator_AttachObject(p,a) (p)->AttachObject(a)
4578 #define IDirect3DRMInterpolator_GetAttachedObjects(p,a) (p)->GetAttachedObjects(a)
4579 #define IDirect3DRMInterpolator_DetachObject(p,a) (p)->DetachObject(a)
4580 #define IDirect3DRMInterpolator_SetIndex(p,a) (p)->SetIndex(a)
4581 #define IDirect3DRMInterpolator_GetIndex(p) (p)->GetIndex()
4582 #define IDirect3DRMInterpolator_Interpolate(p,a,b,c) (p)->Interpolate(a,b,c)
4583 #endif
4585 /*****************************************************************************
4586 * IDirect3DRMClippedVisual interface
4588 #define INTERFACE IDirect3DRMClippedVisual
4589 DECLARE_INTERFACE_(IDirect3DRMClippedVisual, IDirect3DRMVisual)
4591 /*** IUnknown methods ***/
4592 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4593 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4594 STDMETHOD_(ULONG,Release)(THIS) PURE;
4595 /*** IDirect3DRMObject methods ***/
4596 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
4597 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
4598 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
4599 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
4600 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
4601 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
4602 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
4603 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
4604 /*** IDirect3DRMClippedVisual methods ***/
4605 STDMETHOD(Init) (THIS_ LPDIRECT3DRMVISUAL) PURE;
4606 STDMETHOD(AddPlane) (THIS_ LPDIRECT3DRMFRAME3, LPD3DVECTOR, LPD3DVECTOR, DWORD, LPDWORD) PURE;
4607 STDMETHOD(DeletePlane)(THIS_ DWORD, DWORD) PURE;
4608 STDMETHOD(GetPlaneIDs)(THIS_ LPDWORD, LPDWORD, DWORD) PURE;
4609 STDMETHOD(GetPlane) (THIS_ DWORD, LPDIRECT3DRMFRAME3, LPD3DVECTOR, LPD3DVECTOR, DWORD) PURE;
4610 STDMETHOD(SetPlane) (THIS_ DWORD, LPDIRECT3DRMFRAME3, LPD3DVECTOR, LPD3DVECTOR, DWORD) PURE;
4612 #undef INTERFACE
4614 #if !defined(__cplusplus) || defined(CINTERFACE)
4615 /*** IUnknown methods ***/
4616 #define IDirect3DRMClippedVisual_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4617 #define IDirect3DRMClippedVisual_AddRef(p) (p)->lpVtbl->AddRef(p)
4618 #define IDirect3DRMClippedVisual_Release(p) (p)->lpVtbl->Release(p)
4619 /*** IDirect3DRMObject methods ***/
4620 #define IDirect3DRMClippedVisual_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
4621 #define IDirect3DRMClippedVisual_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
4622 #define IDirect3DRMClippedVisual_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
4623 #define IDirect3DRMClippedVisual_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
4624 #define IDirect3DRMClippedVisual_GetAppData(p) (p)->lpVtbl->GetAppData(p)
4625 #define IDirect3DRMClippedVisual_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4626 #define IDirect3DRMClippedVisual_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
4627 #define IDirect3DRMClippedVisual_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
4628 /*** IDirect3DRMClippedVisual methods ***/
4629 #define IDirect3DRMClippedVisual_Init(p,a) (p)->lpVtbl->Init(p,a)
4630 #define IDirect3DRMClippedVisual_AddPlane(p,a,b,c,d,e) (p)->lpVtbl->AddPlane(p,a,b,c,d,e)
4631 #define IDirect3DRMClippedVisual_DeletePlane(p,a,b) (p)->lpVtbl->DeletePlane(p,a,b)
4632 #define IDirect3DRMClippedVisual_GetPlaneIDs(p,a,b,c) (p)->lpVtbl->GetPlaneIDs(p,a,b,c)
4633 #define IDirect3DRMClippedVisual_GetPlane(p,a,b,c,d,e) (p)->lpVtbl->GetPlane(p,a,b,c,d,e)
4634 #define IDirect3DRMClippedVisual_SetPlane(p,a,b,c,d,e) (p)->lpVtbl->SetPlane(p,a,b,c,d,e)
4635 #else
4636 /*** IUnknown methods ***/
4637 #define IDirect3DRMClippedVisual_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4638 #define IDirect3DRMClippedVisual_AddRef(p) (p)->AddRef()
4639 #define IDirect3DRMClippedVisual_Release(p) (p)->Release()
4640 /*** IDirect3DRMObject methods ***/
4641 #define IDirect3DRMClippedVisual_Clone(p,a,b,c) (p)->Clone(a,b,c)
4642 #define IDirect3DRMClippedVisual_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
4643 #define IDirect3DRMClippedVisual_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
4644 #define IDirect3DRMClippedVisual_SetAppData(p,a) (p)->SetAppData(a)
4645 #define IDirect3DRMClippedVisual_GetAppData(p) (p)->GetAppData()
4646 #define IDirect3DRMClippedVisual_SetName(p,a) (p)->SetName(a)
4647 #define IDirect3DRMClippedVisual_GetName(p,a,b) (p)->GetName(a,b)
4648 #define IDirect3DRMClippedVisual_GetClassName(p,a,b) (p)->GetClassName(a,b)
4649 /*** IDirect3DRMClippedVisual methods ***/
4650 #define IDirect3DRMClippedVisual_Init(p,a) (p)->Init(a)
4651 #define IDirect3DRMClippedVisual_AddPlane(p,a,b,c,d,e) (p)->AddPlane(a,b,c,d,e)
4652 #define IDirect3DRMClippedVisual_DeletePlane(p,a,b) (p)->DeletePlane(a,b)
4653 #define IDirect3DRMClippedVisual_GetPlaneIDs(p,a,b,c) (p)->GetPlaneIDs(a,b,c)
4654 #define IDirect3DRMClippedVisual_GetPlane(p,a,b,c,d,e) (p)->GetPlane(a,b,c,d,e)
4655 #define IDirect3DRMClippedVisual_SetPlane(p,a,b,c,d,e) (p)->SetPlane(a,b,c,d,e)
4656 #endif
4658 #ifdef __cplusplus
4660 #endif
4662 #endif /* __D3DRMOBJ_H__ */