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