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)(LPDIRECT3DRMTEXTURE3 lpDirect3DRMTexture, LPVOID pArg,
168 LPDIRECTDRAWSURFACE pDDSSrc, LPDIRECTDRAWSURFACE pDDSDst);
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_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev) PURE;
380 STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, 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_ LPDIRECT3DDEVICE *) 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_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev) PURE;
507 STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, 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_ LPDIRECT3DDEVICE *) PURE;
528 /*** IDirect3DRMDevice2 methods ***/
529 STDMETHOD(InitFromD3D2)(THIS_ LPDIRECT3D2 pD3D, LPDIRECT3DDEVICE2 pD3DDev) PURE;
530 STDMETHOD(InitFromSurface)(THIS_ LPGUID pGUID, LPDIRECTDRAW pDD, LPDIRECTDRAWSURFACE pDDSBack) PURE;
531 STDMETHOD(SetRenderMode)(THIS_ DWORD flags) PURE;
532 STDMETHOD_(DWORD, GetRenderMode)(THIS) PURE;
533 STDMETHOD(GetDirect3DDevice2)(THIS_ LPDIRECT3DDEVICE2 *) 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_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev) PURE;
652 STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, 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_ LPDIRECT3DDEVICE *) PURE;
673 /*** IDirect3DRMDevice2 methods ***/
674 STDMETHOD(InitFromD3D2)(THIS_ LPDIRECT3D2 pD3D, LPDIRECT3DDEVICE2 pD3DDev) PURE;
675 STDMETHOD(InitFromSurface)(THIS_ LPGUID pGUID, LPDIRECTDRAW pDD, LPDIRECTDRAWSURFACE pDDSBack) PURE;
676 STDMETHOD(SetRenderMode)(THIS_ DWORD flags) PURE;
677 STDMETHOD_(DWORD, GetRenderMode)(THIS) PURE;
678 STDMETHOD(GetDirect3DDevice2)(THIS_ LPDIRECT3DDEVICE2 *) 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_ LPDIRECT3DVIEWPORT *) 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_ LPDIRECT3DVIEWPORT *) 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_ LPDIRECTDRAWSURFACE *) 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_ LPDIRECTDRAWSURFACE) 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_ LPDIRECTDRAWSURFACE *) 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_ LPDIRECTDRAWSURFACE) 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(AddTranslation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
1613 STDMETHOD(AddScale)(THIS_ D3DRMCOMBINETYPE, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
1614 STDMETHOD(AddRotation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
1615 STDMETHOD(AddVisual)(THIS_ LPUNKNOWN) PURE;
1616 STDMETHOD(GetChildren)(THIS_ LPDIRECT3DRMFRAMEARRAY *children) PURE;
1617 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
1618 STDMETHOD(GetLights)(THIS_ LPDIRECT3DRMLIGHTARRAY *lights) PURE;
1619 STDMETHOD_(D3DRMMATERIALMODE, GetMaterialMode)(THIS) PURE;
1620 STDMETHOD(GetParent)(THIS_ LPDIRECT3DRMFRAME3 *) PURE;
1621 STDMETHOD(GetPosition)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR return_position) PURE;
1622 STDMETHOD(GetRotation)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR axis, LPD3DVALUE return_theta) PURE;
1623 STDMETHOD(GetScene)(THIS_ LPDIRECT3DRMFRAME3 *) PURE;
1624 STDMETHOD_(D3DRMSORTMODE, GetSortMode)(THIS) PURE;
1625 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE3 *) PURE;
1626 STDMETHOD(GetTransform)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DRMMATRIX4D rmMatrix) PURE;
1627 STDMETHOD(GetVelocity)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR return_velocity,
1628 BOOL with_rotation) PURE;
1629 STDMETHOD(GetOrientation)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR dir, LPD3DVECTOR up) PURE;
1630 STDMETHOD(GetVisuals)(THIS_ LPDWORD pCount, LPUNKNOWN *) PURE;
1631 STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
1632 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags,
1633 D3DRMLOADTEXTURE3CALLBACK, LPVOID pArg) PURE;
1634 STDMETHOD(LookAt)(THIS_ LPDIRECT3DRMFRAME3 target, LPDIRECT3DRMFRAME3 reference, D3DRMFRAMECONSTRAINT) PURE;
1635 STDMETHOD(Move)(THIS_ D3DVALUE delta) PURE;
1636 STDMETHOD(DeleteChild)(THIS_ LPDIRECT3DRMFRAME3) PURE;
1637 STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
1638 STDMETHOD(DeleteMoveCallback)(THIS_ D3DRMFRAME3MOVECALLBACK, VOID *arg) PURE;
1639 STDMETHOD(DeleteVisual)(THIS_ LPUNKNOWN) PURE;
1640 STDMETHOD_(D3DCOLOR, GetSceneBackground)(THIS) PURE;
1641 STDMETHOD(GetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *) PURE;
1642 STDMETHOD_(D3DCOLOR, GetSceneFogColor)(THIS) PURE;
1643 STDMETHOD_(BOOL, GetSceneFogEnable)(THIS) PURE;
1644 STDMETHOD_(D3DRMFOGMODE, GetSceneFogMode)(THIS) PURE;
1645 STDMETHOD(GetSceneFogParams)(THIS_ D3DVALUE *return_start, D3DVALUE *return_end,
1646 D3DVALUE *return_density) PURE;
1647 STDMETHOD(SetSceneBackground)(THIS_ D3DCOLOR) PURE;
1648 STDMETHOD(SetSceneBackgroundRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
1649 STDMETHOD(SetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE;
1650 STDMETHOD(SetSceneBackgroundImage)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
1651 STDMETHOD(SetSceneFogEnable)(THIS_ BOOL) PURE;
1652 STDMETHOD(SetSceneFogColor)(THIS_ D3DCOLOR) PURE;
1653 STDMETHOD(SetSceneFogMode)(THIS_ D3DRMFOGMODE) PURE;
1654 STDMETHOD(SetSceneFogParams)(THIS_ D3DVALUE start, D3DVALUE end, D3DVALUE density) PURE;
1655 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
1656 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
1657 STDMETHOD_(D3DRMZBUFFERMODE, GetZbufferMode)(THIS) PURE;
1658 STDMETHOD(SetMaterialMode)(THIS_ D3DRMMATERIALMODE) PURE;
1659 STDMETHOD(SetOrientation)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
1660 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz) PURE;
1661 STDMETHOD(SetPosition)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
1662 STDMETHOD(SetRotation)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z,
1663 D3DVALUE theta) PURE;
1664 STDMETHOD(SetSortMode)(THIS_ D3DRMSORTMODE) PURE;
1665 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
1666 STDMETHOD(SetVelocity)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z,
1667 BOOL with_rotation) PURE;
1668 STDMETHOD(SetZbufferMode)(THIS_ D3DRMZBUFFERMODE) PURE;
1669 STDMETHOD(Transform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
1670 STDMETHOD(GetBox)(THIS_ LPD3DRMBOX) PURE;
1671 STDMETHOD_(BOOL, GetBoxEnable)(THIS) PURE;
1672 STDMETHOD(GetAxes)(THIS_ LPD3DVECTOR dir, LPD3DVECTOR up);
1673 STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2 *) PURE;
1674 STDMETHOD_(BOOL, GetInheritAxes)(THIS);
1675 STDMETHOD(GetHierarchyBox)(THIS_ LPD3DRMBOX) PURE;
1676 STDMETHOD(SetBox)(THIS_ LPD3DRMBOX) PURE;
1677 STDMETHOD(SetBoxEnable)(THIS_ BOOL) PURE;
1678 STDMETHOD(SetAxes)(THIS_ D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz);
1679 STDMETHOD(SetInheritAxes)(THIS_ BOOL inherit_from_parent);
1680 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE;
1681 STDMETHOD(SetQuaternion)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DRMQUATERNION *q) PURE;
1682 STDMETHOD(RayPick)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DRMRAY ray, DWORD flags,
1683 LPDIRECT3DRMPICKED2ARRAY *return_visuals) PURE;
1684 STDMETHOD(Save)(THIS_ LPCSTR filename, D3DRMXOFFORMAT d3dFormat, D3DRMSAVEOPTIONS d3dSaveFlags);
1685 STDMETHOD(TransformVectors)(THIS_ LPDIRECT3DRMFRAME3 reference, DWORD NumVectors,
1686 LPD3DVECTOR pDstVectors, LPD3DVECTOR pSrcVectors) PURE;
1687 STDMETHOD(InverseTransformVectors)(THIS_ LPDIRECT3DRMFRAME3 reference, DWORD NumVectors,
1688 LPD3DVECTOR pDstVectors, LPD3DVECTOR pSrcVectors) PURE;
1689 STDMETHOD(SetTraversalOptions)(THIS_ DWORD flags) PURE;
1690 STDMETHOD(GetTraversalOptions)(THIS_ LPDWORD pFlags) PURE;
1691 STDMETHOD(SetSceneFogMethod)(THIS_ DWORD flags) PURE;
1692 STDMETHOD(GetSceneFogMethod)(THIS_ LPDWORD pFlags) PURE;
1693 STDMETHOD(SetMaterialOverride)(THIS_ LPD3DRMMATERIALOVERRIDE) PURE;
1694 STDMETHOD(GetMaterialOverride)(THIS_ LPD3DRMMATERIALOVERRIDE) PURE;
1698 #if !defined(__cplusplus) || defined(CINTERFACE)
1699 /*** IUnknown methods ***/
1700 #define IDirect3DRMFrame3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1701 #define IDirect3DRMFrame3_AddRef(p) (p)->lpVtbl->AddRef(p)
1702 #define IDirect3DRMFrame3_Release(p) (p)->lpVtbl->Release(p)
1703 /*** IDirect3DRMObject methods ***/
1704 #define IDirect3DRMFrame3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
1705 #define IDirect3DRMFrame3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
1706 #define IDirect3DRMFrame3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
1707 #define IDirect3DRMFrame3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
1708 #define IDirect3DRMFrame3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
1709 #define IDirect3DRMFrame3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1710 #define IDirect3DRMFrame3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
1711 #define IDirect3DRMFrame3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
1712 /*** IDirect3DRMFrame3 methods ***/
1713 #define IDirect3DRMFrame3_AddChild(p,a) (p)->lpVtbl->AddChild(p,a)
1714 #define IDirect3DRMFrame3_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
1715 #define IDirect3DRMFrame3_AddMoveCallback(p,a,b,c) (p)->lpVtbl->AddMoveCallback(p,a,b,c)
1716 #define IDirect3DRMFrame3_AddTransform(p,a,b) (p)->lpVtbl->AddTransform(p,a,b)
1717 #define IDirect3DRMFrame3_AddTranslation(p,a,b,c,d) (p)->lpVtbl->AddTranslation(p,a,b,c,d)
1718 #define IDirect3DRMFrame3_AddScale(p,a,b,c,d) (p)->lpVtbl->AddScale(p,a,b,c,d)
1719 #define IDirect3DRMFrame3_AddRotation(p,a,b,c,d,e) (p)->lpVtbl->AddRotation(p,a,b,c,d,e)
1720 #define IDirect3DRMFrame3_AddVisual(p,a) (p)->lpVtbl->AddVisual(p,a)
1721 #define IDirect3DRMFrame3_GetChildren(p,a) (p)->lpVtbl->GetChildren(p,a)
1722 #define IDirect3DRMFrame3_GetColor(p) (p)->lpVtbl->GetColor(p)
1723 #define IDirect3DRMFrame3_GetLights(p,a) (p)->lpVtbl->GetLights(p,a)
1724 #define IDirect3DRMFrame3_GetMaterialMode(p) (p)->lpVtbl->GetMaterialMode(p)
1725 #define IDirect3DRMFrame3_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
1726 #define IDirect3DRMFrame3_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
1727 #define IDirect3DRMFrame3_GetRotation(p,a,b,c) (p)->lpVtbl->GetRotation(p,a,b,c)
1728 #define IDirect3DRMFrame3_GetScene(p,a) (p)->lpVtbl->GetScene(p,a)
1729 #define IDirect3DRMFrame3_GetSortMode(p) (p)->lpVtbl->GetSortMode(p)
1730 #define IDirect3DRMFrame3_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
1731 #define IDirect3DRMFrame3_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
1732 #define IDirect3DRMFrame3_GetVelocity(p,a,b,c) (p)->lpVtbl->GetVelocity(p,a,b,c)
1733 #define IDirect3DRMFrame3_GetOrientation(p,a,b,c) (p)->lpVtbl->GetOrientation(p,a,b,c)
1734 #define IDirect3DRMFrame3_GetVisuals(p,a,b) (p)->lpVtbl->GetVisuals(p,a,b)
1735 #define IDirect3DRMFrame3_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
1736 #define IDirect3DRMFrame3_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
1737 #define IDirect3DRMFrame3_LookAt(p,a,b,c) (p)->lpVtbl->LookAt(p,a,b,c)
1738 #define IDirect3DRMFrame3_Move(p,a) (p)->lpVtbl->Move(p,a)
1739 #define IDirect3DRMFrame3_DeleteChild(p,a) (p)->lpVtbl->DeleteChild(p,a)
1740 #define IDirect3DRMFrame3_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
1741 #define IDirect3DRMFrame3_DeleteMoveCallback(p,a,b) (p)->lpVtbl->DeleteMoveCallback(p,a,b)
1742 #define IDirect3DRMFrame3_DeleteVisual(p,a) (p)->lpVtbl->DeleteVisual(p,a)
1743 #define IDirect3DRMFrame3_GetSceneBackground(p) (p)->lpVtbl->GetSceneBackground(p)
1744 #define IDirect3DRMFrame3_GetSceneBackgroundDepth(p,a) (p)->lpVtbl->GetSceneBackgroundDepth(p,a)
1745 #define IDirect3DRMFrame3_GetSceneFogColor(p) (p)->lpVtbl->GetSceneFogColor(p)
1746 #define IDirect3DRMFrame3_GetSceneFogEnable(p) (p)->lpVtbl->GetSceneFogEnable(p)
1747 #define IDirect3DRMFrame3_GetSceneFogMode(p) (p)->lpVtbl->GetSceneFogMode(p)
1748 #define IDirect3DRMFrame3_GetSceneFogParams(p,a,b,c) (p)->lpVtbl->GetSceneFogParams(p,a,b,c)
1749 #define IDirect3DRMFrame3_SetSceneBackground(p,a) (p)->lpVtbl->SetSceneBackground(p,a)
1750 #define IDirect3DRMFrame3_SetSceneBackgroundRGB(p,a,b,c) (p)->lpVtbl->SetSceneBackgroundRGB(p,a,b,c)
1751 #define IDirect3DRMFrame3_SetSceneBackgroundDepth(p,a) (p)->lpVtbl->SetSceneBackgroundDepth(p,a)
1752 #define IDirect3DRMFrame3_SetSceneBackgroundImage(p,a) (p)->lpVtbl->SetSceneBackgroundImage(p,a)
1753 #define IDirect3DRMFrame3_SetSceneFogEnable(p,a) (p)->lpVtbl->SetSceneFogEnable(p,a)
1754 #define IDirect3DRMFrame3_SetSceneFogColor(p,a) (p)->lpVtbl->SetSceneFogColor(p,a)
1755 #define IDirect3DRMFrame3_SetSceneFogMode(p,a) (p)->lpVtbl->SetSceneFogMode(p,a)
1756 #define IDirect3DRMFrame3_SetSceneFogParams(p,a,b,c) (p)->lpVtbl->SetSceneFogParams(p,a,b,c)
1757 #define IDirect3DRMFrame3_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
1758 #define IDirect3DRMFrame3_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
1759 #define IDirect3DRMFrame3_GetZbufferMode(p) (p)->lpVtbl->GetZbufferMode(p)
1760 #define IDirect3DRMFrame3_SetMaterialMode(p,a) (p)->lpVtbl->SetMaterialMode(p,a)
1761 #define IDirect3DRMFrame3_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
1762 #define IDirect3DRMFrame3_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
1763 #define IDirect3DRMFrame3_SetRotation(p,a,b,c,d,e) (p)->lpVtbl->SetRotation(p,a,b,c,d,e)
1764 #define IDirect3DRMFrame3_SetSortMode(p,a) (p)->lpVtbl->SetSortMode(p,a)
1765 #define IDirect3DRMFrame3_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
1766 #define IDirect3DRMFrame3_SetVelocity(p,a,b,c,d,e) (p)->lpVtbl->SetVelocity(p,a,b,c,d,e)
1767 #define IDirect3DRMFrame3_SetZbufferMode(p,a) (p)->lpVtbl->SetZbufferMode(p,a)
1768 #define IDirect3DRMFrame3_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
1769 #define IDirect3DRMFrame3_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
1770 #define IDirect3DRMFrame3_GetBoxEnable(p) (p)->lpVtbl->GetBoxEnable(p)
1771 #define IDirect3DRMFrame3_GetAxes(p,a,b) (p)->lpVtbl->GetAxes(p,a,b)
1772 #define IDirect3DRMFrame3_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
1773 #define IDirect3DRMFrame3_GetInheritAxes(p) (p)->lpVtbl->GetInheritAxes(p)
1774 #define IDirect3DRMFrame3_GetHierarchyBox(p,a) (p)->lpVtbl->GetHierarchyBox(p,a)
1775 #define IDirect3DRMFrame3_SetBox(p,a) (p)->lpVtbl->SetBox(p,a)
1776 #define IDirect3DRMFrame3_SetBoxEnable(p,a) (p)->lpVtbl->SetBoxEnable(p,a)
1777 #define IDirect3DRMFrame3_SetAxes(p,a,b,c,d,e,f) (p)->lpVtbl->SetAxes(p,a,b,c,d,e,f)
1778 #define IDirect3DRMFrame3_SetInheritAxes(p,a) (p)->lpVtbl->SetInheritAxes(p,a)
1779 #define IDirect3DRMFrame3_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
1780 #define IDirect3DRMFrame3_SetQuaternion(p,a,b) (p)->lpVtbl->SetQuaternion(p,a,b)
1781 #define IDirect3DRMFrame3_RayPick(p,a,b,c,d) (p)->lpVtbl->RayPick(p,a,b,c,d)
1782 #define IDirect3DRMFrame3_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
1783 #define IDirect3DRMFrame3_TransformVectors(p,a,b,c,d) (p)->lpVtbl->TransformVectors(p,a,b,c,d)
1784 #define IDirect3DRMFrame3_InverseTransformVectors(p,a,b,c,d) (p)->lpVtbl->InverseTransformVectors(p,a,b,c,d)
1785 #define IDirect3DRMFrame3_SetTraversalOptions(p,a) (p)->lpVtbl->SetTraversalOptions(p,a)
1786 #define IDirect3DRMFrame3_GetTraversalOptions(p,a) (p)->lpVtbl->GetTraversalOptions(p,a)
1787 #define IDirect3DRMFrame3_SetSceneFogMethod(p,a) (p)->lpVtbl->SetSceneFogMethod(p,a)
1788 #define IDirect3DRMFrame3_GetSceneFogMethod(p,a) (p)->lpVtbl->GetSceneFogMethod(p,a)
1789 #define IDirect3DRMFrame3_SetMaterialOverride(p,a) (p)->lpVtbl->SetMaterialOverride(p,a)
1790 #define IDirect3DRMFrame3_GetMaterialOverride(p,a) (p)->lpVtbl->GetMaterialOverride(p,a)
1792 /*** IUnknown methods ***/
1793 #define IDirect3DRMFrame3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1794 #define IDirect3DRMFrame3_AddRef(p) (p)->AddRef()
1795 #define IDirect3DRMFrame3_Release(p) (p)->Release()
1796 /*** IDirect3DRMObject methods ***/
1797 #define IDirect3DRMFrame3_Clone(p,a,b,c) (p)->Clone(a,b,c)
1798 #define IDirect3DRMFrame3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
1799 #define IDirect3DRMFrame3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
1800 #define IDirect3DRMFrame3_SetAppData(p,a) (p)->SetAppData(a)
1801 #define IDirect3DRMFrame3_GetAppData(p) (p)->GetAppData()
1802 #define IDirect3DRMFrame3_SetName(p,a) (p)->SetName(a)
1803 #define IDirect3DRMFrame3_GetName(p,a,b) (p)->GetName(a,b)
1804 #define IDirect3DRMFrame3_GetClassName(p,a,b) (p)->GetClassName(a,b)
1805 /*** IDirect3DRMFrame3 methods ***/
1806 #define IDirect3DRMFrame3_AddChild(p,a) (p)->AddChild(a)
1807 #define IDirect3DRMFrame3_AddLight(p,a) (p)->AddLight(a)
1808 #define IDirect3DRMFrame3_AddMoveCallback(p,a,b,c) (p)->AddMoveCallback(a,b,c)
1809 #define IDirect3DRMFrame3_AddTransform(p,a,b) (p)->AddTransform(a,b)
1810 #define IDirect3DRMFrame3_AddTranslation(p,a,b,c,d) (p)->AddTranslation(a,b,c,d)
1811 #define IDirect3DRMFrame3_AddScale(p,a,b,c,d) (p)->AddScale(a,b,c,d)
1812 #define IDirect3DRMFrame3_AddRotation(p,a,b,c,d,e) (p)->AddRotation(a,b,c,d,e)
1813 #define IDirect3DRMFrame3_AddVisual(p,a) (p)->AddVisual(a)
1814 #define IDirect3DRMFrame3_GetChildren(p,a) (p)->GetChildren(a)
1815 #define IDirect3DRMFrame3_GetColor(p) (p)->GetColor()
1816 #define IDirect3DRMFrame3_GetLights(p,a) (p)->GetLights(a)
1817 #define IDirect3DRMFrame3_GetMaterialMode(p) (p)->GetMaterialMode()
1818 #define IDirect3DRMFrame3_GetParent(p,a) (p)->GetParent(a)
1819 #define IDirect3DRMFrame3_GetPosition(p,a,b) (p)->GetPosition(a,b)
1820 #define IDirect3DRMFrame3_GetRotation(p,a,b,c) (p)->GetRotation(a,b,c)
1821 #define IDirect3DRMFrame3_GetScene(p,a) (p)->GetScene(a)
1822 #define IDirect3DRMFrame3_GetSortMode(p) (p)->GetSortMode()
1823 #define IDirect3DRMFrame3_GetTexture(p,a) (p)->GetTexture(a)
1824 #define IDirect3DRMFrame3_GetTransform(p,a,b) (p)->GetTransform(a,b)
1825 #define IDirect3DRMFrame3_GetVelocity(p,a,b,c) (p)->GetVelocity(a,b,c)
1826 #define IDirect3DRMFrame3_GetOrientation(p,a,b,c) (p)->GetOrientation(a,b,c)
1827 #define IDirect3DRMFrame3_GetVisuals(p,a,b) (p)->GetVisuals(a,b)
1828 #define IDirect3DRMFrame3_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
1829 #define IDirect3DRMFrame3_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
1830 #define IDirect3DRMFrame3_LookAt(p,a,b,c) (p)->LookAt(a,b,c)
1831 #define IDirect3DRMFrame3_Move(p,a) (p)->Move(a)
1832 #define IDirect3DRMFrame3_DeleteChild(p,a) (p)->DeleteChild(a)
1833 #define IDirect3DRMFrame3_DeleteLight(p,a) (p)->DeleteLight(a)
1834 #define IDirect3DRMFrame3_DeleteMoveCallback(p,a,b) (p)->DeleteMoveCallback(a,b)
1835 #define IDirect3DRMFrame3_DeleteVisual(p,a) (p)->DeleteVisual(a)
1836 #define IDirect3DRMFrame3_GetSceneBackground(p) (p)->GetSceneBackground()
1837 #define IDirect3DRMFrame3_GetSceneBackgroundDepth(p,a) (p)->GetSceneBackgroundDepth(a)
1838 #define IDirect3DRMFrame3_GetSceneFogColor(p) (p)->GetSceneFogColor()
1839 #define IDirect3DRMFrame3_GetSceneFogEnable(p) (p)->GetSceneFogEnable()
1840 #define IDirect3DRMFrame3_GetSceneFogMode(p) (p)->GetSceneFogMode()
1841 #define IDirect3DRMFrame3_GetSceneFogParams(p,a,b,c) (p)->GetSceneFogParams(a,b,c)
1842 #define IDirect3DRMFrame3_SetSceneBackground(p,a) (p)->SetSceneBackground(a)
1843 #define IDirect3DRMFrame3_SetSceneBackgroundRGB(p,a,b,c) (p)->SetSceneBackgroundRGB(a,b,c)
1844 #define IDirect3DRMFrame3_SetSceneBackgroundDepth(p,a) (p)->SetSceneBackgroundDepth(a)
1845 #define IDirect3DRMFrame3_SetSceneBackgroundImage(p,a) (p)->SetSceneBackgroundImage(a)
1846 #define IDirect3DRMFrame3_SetSceneFogEnable(p,a) (p)->SetSceneFogEnable(a)
1847 #define IDirect3DRMFrame3_SetSceneFogColor(p,a) (p)->SetSceneFogColor(a)
1848 #define IDirect3DRMFrame3_SetSceneFogMode(p,a) (p)->SetSceneFogMode(a)
1849 #define IDirect3DRMFrame3_SetSceneFogParams(p,a,b,c) (p)->SetSceneFogParams(a,b,c)
1850 #define IDirect3DRMFrame3_SetColor(p,a) (p)->SetColor(a)
1851 #define IDirect3DRMFrame3_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
1852 #define IDirect3DRMFrame3_GetZbufferMode(p) (p)->GetZbufferMode()
1853 #define IDirect3DRMFrame3_SetMaterialMode(p,a) (p)->SetMaterialMode(a)
1854 #define IDirect3DRMFrame3_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
1855 #define IDirect3DRMFrame3_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
1856 #define IDirect3DRMFrame3_SetRotation(p,a,b,c,d,e) (p)->SetRotation(a,b,c,d,e)
1857 #define IDirect3DRMFrame3_SetSortMode(p,a) (p)->SetSortMode(a)
1858 #define IDirect3DRMFrame3_SetTexture(p,a) (p)->SetTexture(a)
1859 #define IDirect3DRMFrame3_SetVelocity(p,a,b,c,d,e) (p)->SetVelocity(a,b,c,d,e)
1860 #define IDirect3DRMFrame3_SetZbufferMode(p,a) (p)->SetZbufferMode(a)
1861 #define IDirect3DRMFrame3_Transform(p,a,b) (p)->Transform(a,b)
1862 #define IDirect3DRMFrame3_GetBox(p,a) (p)->GetBox(a)
1863 #define IDirect3DRMFrame3_GetBoxEnable(p) (p)->GetBoxEnable()
1864 #define IDirect3DRMFrame3_GetAxes(p,a,b) (p)->GetAxes(a,b)
1865 #define IDirect3DRMFrame3_GetMaterial(p,a) (p)->GetMaterial(a)
1866 #define IDirect3DRMFrame3_GetInheritAxes(p) (p)->GetInheritAxes()
1867 #define IDirect3DRMFrame3_GetHierarchyBox(p,a) (p)->GetHierarchyBox(a)
1868 #define IDirect3DRMFrame3_SetBox(p,a) (p)->SetBox(a)
1869 #define IDirect3DRMFrame3_SetBoxEnable(p,a) (p)->SetBoxEnable(a)
1870 #define IDirect3DRMFrame3_SetAxes(p,a,b,c,d,e,f) (p)->SetAxes(a,b,c,d,e,f)
1871 #define IDirect3DRMFrame3_SetInheritAxes(p,a) (p)->SetInheritAxes(a)
1872 #define IDirect3DRMFrame3_SetMaterial(p,a) (p)->SetMaterial(a)
1873 #define IDirect3DRMFrame3_SetQuaternion(p,a,b) (p)->SetQuaternion(a,b)
1874 #define IDirect3DRMFrame3_RayPick(p,a,b,c,d) (p)->RayPick(a,b,c,d)
1875 #define IDirect3DRMFrame3_Save(p,a,b,c) (p)->Save(a,b,c)
1876 #define IDirect3DRMFrame3_TransformVectors(p,a,b,c,d) (p)->TransformVectors(a,b,c,d)
1877 #define IDirect3DRMFrame3_InverseTransformVectors(p,a,b,c,d) (p)->InverseTransformVectors(a,b,c,d)
1878 #define IDirect3DRMFrame3_SetTraversalOptions(p,a) (p)->SetTraversalOptions(a)
1879 #define IDirect3DRMFrame3_GetTraversalOptions(p,a) (p)->GetTraversalOptions(a)
1880 #define IDirect3DRMFrame3_SetSceneFogMethod(p,a) (p)->SetSceneFogMethod(a)
1881 #define IDirect3DRMFrame3_GetSceneFogMethod(p,a) (p)->GetSceneFogMethod(a)
1882 #define IDirect3DRMFrame3_SetMaterialOverride(p,a) (p)->SetMaterialOverride(a)
1883 #define IDirect3DRMFrame3_GetMaterialOverride(p,a) (p)->GetMaterialOverride(a)
1886 /*****************************************************************************
1887 * IDirect3DRMMesh interface
1889 #define INTERFACE IDirect3DRMMesh
1890 DECLARE_INTERFACE_(IDirect3DRMMesh,IDirect3DRMVisual)
1892 /*** IUnknown methods ***/
1893 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
1894 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1895 STDMETHOD_(ULONG,Release)(THIS) PURE;
1896 /*** IDirect3DRMObject methods ***/
1897 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
1898 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1899 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
1900 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
1901 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
1902 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
1903 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1904 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
1905 /*** IDirect3DRMMesh methods ***/
1906 STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
1907 STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
1908 STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
1909 STDMETHOD(AddGroup)(THIS_ unsigned vCount, unsigned fCount, unsigned vPerFace, unsigned *fData,
1910 D3DRMGROUPINDEX *returnId) PURE;
1911 STDMETHOD(SetVertices)(THIS_ D3DRMGROUPINDEX id, unsigned index, unsigned count,
1912 D3DRMVERTEX *values) PURE;
1913 STDMETHOD(SetGroupColor)(THIS_ D3DRMGROUPINDEX id, D3DCOLOR value) PURE;
1914 STDMETHOD(SetGroupColorRGB)(THIS_ D3DRMGROUPINDEX id, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
1915 STDMETHOD(SetGroupMapping)(THIS_ D3DRMGROUPINDEX id, D3DRMMAPPING value) PURE;
1916 STDMETHOD(SetGroupQuality)(THIS_ D3DRMGROUPINDEX id, D3DRMRENDERQUALITY value) PURE;
1917 STDMETHOD(SetGroupMaterial)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMMATERIAL value) PURE;
1918 STDMETHOD(SetGroupTexture)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMTEXTURE value) PURE;
1919 STDMETHOD_(unsigned, GetGroupCount)(THIS) PURE;
1920 STDMETHOD(GetGroup)(THIS_ D3DRMGROUPINDEX id, unsigned *vCount, unsigned *fCount, unsigned *vPerFace,
1921 DWORD *fDataSize, unsigned *fData) PURE;
1922 STDMETHOD(GetVertices)(THIS_ D3DRMGROUPINDEX id, DWORD index, DWORD count, D3DRMVERTEX *returnPtr) PURE;
1923 STDMETHOD_(D3DCOLOR, GetGroupColor)(THIS_ D3DRMGROUPINDEX id) PURE;
1924 STDMETHOD_(D3DRMMAPPING, GetGroupMapping)(THIS_ D3DRMGROUPINDEX id) PURE;
1925 STDMETHOD_(D3DRMRENDERQUALITY, GetGroupQuality)(THIS_ D3DRMGROUPINDEX id) PURE;
1926 STDMETHOD(GetGroupMaterial)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMMATERIAL *returnPtr) PURE;
1927 STDMETHOD(GetGroupTexture)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMTEXTURE *returnPtr) PURE;
1931 #if !defined(__cplusplus) || defined(CINTERFACE)
1932 /*** IUnknown methods ***/
1933 #define IDirect3DRMMesh_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1934 #define IDirect3DRMMesh_AddRef(p) (p)->lpVtbl->AddRef(p)
1935 #define IDirect3DRMMesh_Release(p) (p)->lpVtbl->Release(p)
1936 /*** IDirect3DRMObject methods ***/
1937 #define IDirect3DRMMesh_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
1938 #define IDirect3DRMMesh_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
1939 #define IDirect3DRMMesh_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
1940 #define IDirect3DRMMesh_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
1941 #define IDirect3DRMMesh_GetAppData(p) (p)->lpVtbl->GetAppData(p)
1942 #define IDirect3DRMMesh_SetName(p,a) (p)->lpVtbl->SetName(p,a)
1943 #define IDirect3DRMMesh_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
1944 #define IDirect3DRMMesh_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
1945 /*** IDirect3DRMMesh methods ***/
1946 #define IDirect3DRMMesh_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
1947 #define IDirect3DRMMesh_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a,b,c)
1948 #define IDirect3DRMMesh_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
1949 #define IDirect3DRMMesh_AddGroup(p,a,b,c,d,e) (p)->lpVtbl->AddGroup(p,a,b,c,d,e)
1950 #define IDirect3DRMMesh_SetVertices(p,a,b,c,d) (p)->lpVtbl->SetVertices(p,a,b,c,d)
1951 #define IDirect3DRMMesh_SetGroupColor(p,a,b) (p)->lpVtbl->SetGroupColor(p,a,b)
1952 #define IDirect3DRMMesh_SetGroupColorRGB(p,a,b,c,d) (p)->lpVtbl->SetGroupColorRGB(p,a,b,c,d)
1953 #define IDirect3DRMMesh_SetGroupMapping(p,a,b) (p)->lpVtbl->SetGroupMapping(p,a,b)
1954 #define IDirect3DRMMesh_SetGroupQuality(p,a,b) (p)->lpVtbl->SetGroupQuality(p,a,b)
1955 #define IDirect3DRMMesh_SetGroupMaterial(p,a,b) (p)->lpVtbl->SetGroupMaterial(p,a,b)
1956 #define IDirect3DRMMesh_SetGroupTexture(p,a,b) (p)->lpVtbl->SetGroupTexture(p,a,b)
1957 #define IDirect3DRMMesh_GetGroupCount(p) (p)->lpVtbl->GetGroupCount(p)
1958 #define IDirect3DRMMesh_GetGroup(p,a,b,c,d,e,f) (p)->lpVtbl->GetGroup(p,a,b,c,d,e,f)
1959 #define IDirect3DRMMesh_GetVertices(p,a,b,c,d) (p)->lpVtbl->GetVertices(p,a,b,c,d)
1960 #define IDirect3DRMMesh_GetGroupColor(p,a) (p)->lpVtbl->GetGroupColor(p,a)
1961 #define IDirect3DRMMesh_GetGroupMapping(p,a) (p)->lpVtbl->GetGroupMapping(p,a)
1962 #define IDirect3DRMMesh_GetGroupQuality(p,a) (p)->lpVtbl->GetGroupQuality(p,a)
1963 #define IDirect3DRMMesh_GetGroupMaterial(p,a,b) (p)->lpVtbl->GetGroupMaterial(p,a,b)
1964 #define IDirect3DRMMesh_GetGroupTexture(p,a,b) (p)->lpVtbl->GetGroupTexture(p,a,b)
1966 /*** IUnknown methods ***/
1967 #define IDirect3DRMMesh_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1968 #define IDirect3DRMMesh_AddRef(p) (p)->AddRef()
1969 #define IDirect3DRMMesh_Release(p) (p)->Release()
1970 /*** IDirect3DRMObject methods ***/
1971 #define IDirect3DRMMesh_Clone(p,a,b,c) (p)->Clone(a,b,c)
1972 #define IDirect3DRMMesh_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
1973 #define IDirect3DRMMesh_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
1974 #define IDirect3DRMMesh_SetAppData(p,a) (p)->SetAppData(a)
1975 #define IDirect3DRMMesh_GetAppData(p) (p)->GetAppData()
1976 #define IDirect3DRMMesh_SetName(p,a) (p)->SetName(a)
1977 #define IDirect3DRMMesh_GetName(p,a,b) (p)->GetName(a,b)
1978 #define IDirect3DRMMesh_GetClassName(p,a,b) (p)->GetClassName(a,b)
1979 /*** IDirect3DRMMesh methods ***/
1980 #define IDirect3DRMMesh_Scale(p,a,b,c) (p)->Scale(a,b,c)
1981 #define IDirect3DRMMesh_Translate(p,a,b,c) (p)->Translate(a,b,c)
1982 #define IDirect3DRMMesh_GetBox(p,a) (p)->GetBox(a)
1983 #define IDirect3DRMMesh_AddGroup(p,a,b,c,d,e) (p)->AddGroup(a,b,c,d,e)
1984 #define IDirect3DRMMesh_SetVertices(p,a,b,c,d) (p)->SetVertices(a,b,c,d)
1985 #define IDirect3DRMMesh_SetGroupColor(p,a,b) (p)->SetGroupColor(a,b)
1986 #define IDirect3DRMMesh_SetGroupColorRGB(p,a,b,c,d) (p)->SetGroupColorRGB(a,b,c,d)
1987 #define IDirect3DRMMesh_SetGroupMapping(p,a,b) (p)->SetGroupMapping(a,b)
1988 #define IDirect3DRMMesh_SetGroupQuality(p,a,b) (p)->SetGroupQuality(a,b)
1989 #define IDirect3DRMMesh_SetGroupMaterial(p,a,b) (p)->SetGroupMaterial(a,b)
1990 #define IDirect3DRMMesh_SetGroupTexture(p,a,b) (p)->SetGroupTexture(a,b)
1991 #define IDirect3DRMMesh_GetGroupCount(p) (p)->GetGroupCount()
1992 #define IDirect3DRMMesh_GetGroup(p,a,b,c,d,e,f) (p)->GetGroup(a,b,c,d,e,f)
1993 #define IDirect3DRMMesh_GetVertices(p,a,b,c,d) (p)->GetVertices(a,b,c,d)
1994 #define IDirect3DRMMesh_GetGroupColor(p,a) (p)->GetGroupColor(a)
1995 #define IDirect3DRMMesh_GetGroupMapping(p,a) (p)->GetGroupMapping(a)
1996 #define IDirect3DRMMesh_GetGroupQuality(p,a) (p)->GetGroupQuality(a)
1997 #define IDirect3DRMMesh_GetGroupMaterial(p,a,b) (p)->GetGroupMaterial(a,b)
1998 #define IDirect3DRMMesh_GetGroupTexture(p,a,b) (p)->GetGroupTexture(a,b)
2001 /*****************************************************************************
2002 * IDirect3DRMProgressiveMesh interface
2004 #define INTERFACE IDirect3DRMProgressiveMesh
2005 DECLARE_INTERFACE_(IDirect3DRMProgressiveMesh,IDirect3DRMVisual)
2007 /*** IUnknown methods ***/
2008 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2009 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2010 STDMETHOD_(ULONG,Release)(THIS) PURE;
2011 /*** IDirect3DRMObject methods ***/
2012 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2013 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2014 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2015 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2016 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2017 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2018 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2019 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2020 /*** IDirect3DRMProgressiveMesh methods ***/
2021 STDMETHOD(Load) (THIS_ LPVOID pObjLocation, LPVOID pObjId, D3DRMLOADOPTIONS dloLoadflags,
2022 D3DRMLOADTEXTURECALLBACK pCallback, LPVOID lpArg) PURE;
2023 STDMETHOD(GetLoadStatus) (THIS_ LPD3DRMPMESHLOADSTATUS pStatus) PURE;
2024 STDMETHOD(SetMinRenderDetail) (THIS_ D3DVALUE d3dVal) PURE;
2025 STDMETHOD(Abort) (THIS_ DWORD flags) PURE;
2026 STDMETHOD(GetFaceDetail) (THIS_ LPDWORD pCount) PURE;
2027 STDMETHOD(GetVertexDetail) (THIS_ LPDWORD pCount) PURE;
2028 STDMETHOD(SetFaceDetail) (THIS_ DWORD count) PURE;
2029 STDMETHOD(SetVertexDetail) (THIS_ DWORD count) PURE;
2030 STDMETHOD(GetFaceDetailRange) (THIS_ LPDWORD pMin, LPDWORD pMax) PURE;
2031 STDMETHOD(GetVertexDetailRange) (THIS_ LPDWORD pMin, LPDWORD pMax) PURE;
2032 STDMETHOD(GetDetail) (THIS_ D3DVALUE *pdvVal) PURE;
2033 STDMETHOD(SetDetail) (THIS_ D3DVALUE d3dVal) PURE;
2034 STDMETHOD(RegisterEvents) (THIS_ HANDLE event, DWORD flags, DWORD reserved) PURE;
2035 STDMETHOD(CreateMesh) (THIS_ LPDIRECT3DRMMESH *ppD3DRMMesh) PURE;
2036 STDMETHOD(Duplicate) (THIS_ LPDIRECT3DRMPROGRESSIVEMESH *ppD3DRMPMesh) PURE;
2037 STDMETHOD(GetBox) (THIS_ LPD3DRMBOX pBBox) PURE;
2038 STDMETHOD(SetQuality) (THIS_ D3DRMRENDERQUALITY) PURE;
2039 STDMETHOD(GetQuality) (THIS_ LPD3DRMRENDERQUALITY pQuality) PURE;
2043 #if !defined(__cplusplus) || defined(CINTERFACE)
2044 /*** IUnknown methods ***/
2045 #define IDirect3DRMProgressiveMesh_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2046 #define IDirect3DRMProgressiveMesh_AddRef(p) (p)->lpVtbl->AddRef(p)
2047 #define IDirect3DRMProgressiveMesh_Release(p) (p)->lpVtbl->Release(p)
2048 /*** IDirect3DRMObject methods ***/
2049 #define IDirect3DRMProgressiveMesh_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2050 #define IDirect3DRMProgressiveMesh_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2051 #define IDirect3DRMProgressiveMesh_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2052 #define IDirect3DRMProgressiveMesh_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2053 #define IDirect3DRMProgressiveMesh_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2054 #define IDirect3DRMProgressiveMesh_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2055 #define IDirect3DRMProgressiveMesh_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2056 #define IDirect3DRMProgressiveMesh_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2057 /*** IDirect3DRMProgressiveMesh methods ***/
2058 #define IDirect3DRMProgressiveMesh_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
2059 #define IDirect3DRMProgressiveMesh_GetLoadStatus(p,a) (p)->lpVtbl->GetLoadStatus(p,a)
2060 #define IDirect3DRMProgressiveMesh_SetMinRenderDetail(p,a) (p)->lpVtbl->SetMinRenderDetail(p,a)
2061 #define IDirect3DRMProgressiveMesh_Abort(p,a) (p)->lpVtbl->Abort(p,a)
2062 #define IDirect3DRMProgressiveMesh_GetFaceDetail(p,a) (p)->lpVtbl->GetFaceDetail(p,a)
2063 #define IDirect3DRMProgressiveMesh_GetVertexDetail(p,a) (p)->lpVtbl->GetVertexDetail(p,a)
2064 #define IDirect3DRMProgressiveMesh_SetFaceDetail(p,a) (p)->lpVtbl->SetFaceDetail(p,a)
2065 #define IDirect3DRMProgressiveMesh_SetVertexDetail(p,a) (p)->lpVtbl->SetVertexDetail(p,a)
2066 #define IDirect3DRMProgressiveMesh_GetFaceDetailRange(p,a,b) (p)->lpVtbl->GetFaceDetailRange(p,a,b)
2067 #define IDirect3DRMProgressiveMesh_GetVertexDetailRange(p,a,b) (p)->lpVtbl->GetVertexDetailRange(p,a,b)
2068 #define IDirect3DRMProgressiveMesh_GetDetail(p,a) (p)->lpVtbl->GetDetail(p,a)
2069 #define IDirect3DRMProgressiveMesh_SetDetail(p,a) (p)->lpVtbl->SetDetail(p,a)
2070 #define IDirect3DRMProgressiveMesh_RegisterEvents(p,a,b,c) (p)->lpVtbl->RegisterEvents(p,a,b,c)
2071 #define IDirect3DRMProgressiveMesh_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
2072 #define IDirect3DRMProgressiveMesh_Duplicate(p,a) (p)->lpVtbl->Duplicate(p,a)
2073 #define IDirect3DRMProgressiveMesh_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
2074 #define IDirect3DRMProgressiveMesh_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
2075 #define IDirect3DRMProgressiveMesh_GetQuality(p,a) (p)->lpVtbl->GetQuality(p,a)
2077 /*** IUnknown methods ***/
2078 #define IDirect3DRMProgressiveMesh_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2079 #define IDirect3DRMProgressiveMesh_AddRef(p) (p)->AddRef()
2080 #define IDirect3DRMProgressiveMesh_Release(p) (p)->Release()
2081 /*** IDirect3DRMObject methods ***/
2082 #define IDirect3DRMProgressiveMesh_Clone(p,a,b,c) (p)->Clone(a,b,c)
2083 #define IDirect3DRMProgressiveMesh_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2084 #define IDirect3DRMProgressiveMesh_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2085 #define IDirect3DRMProgressiveMesh_SetAppData(p,a) (p)->SetAppData(a)
2086 #define IDirect3DRMProgressiveMesh_GetAppData(p) (p)->GetAppData()
2087 #define IDirect3DRMProgressiveMesh_SetName(p,a) (p)->SetName(a)
2088 #define IDirect3DRMProgressiveMesh_GetName(p,a,b) (p)->GetName(a,b)
2089 #define IDirect3DRMProgressiveMesh_GetClassName(p,a,b) (p)->GetClassName(a,b)
2090 /*** IDirect3DRMProgressiveMesh methods ***/
2091 #define IDirect3DRMProgressiveMesh_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
2092 #define IDirect3DRMProgressiveMesh_GetLoadStatus(p,a) (p)->GetLoadStatus(a)
2093 #define IDirect3DRMProgressiveMesh_SetMinRenderDetail(p,a) (p)->SetMinRenderDetail(a)
2094 #define IDirect3DRMProgressiveMesh_Abort(p,a) (p)->Abort(a)
2095 #define IDirect3DRMProgressiveMesh_GetFaceDetail(p,a) (p)->GetFaceDetail(a)
2096 #define IDirect3DRMProgressiveMesh_GetVertexDetail(p,a) (p)->GetVertexDetail(a)
2097 #define IDirect3DRMProgressiveMesh_SetFaceDetail(p,a) (p)->SetFaceDetail(a)
2098 #define IDirect3DRMProgressiveMesh_SetVertexDetail(p,a) (p)->SetVertexDetail(a)
2099 #define IDirect3DRMProgressiveMesh_GetFaceDetailRange(p,a,b) (p)->GetFaceDetailRange(a,b)
2100 #define IDirect3DRMProgressiveMesh_GetVertexDetailRange(p,a,b) (p)->GetVertexDetailRange(a,b)
2101 #define IDirect3DRMProgressiveMesh_GetDetail(p,a) (p)->GetDetail(a)
2102 #define IDirect3DRMProgressiveMesh_SetDetail(p,a) (p)->SetDetail(a)
2103 #define IDirect3DRMProgressiveMesh_RegisterEvents(p,a,b,c) (p)->RegisterEvents(a,b,c)
2104 #define IDirect3DRMProgressiveMesh_CreateMesh(p,a) (p)->CreateMesh(a)
2105 #define IDirect3DRMProgressiveMesh_Duplicate(p,a) (p)->Duplicate(a)
2106 #define IDirect3DRMProgressiveMesh_GetBox(p,a) (p)->GetBox(a)
2107 #define IDirect3DRMProgressiveMesh_SetQuality(p,a) (p)->SetQuality(a)
2108 #define IDirect3DRMProgressiveMesh_GetQuality(p,a) (p)->GetQuality(a)
2111 /*****************************************************************************
2112 * IDirect3DRMShadow interface
2114 #define INTERFACE IDirect3DRMShadow
2115 DECLARE_INTERFACE_(IDirect3DRMShadow,IDirect3DRMVisual)
2117 /*** IUnknown methods ***/
2118 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2119 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2120 STDMETHOD_(ULONG,Release)(THIS) PURE;
2121 /*** IDirect3DRMObject methods ***/
2122 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2123 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2124 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2125 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2126 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2127 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2128 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2129 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2130 /*** IDirect3DRMShadow methods ***/
2131 STDMETHOD(Init)(THIS_ LPDIRECT3DRMVISUAL visual, LPDIRECT3DRMLIGHT light,
2132 D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz) PURE;
2136 #if !defined(__cplusplus) || defined(CINTERFACE)
2137 /*** IUnknown methods ***/
2138 #define IDirect3DRMShadow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2139 #define IDirect3DRMShadow_AddRef(p) (p)->lpVtbl->AddRef(p)
2140 #define IDirect3DRMShadow_Release(p) (p)->lpVtbl->Release(p)
2141 /*** IDirect3DRMObject methods ***/
2142 #define IDirect3DRMShadow_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2143 #define IDirect3DRMShadow_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2144 #define IDirect3DRMShadow_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2145 #define IDirect3DRMShadow_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2146 #define IDirect3DRMShadow_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2147 #define IDirect3DRMShadow_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2148 #define IDirect3DRMShadow_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2149 #define IDirect3DRMShadow_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2150 /*** IDirect3DRMShadow methods ***/
2151 #define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g) (p)->lpVtbl->Load(p,a,b,c,d,e,f,g)
2153 /*** IUnknown methods ***/
2154 #define IDirect3DRMShadow_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2155 #define IDirect3DRMShadow_AddRef(p) (p)->AddRef()
2156 #define IDirect3DRMShadow_Release(p) (p)->Release()
2157 /*** IDirect3DRMObject methods ***/
2158 #define IDirect3DRMShadow_Clone(p,a,b,c) (p)->Clone(a,b,c)
2159 #define IDirect3DRMShadow_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2160 #define IDirect3DRMShadow_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2161 #define IDirect3DRMShadow_SetAppData(p,a) (p)->SetAppData(a)
2162 #define IDirect3DRMShadow_GetAppData(p) (p)->GetAppData()
2163 #define IDirect3DRMShadow_SetName(p,a) (p)->SetName(a)
2164 #define IDirect3DRMShadow_GetName(p,a,b) (p)->GetName(a,b)
2165 #define IDirect3DRMShadow_GetClassName(p,a,b) (p)->GetClassName(a,b)
2166 /*** IDirect3DRMShadow methods ***/
2167 #define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g) (p)->Load(a,b,c,d,e,f,g)
2170 /*****************************************************************************
2171 * IDirect3DRMShadow2 interface
2173 #define INTERFACE IDirect3DRMShadow2
2174 DECLARE_INTERFACE_(IDirect3DRMShadow2,IDirect3DRMVisual)
2176 /*** IUnknown methods ***/
2177 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2178 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2179 STDMETHOD_(ULONG,Release)(THIS) PURE;
2180 /*** IDirect3DRMObject methods ***/
2181 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2182 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2183 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2184 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2185 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2186 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2187 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2188 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2189 /*** IDirect3DRMShadow methods ***/
2190 STDMETHOD(Init)(THIS_ LPUNKNOWN pUNK, LPDIRECT3DRMLIGHT light,
2191 D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz) PURE;
2192 /*** IDirect3DRMShadow2 methods ***/
2193 STDMETHOD(GetVisual)(THIS_ LPDIRECT3DRMVISUAL *) PURE;
2194 STDMETHOD(SetVisual)(THIS_ LPUNKNOWN pUNK, DWORD) PURE;
2195 STDMETHOD(GetLight)(THIS_ LPDIRECT3DRMLIGHT *) PURE;
2196 STDMETHOD(SetLight)(THIS_ LPDIRECT3DRMLIGHT, DWORD) PURE;
2197 STDMETHOD(GetPlane)(THIS_ LPD3DVALUE px, LPD3DVALUE py, LPD3DVALUE pz,
2198 LPD3DVALUE nx, LPD3DVALUE ny, LPD3DVALUE nz) PURE;
2199 STDMETHOD(SetPlane)(THIS_ D3DVALUE px, D3DVALUE py, D3DVALUE pz,
2200 D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, DWORD) PURE;
2201 STDMETHOD(GetOptions)(THIS_ LPDWORD) PURE;
2202 STDMETHOD(SetOptions)(THIS_ DWORD) PURE;
2206 #if !defined(__cplusplus) || defined(CINTERFACE)
2207 /*** IUnknown methods ***/
2208 #define IDirect3DRMShadow2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2209 #define IDirect3DRMShadow2_AddRef(p) (p)->lpVtbl->AddRef(p)
2210 #define IDirect3DRMShadow2_Release(p) (p)->lpVtbl->Release(p)
2211 /*** IDirect3DRMObject methods ***/
2212 #define IDirect3DRMShadow2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2213 #define IDirect3DRMShadow2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2214 #define IDirect3DRMShadow2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2215 #define IDirect3DRMShadow2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2216 #define IDirect3DRMShadow2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2217 #define IDirect3DRMShadow2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2218 #define IDirect3DRMShadow2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2219 #define IDirect3DRMShadow2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2220 /*** IDirect3DRMShadow methods ***/
2221 #define IDirect3DRMShadow2_Init(p,a,b,c,d,e,f,g) (p)->lpVtbl->Init(p,a,b,c,d,e,f,g)
2222 /*** IDirect3DRMShadow2 methods ***/
2223 #define IDirect3DRMShadow2_GetVisual(p,a) (p)->lpVtbl->GetVisual(p,a)
2224 #define IDirect3DRMShadow2_SetVisual(p,a,b) (p)->lpVtbl->SetVisual(p,a,b)
2225 #define IDirect3DRMShadow2_GetLight(p,a) (p)->lpVtbl->GetLight(p,a)
2226 #define IDirect3DRMShadow2_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
2227 #define IDirect3DRMShadow2_GetPlane(p,a,b,c,d,e,f) (p)->lpVtbl->GetPlane(p,a,b,c,d,e,f)
2228 #define IDirect3DRMShadow2_SetPlane(p,a,b,c,d,e,f) (p)->lpVtbl->SetPlane(p,a,b,c,d,e,f)
2229 #define IDirect3DRMShadow2_GetOptions(p,a) (p)->lpVtbl->GetOptions(p,a)
2230 #define IDirect3DRMShadow2_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
2232 /*** IUnknown methods ***/
2233 #define IDirect3DRMShadow2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2234 #define IDirect3DRMShadow2_AddRef(p) (p)->AddRef()
2235 #define IDirect3DRMShadow2_Release(p) (p)->Release()
2236 /*** IDirect3DRMObject methods ***/
2237 #define IDirect3DRMShadow2_Clone(p,a,b,c) (p)->Clone(a,b,c)
2238 #define IDirect3DRMShadow2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2239 #define IDirect3DRMShadow2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2240 #define IDirect3DRMShadow2_SetAppData(p,a) (p)->SetAppData(a)
2241 #define IDirect3DRMShadow2_GetAppData(p) (p)->GetAppData()
2242 #define IDirect3DRMShadow2_SetName(p,a) (p)->SetName(a)
2243 #define IDirect3DRMShadow2_GetName(p,a,b) (p)->GetName(a,b)
2244 #define IDirect3DRMShadow2_GetClassName(p,a,b) (p)->GetClassName(a,b)
2245 /*** IDirect3DRMShadow methods ***/
2246 #define IDirect3DRMShadow2_Init(p,a,b,c,d,e,f,g) (p)->Init(a,b,c,d,e,f,g)
2247 /*** IDirect3DRMShadow2 methods ***/
2248 #define IDirect3DRMShadow2_GetVisual(p,a) (p)->GetVisual(a)
2249 #define IDirect3DRMShadow2_SetVisual(p,a,b) (p)->SetVisual(a,b)
2250 #define IDirect3DRMShadow2_GetLight(p,a) (p)->GetLight(a)
2251 #define IDirect3DRMShadow2_SetLight(p,a,b) (p)->SetLight(a,b)
2252 #define IDirect3DRMShadow2_GetPlane(p,a,b,c,d,e,f) (p)->GetPlane(a,b,c,d,e,f)
2253 #define IDirect3DRMShadow2_SetPlane(p,a,b,c,d,e,f) (p)->SetPlane(a,b,c,d,e,f)
2254 #define IDirect3DRMShadow2_GetOptions(p,a) (p)->GetOptions(a)
2255 #define IDirect3DRMShadow2_SetOptions(p,a) (p)->SetOptions(a)
2258 /*****************************************************************************
2259 * IDirect3DRMFace interface
2261 #define INTERFACE IDirect3DRMFace
2262 DECLARE_INTERFACE_(IDirect3DRMFace,IDirect3DRMObject)
2264 /*** IUnknown methods ***/
2265 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2266 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2267 STDMETHOD_(ULONG,Release)(THIS) PURE;
2268 /*** IDirect3DRMObject methods ***/
2269 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2270 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2271 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2272 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2273 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2274 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2275 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2276 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2277 /*** IDirect3DRMFace methods ***/
2278 STDMETHOD(AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2279 STDMETHOD(AddVertexAndNormalIndexed)(THIS_ DWORD vertex, DWORD normal) PURE;
2280 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE, D3DVALUE, D3DVALUE) PURE;
2281 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
2282 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
2283 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE u, D3DVALUE v) PURE;
2284 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
2285 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
2286 STDMETHOD(GetVertex)(THIS_ DWORD index, D3DVECTOR *vertex, D3DVECTOR *normal) PURE;
2287 STDMETHOD(GetVertices)(THIS_ DWORD *vertex_count, D3DVECTOR *coords, D3DVECTOR *normals);
2288 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE *u, D3DVALUE *v) PURE;
2289 STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
2290 STDMETHOD(GetNormal)(THIS_ D3DVECTOR *) PURE;
2291 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE *) PURE;
2292 STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL *) PURE;
2293 STDMETHOD_(int, GetVertexCount)(THIS) PURE;
2294 STDMETHOD_(int, GetVertexIndex)(THIS_ DWORD which) PURE;
2295 STDMETHOD_(int, GetTextureCoordinateIndex)(THIS_ DWORD which) PURE;
2296 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
2300 #if !defined(__cplusplus) || defined(CINTERFACE)
2301 /*** IUnknown methods ***/
2302 #define IDirect3DRMFace_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2303 #define IDirect3DRMFace_AddRef(p) (p)->lpVtbl->AddRef(p)
2304 #define IDirect3DRMFace_Release(p) (p)->lpVtbl->Release(p)
2305 /*** IDirect3DRMObject methods ***/
2306 #define IDirect3DRMFace_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2307 #define IDirect3DRMFace_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2308 #define IDirect3DRMFace_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2309 #define IDirect3DRMFace_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2310 #define IDirect3DRMFace_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2311 #define IDirect3DRMFace_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2312 #define IDirect3DRMFace_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2313 #define IDirect3DRMFace_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2314 /*** IDirect3DRMFace methods ***/
2315 #define IDirect3DRMFace_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2316 #define IDirect3DRMFace_AddVertexAndNormalIndexed(p,a,b) (p)->lpVtbl->AddVertexAndNormalIndexed(p,a,b)
2317 #define IDirect3DRMFace_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2318 #define IDirect3DRMFace_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2319 #define IDirect3DRMFace_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2320 #define IDirect3DRMFace_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2321 #define IDirect3DRMFace_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
2322 #define IDirect3DRMFace_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2323 #define IDirect3DRMFace_GetVertex(p,a,b,c) (p)->lpVtbl->GetVertex(p,a,b,c)
2324 #define IDirect3DRMFace_GetVertices(p,a,b,c) (p)->lpVtbl->GetVertices(p,a,b,c)
2325 #define IDirect3DRMFace_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2326 #define IDirect3DRMFace_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
2327 #define IDirect3DRMFace_GetNormal(p,a) (p)->lpVtbl->GetNormal(p,a)
2328 #define IDirect3DRMFace_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
2329 #define IDirect3DRMFace_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2330 #define IDirect3DRMFace_GetVertexIndex(p,a) (p)->lpVtbl->GetVertexIndex(p,a)
2331 #define IDirect3DRMFace_GetTextureCoordinateIndex(p,a) (p)->lpVtbl->GetTextureCoordinateIndex(p,a)
2332 #define IDirect3DRMFace_GetColor(p,a) (p)->lpVtbl->GetColor(p,a)
2334 /*** IUnknown methods ***/
2335 #define IDirect3DRMFace_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2336 #define IDirect3DRMFace_AddRef(p) (p)->AddRef()
2337 #define IDirect3DRMFace_Release(p) (p)->Release()
2338 /*** IDirect3DRMObject methods ***/
2339 #define IDirect3DRMFace_Clone(p,a,b,c) (p)->Clone(a,b,c)
2340 #define IDirect3DRMFace_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2341 #define IDirect3DRMFace_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2342 #define IDirect3DRMFace_SetAppData(p,a) (p)->SetAppData(a)
2343 #define IDirect3DRMFace_GetAppData(p) (p)->GetAppData()
2344 #define IDirect3DRMFace_SetName(p,a) (p)->SetName(a)
2345 #define IDirect3DRMFace_GetName(p,a,b) (p)->GetName(a,b)
2346 #define IDirect3DRMFace_GetClassName(p,a,b) (p)->GetClassName(a,b)
2347 /*** IDirect3DRMFace methods ***/
2348 #define IDirect3DRMFace_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
2349 #define IDirect3DRMFace_AddVertexAndNormalIndexed(p,a,b) (p)->AddVertexAndNormalIndexed(a,b)
2350 #define IDirect3DRMFace_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
2351 #define IDirect3DRMFace_SetColor(p,a) (p)->SetColor(a)
2352 #define IDirect3DRMFace_SetTexture(p,a) (p)->SetTexture(a)
2353 #define IDirect3DRMFace_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
2354 #define IDirect3DRMFace_SetMaterial(p,a) (p)->SetMaterial(a)
2355 #define IDirect3DRMFace_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
2356 #define IDirect3DRMFace_GetVertex(p,a,b,c) (p)->GetVertex(a,b,c)
2357 #define IDirect3DRMFace_GetVertices(p,a,b,c) (p)->GetVertices(a,b,c)
2358 #define IDirect3DRMFace_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
2359 #define IDirect3DRMFace_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
2360 #define IDirect3DRMFace_GetNormal(p,a) (p)->GetNormal(a)
2361 #define IDirect3DRMFace_GetTexture(p,a) (p)->GetTexture(a)
2362 #define IDirect3DRMFace_GetVertexCount(p) (p)->GetVertexCount()
2363 #define IDirect3DRMFace_GetVertexIndex(p,a) (p)->GetVertexIndex(a)
2364 #define IDirect3DRMFace_GetTextureCoordinateIndex(p,a) (p)->GetTextureCoordinateIndex(a)
2365 #define IDirect3DRMFace_GetColor(p,a) (p)->GetColor(a)
2368 /*****************************************************************************
2369 * IDirect3DRMFace2 interface
2371 #define INTERFACE IDirect3DRMFace2
2372 DECLARE_INTERFACE_(IDirect3DRMFace2,IDirect3DRMObject)
2374 /*** IUnknown methods ***/
2375 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2376 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2377 STDMETHOD_(ULONG,Release)(THIS) PURE;
2378 /*** IDirect3DRMObject methods ***/
2379 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2380 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2381 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2382 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2383 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2384 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2385 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2386 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2387 /*** IDirect3DRMFace methods ***/
2388 STDMETHOD(AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2389 STDMETHOD(AddVertexAndNormalIndexed)(THIS_ DWORD vertex, DWORD normal) PURE;
2390 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE, D3DVALUE, D3DVALUE) PURE;
2391 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
2392 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
2393 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE u, D3DVALUE v) PURE;
2394 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE;
2395 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
2396 STDMETHOD(GetVertex)(THIS_ DWORD index, D3DVECTOR *vertex, D3DVECTOR *normal) PURE;
2397 STDMETHOD(GetVertices)(THIS_ DWORD *vertex_count, D3DVECTOR *coords, D3DVECTOR *normals);
2398 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE *u, D3DVALUE *v) PURE;
2399 STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
2400 STDMETHOD(GetNormal)(THIS_ D3DVECTOR *) PURE;
2401 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE3 *) PURE;
2402 STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2 *) PURE;
2403 STDMETHOD_(int, GetVertexCount)(THIS) PURE;
2404 STDMETHOD_(int, GetVertexIndex)(THIS_ DWORD which) PURE;
2405 STDMETHOD_(int, GetTextureCoordinateIndex)(THIS_ DWORD which) PURE;
2406 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
2410 #if !defined(__cplusplus) || defined(CINTERFACE)
2411 /*** IUnknown methods ***/
2412 #define IDirect3DRMFace2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2413 #define IDirect3DRMFace2_AddRef(p) (p)->lpVtbl->AddRef(p)
2414 #define IDirect3DRMFace2_Release(p) (p)->lpVtbl->Release(p)
2415 /*** IDirect3DRMObject methods ***/
2416 #define IDirect3DRMFace2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2417 #define IDirect3DRMFace2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2418 #define IDirect3DRMFace2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2419 #define IDirect3DRMFace2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2420 #define IDirect3DRMFace2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2421 #define IDirect3DRMFace2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2422 #define IDirect3DRMFace2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2423 #define IDirect3DRMFace2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2424 /*** IDirect3DRMFace methods ***/
2425 #define IDirect3DRMFace2_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2426 #define IDirect3DRMFace2_AddVertexAndNormalIndexed(p,a,b) (p)->lpVtbl->AddVertexAndNormalIndexed(p,a,b)
2427 #define IDirect3DRMFace2_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2428 #define IDirect3DRMFace2_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2429 #define IDirect3DRMFace2_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2430 #define IDirect3DRMFace2_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2431 #define IDirect3DRMFace2_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
2432 #define IDirect3DRMFace2_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2433 #define IDirect3DRMFace2_GetVertex(p,a,b,c) (p)->lpVtbl->GetVertex(p,a,b,c)
2434 #define IDirect3DRMFace2_GetVertices(p,a,b,c) (p)->lpVtbl->GetVertices(p,a,b,c)
2435 #define IDirect3DRMFace2_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2436 #define IDirect3DRMFace2_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
2437 #define IDirect3DRMFace2_GetNormal(p,a) (p)->lpVtbl->GetNormal(p,a)
2438 #define IDirect3DRMFace2_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
2439 #define IDirect3DRMFace2_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2440 #define IDirect3DRMFace2_GetVertexIndex(p,a) (p)->lpVtbl->GetVertexIndex(p,a)
2441 #define IDirect3DRMFace2_GetTextureCoordinateIndex(p,a) (p)->lpVtbl->GetTextureCoordinateIndex(p,a)
2442 #define IDirect3DRMFace2_GetColor(p,a) (p)->lpVtbl->GetColor(p,a)
2444 /*** IUnknown methods ***/
2445 #define IDirect3DRMFace2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2446 #define IDirect3DRMFace2_AddRef(p) (p)->AddRef()
2447 #define IDirect3DRMFace2_Release(p) (p)->Release()
2448 /*** IDirect3DRMObject methods ***/
2449 #define IDirect3DRMFace2_Clone(p,a,b,c) (p)->Clone(a,b,c)
2450 #define IDirect3DRMFace2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2451 #define IDirect3DRMFace2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2452 #define IDirect3DRMFace2_SetAppData(p,a) (p)->SetAppData(a)
2453 #define IDirect3DRMFace2_GetAppData(p) (p)->GetAppData()
2454 #define IDirect3DRMFace2_SetName(p,a) (p)->SetName(a)
2455 #define IDirect3DRMFace2_GetName(p,a,b) (p)->GetName(a,b)
2456 #define IDirect3DRMFace2_GetClassName(p,a,b) (p)->GetClassName(a,b)
2457 /*** IDirect3DRMFace methods ***/
2458 #define IDirect3DRMFace2_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
2459 #define IDirect3DRMFace2_AddVertexAndNormalIndexed(p,a,b) (p)->AddVertexAndNormalIndexed(a,b)
2460 #define IDirect3DRMFace2_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
2461 #define IDirect3DRMFace2_SetColor(p,a) (p)->SetColor(a)
2462 #define IDirect3DRMFace2_SetTexture(p,a) (p)->SetTexture(a)
2463 #define IDirect3DRMFace2_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
2464 #define IDirect3DRMFace2_SetMaterial(p,a) (p)->SetMaterial(a)
2465 #define IDirect3DRMFace2_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
2466 #define IDirect3DRMFace2_GetVertex(p,a,b,c) (p)->GetVertex(a,b,c)
2467 #define IDirect3DRMFace2_GetVertices(p,a,b,c) (p)->GetVertices(a,b,c)
2468 #define IDirect3DRMFace2_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
2469 #define IDirect3DRMFace2_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
2470 #define IDirect3DRMFace2_GetNormal(p,a) (p)->GetNormal(a)
2471 #define IDirect3DRMFace2_GetTexture(p,a) (p)->GetTexture(a)
2472 #define IDirect3DRMFace2_GetVertexCount(p) (p)->GetVertexCount()
2473 #define IDirect3DRMFace2_GetVertexIndex(p,a) (p)->GetVertexIndex(a)
2474 #define IDirect3DRMFace2_GetTextureCoordinateIndex(p,a) (p)->GetTextureCoordinateIndex(a)
2475 #define IDirect3DRMFace2_GetColor(p,a) (p)->GetColor(a)
2478 /*****************************************************************************
2479 * IDirect3DRMMeshBuilder interface
2481 #define INTERFACE IDirect3DRMMeshBuilder
2482 DECLARE_INTERFACE_(IDirect3DRMMeshBuilder,IDirect3DRMVisual)
2484 /*** IUnknown methods ***/
2485 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2486 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2487 STDMETHOD_(ULONG,Release)(THIS) PURE;
2488 /*** IDirect3DRMObject methods ***/
2489 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2490 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2491 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2492 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2493 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2494 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2495 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2496 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2497 /*** IDirect3DRMMeshBuilder methods ***/
2498 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK, LPVOID pArg) PURE;
2499 STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE;
2500 STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
2501 STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
2502 STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE;
2503 STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
2504 STDMETHOD(GenerateNormals)(THIS) PURE;
2505 STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE;
2506 STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE;
2507 STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER) PURE;
2508 STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME) PURE;
2509 STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE) PURE;
2510 STDMETHOD(AddFaces)(THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, DWORD *data,
2511 LPDIRECT3DRMFACEARRAY*) PURE;
2512 STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE;
2513 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2514 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
2515 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
2516 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
2517 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
2518 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
2519 STDMETHOD(SetPerspective)(THIS_ BOOL) PURE;
2520 STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2521 STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2522 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE;
2523 STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE;
2524 STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2525 STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE;
2526 STDMETHOD(GetVertices)(THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals,
2527 DWORD *face_data_size, DWORD *face_data) PURE;
2528 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE;
2529 STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2530 STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2531 STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE*) PURE;
2532 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
2533 STDMETHOD_(BOOL, GetPerspective)(THIS) PURE;
2534 STDMETHOD_(int, GetFaceCount)(THIS) PURE;
2535 STDMETHOD_(int, GetVertexCount)(THIS) PURE;
2536 STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE;
2537 STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE;
2541 #if !defined(__cplusplus) || defined(CINTERFACE)
2542 /*** IUnknown methods ***/
2543 #define IDirect3DRMMeshBuilder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2544 #define IDirect3DRMMeshBuilder_AddRef(p) (p)->lpVtbl->AddRef(p)
2545 #define IDirect3DRMMeshBuilder_Release(p) (p)->lpVtbl->Release(p)
2546 /*** IDirect3DRMObject methods ***/
2547 #define IDirect3DRMMeshBuilder_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2548 #define IDirect3DRMMeshBuilder_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2549 #define IDirect3DRMMeshBuilder_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2550 #define IDirect3DRMMeshBuilder_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2551 #define IDirect3DRMMeshBuilder_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2552 #define IDirect3DRMMeshBuilder_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2553 #define IDirect3DRMMeshBuilder_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2554 #define IDirect3DRMMeshBuilder_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2555 /*** IDirect3DRMMeshBuilder methods ***/
2556 #define IDirect3DRMMeshBuilder_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
2557 #define IDirect3DRMMeshBuilder_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
2558 #define IDirect3DRMMeshBuilder_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
2559 #define IDirect3DRMMeshBuilder_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a)
2560 #define IDirect3DRMMeshBuilder_SetColorSource(p,a) (p)->lpVtbl->SetColorSource(p,a,b,c)
2561 #define IDirect3DRMMeshBuilder_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
2562 #define IDirect3DRMMeshBuilder_GenerateNormals(p) (p)->lpVtbl->GenerateNormals(p)
2563 #define IDirect3DRMMeshBuilder_GetColorSource(p) (p)->lpVtbl->GetColorSource(p)
2564 #define IDirect3DRMMeshBuilder_AddMesh(p,a) (p)->lpVtbl->AddMesh(p,a)
2565 #define IDirect3DRMMeshBuilder_AddMeshBuilder(p,a) (p)->lpVtbl->AddMeshBuilder(p,a)
2566 #define IDirect3DRMMeshBuilder_AddFrame(p,a) (p)->lpVtbl->AddFrame(p,a)
2567 #define IDirect3DRMMeshBuilder_AddFace(p,a) (p)->lpVtbl->AddFace(p,a)
2568 #define IDirect3DRMMeshBuilder_AddFaces(p,a,b,c,d,e,f) (p)->lpVtbl->AddFaces(p,a,b,c,d,e,f)
2569 #define IDirect3DRMMeshBuilder_ReserveSpace(p,a,b,c) (p)->lpVtbl->ReserveSpace(p,a,b,c)
2570 #define IDirect3DRMMeshBuilder_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2571 #define IDirect3DRMMeshBuilder_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2572 #define IDirect3DRMMeshBuilder_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2573 #define IDirect3DRMMeshBuilder_SetMateria(p,a) (p)->lpVtbl->SetMateria(p,a)
2574 #define IDirect3DRMMeshBuilder_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2575 #define IDirect3DRMMeshBuilder_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
2576 #define IDirect3DRMMeshBuilder_SetPerspective(p,a) (p)->lpVtbl->SetPerspective(p,a)
2577 #define IDirect3DRMMeshBuilder_SetVertex(p,a,b,c,d) (p)->lpVtbl->SetVertex(p,a,b,c,d)
2578 #define IDirect3DRMMeshBuilder_SetNormal(p,a,b,c,d) (p)->lpVtbl->SetNormal(p,a,b,c,d)
2579 #define IDirect3DRMMeshBuilder_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2580 #define IDirect3DRMMeshBuilder_SetVertexColor(p,a,b) (p)->lpVtbl->SetVertexColor(p,a,b)
2581 #define IDirect3DRMMeshBuilder_SetVertexColorRGB(p,a,b,c,d) (p)->lpVtbl->SetVertexColorRGB(p,a,b,c,d)
2582 #define IDirect3DRMMeshBuilder_GetFaces(p,a) (p)->lpVtbl->GetFaces(p,a)
2583 #define IDirect3DRMMeshBuilder_GetVertices(p,a,b,c,d,e,f) (p)->lpVtbl->GetVertices(p,a,b,c,d,e,f)
2584 #define IDirect3DRMMeshBuilder_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2585 #define IDirect3DRMMeshBuilder_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2586 #define IDirect3DRMMeshBuilder_AddNormal(p,a,b,c) (p)->lpVtbl->AddNormal(p,a,b,c)
2587 #define IDirect3DRMMeshBuilder_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
2588 #define IDirect3DRMMeshBuilder_GetQuality(p) (p)->lpVtbl->GetQuality(p)
2589 #define IDirect3DRMMeshBuilder_GetPerspective(p) (p)->lpVtbl->GetPerspective(p)
2590 #define IDirect3DRMMeshBuilder_GetFaceCount(p) (p)->lpVtbl->GetFaceCount(p)
2591 #define IDirect3DRMMeshBuilder_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2592 #define IDirect3DRMMeshBuilder_GetVertexColor(p,a) (p)->lpVtbl->GetVertexColor(p,a)
2593 #define IDirect3DRMMeshBuilder_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
2595 /*** IUnknown methods ***/
2596 #define IDirect3DRMMeshBuilder_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2597 #define IDirect3DRMMeshBuilder_AddRef(p) (p)->AddRef()
2598 #define IDirect3DRMMeshBuilder_Release(p) (p)->Release()
2599 /*** IDirect3DRMObject methods ***/
2600 #define IDirect3DRMMeshBuilder_Clone(p,a,b,c) (p)->Clone(a,b,c)
2601 #define IDirect3DRMMeshBuilder_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2602 #define IDirect3DRMMeshBuilder_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2603 #define IDirect3DRMMeshBuilder_SetAppData(p,a) (p)->SetAppData(a)
2604 #define IDirect3DRMMeshBuilder_GetAppData(p) (p)->GetAppData()
2605 #define IDirect3DRMMeshBuilder_SetName(p,a) (p)->SetName(a)
2606 #define IDirect3DRMMeshBuilder_GetName(p,a,b) (p)->GetName(a,b)
2607 #define IDirect3DRMMeshBuilder_GetClassName(p,a,b) (p)->GetClassName(a,b)
2608 /*** IDirect3DRMMeshBuilder methods ***/
2609 #define IDirect3DRMMeshBuilder_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
2610 #define IDirect3DRMMeshBuilder_Save(p,a,b,c) (p)->Save(a,b,c)
2611 #define IDirect3DRMMeshBuilder_Scale(p,a,b,c) (p)->Scale(a,b,c)
2612 #define IDirect3DRMMeshBuilder_Translate(p,a,b,c) (p)->Translate(a)
2613 #define IDirect3DRMMeshBuilder_SetColorSource(p,a) (p)->SetColorSource(a,b,c)
2614 #define IDirect3DRMMeshBuilder_GetBox(p,a) (p)->GetBox(a)
2615 #define IDirect3DRMMeshBuilder_GenerateNormals(p) (p)->GenerateNormals()
2616 #define IDirect3DRMMeshBuilder_GetColorSource(p) (p)->GetColorSource()
2617 #define IDirect3DRMMeshBuilder_AddMesh(p,a) (p)-->AddMesh(a)
2618 #define IDirect3DRMMeshBuilder_AddMeshBuilder(p,a) (p)->AddMeshBuilder(a)
2619 #define IDirect3DRMMeshBuilder_AddFrame(p,a) (p)->AddFrame(a)
2620 #define IDirect3DRMMeshBuilder_AddFace(p,a) (p)->AddFace(a)
2621 #define IDirect3DRMMeshBuilder_AddFaces(p,a,b,c,d,e,f) (p)->AddFaces(a,b,c,d,e,f)
2622 #define IDirect3DRMMeshBuilder_ReserveSpace(p,a,b,c) (p)->ReserveSpace(a,b,c)
2623 #define IDirect3DRMMeshBuilder_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
2624 #define IDirect3DRMMeshBuilder_SetColor(p,a) (p)->SetColor(a)
2625 #define IDirect3DRMMeshBuilder_SetTexture(p,a) (p)->SetTexture(a)
2626 #define IDirect3DRMMeshBuilder_SetMateria(p,a) (p)->SetMateria(a)
2627 #define IDirect3DRMMeshBuilder_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
2628 #define IDirect3DRMMeshBuilder_SetQuality(p,a) (p)->SetQuality(a)
2629 #define IDirect3DRMMeshBuilder_SetPerspective(p,a) (p)->SetPerspective(a)
2630 #define IDirect3DRMMeshBuilder_SetVertex(p,a,b,c,d) (p)->SetVertex(a,b,c,d)
2631 #define IDirect3DRMMeshBuilder_SetNormal(p,a,b,c,d) (p)->SetNormal(a,b,c,d)
2632 #define IDirect3DRMMeshBuilder_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
2633 #define IDirect3DRMMeshBuilder_SetVertexColor(p,a,b) (p)->SetVertexColor(a,b)
2634 #define IDirect3DRMMeshBuilder_SetVertexColorRGB(p,a,b,c,d) (p)->SetVertexColorRGB(a,b,c,d)
2635 #define IDirect3DRMMeshBuilder_GetFaces(p,a) (p)->GetFaces(a)
2636 #define IDirect3DRMMeshBuilder_GetVertices(p,a,b,c,d,e,f) (p)->GetVertices(a,b,c,d,e,f)
2637 #define IDirect3DRMMeshBuilder_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
2638 #define IDirect3DRMMeshBuilder_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
2639 #define IDirect3DRMMeshBuilder_AddNormal(p,a,b,c) (p)->AddNormal(a,b,c)
2640 #define IDirect3DRMMeshBuilder_CreateFace(p,a) (p)->CreateFace(a)
2641 #define IDirect3DRMMeshBuilder_GetQuality(p) (p)->GetQuality()
2642 #define IDirect3DRMMeshBuilder_GetPerspective(p) (p)->GetPerspective()
2643 #define IDirect3DRMMeshBuilder_GetFaceCount(p) (p)->GetFaceCount()
2644 #define IDirect3DRMMeshBuilder_GetVertexCount(p) (p)->GetVertexCount()
2645 #define IDirect3DRMMeshBuilder_GetVertexColor(p,a) (p)->GetVertexColor(a)
2646 #define IDirect3DRMMeshBuilder_CreateMesh(p,a) (p)->CreateMesh(a)
2649 /*****************************************************************************
2650 * IDirect3DRMMeshBuilder2 interface
2652 #define INTERFACE IDirect3DRMMeshBuilder2
2653 DECLARE_INTERFACE_(IDirect3DRMMeshBuilder2,IDirect3DRMMeshBuilder)
2655 /*** IUnknown methods ***/
2656 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2657 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2658 STDMETHOD_(ULONG,Release)(THIS) PURE;
2659 /*** IDirect3DRMObject methods ***/
2660 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2661 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2662 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2663 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2664 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2665 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2666 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2667 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2668 /*** IDirect3DRMMeshBuilder methods ***/
2669 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK, LPVOID pArg) PURE;
2670 STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE;
2671 STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
2672 STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
2673 STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE;
2674 STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
2675 STDMETHOD(GenerateNormals)(THIS) PURE;
2676 STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE;
2677 STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE;
2678 STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER) PURE;
2679 STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME) PURE;
2680 STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE) PURE;
2681 STDMETHOD(AddFaces)(THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, DWORD *data,
2682 LPDIRECT3DRMFACEARRAY*) PURE;
2683 STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE;
2684 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2685 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
2686 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
2687 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
2688 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
2689 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
2690 STDMETHOD(SetPerspective)(THIS_ BOOL) PURE;
2691 STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2692 STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2693 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE;
2694 STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE;
2695 STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2696 STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE;
2697 STDMETHOD(GetVertices)(THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals,
2698 DWORD *face_data_size, DWORD *face_data) PURE;
2699 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE;
2700 STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2701 STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2702 STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE*) PURE;
2703 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
2704 STDMETHOD_(BOOL, GetPerspective)(THIS) PURE;
2705 STDMETHOD_(int, GetFaceCount)(THIS) PURE;
2706 STDMETHOD_(int, GetVertexCount)(THIS) PURE;
2707 STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE;
2708 STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE;
2709 /*** IDirect3DRMMeshBuilder2 methods ***/
2710 STDMETHOD(GenerateNormals2)(THIS_ D3DVALUE crease, DWORD flags) PURE;
2711 STDMETHOD(GetFace)(THIS_ DWORD index, LPDIRECT3DRMFACE*) PURE;
2715 #if !defined(__cplusplus) || defined(CINTERFACE)
2716 /*** IUnknown methods ***/
2717 #define IDirect3DRMMeshBuilder2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2718 #define IDirect3DRMMeshBuilder2_AddRef(p) (p)->lpVtbl->AddRef(p)
2719 #define IDirect3DRMMeshBuilder2_Release(p) (p)->lpVtbl->Release(p)
2720 /*** IDirect3DRMObject methods ***/
2721 #define IDirect3DRMMeshBuilder2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2722 #define IDirect3DRMMeshBuilder2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2723 #define IDirect3DRMMeshBuilder2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2724 #define IDirect3DRMMeshBuilder2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2725 #define IDirect3DRMMeshBuilder2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2726 #define IDirect3DRMMeshBuilder2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2727 #define IDirect3DRMMeshBuilder2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2728 #define IDirect3DRMMeshBuilder2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2729 /*** IDirect3DRMMeshBuilder methods ***/
2730 #define IDirect3DRMMeshBuilder2_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
2731 #define IDirect3DRMMeshBuilder2_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
2732 #define IDirect3DRMMeshBuilder2_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
2733 #define IDirect3DRMMeshBuilder2_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a)
2734 #define IDirect3DRMMeshBuilder2_SetColorSource(p,a) (p)->lpVtbl->SetColorSource(p,a,b,c)
2735 #define IDirect3DRMMeshBuilder2_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
2736 #define IDirect3DRMMeshBuilder2_GenerateNormals(p) (p)->lpVtbl->GenerateNormals(p)
2737 #define IDirect3DRMMeshBuilder2_GetColorSource(p) (p)->lpVtbl->GetColorSource(p)
2738 #define IDirect3DRMMeshBuilder2_AddMesh(p,a) (p)->lpVtbl->AddMesh(p,a)
2739 #define IDirect3DRMMeshBuilder2_AddMeshBuilder(p,a) (p)->lpVtbl->AddMeshBuilder(p,a)
2740 #define IDirect3DRMMeshBuilder2_AddFrame(p,a) (p)->lpVtbl->AddFrame(p,a)
2741 #define IDirect3DRMMeshBuilder2_AddFace(p,a) (p)->lpVtbl->AddFace(p,a)
2742 #define IDirect3DRMMeshBuilder2_AddFaces(p,a,b,c,d,e,f) (p)->lpVtbl->AddFaces(p,a,b,c,d,e,f)
2743 #define IDirect3DRMMeshBuilder2_ReserveSpace(p,a,b,c) (p)->lpVtbl->ReserveSpace(p,a,b,c)
2744 #define IDirect3DRMMeshBuilder2_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2745 #define IDirect3DRMMeshBuilder2_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2746 #define IDirect3DRMMeshBuilder2_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2747 #define IDirect3DRMMeshBuilder2_SetMateria(p,a) (p)->lpVtbl->SetMateria(p,a)
2748 #define IDirect3DRMMeshBuilder2_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2749 #define IDirect3DRMMeshBuilder2_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
2750 #define IDirect3DRMMeshBuilder2_SetPerspective(p,a) (p)->lpVtbl->SetPerspective(p,a)
2751 #define IDirect3DRMMeshBuilder2_SetVertex(p,a,b,c,d) (p)->lpVtbl->SetVertex(p,a,b,c,d)
2752 #define IDirect3DRMMeshBuilder2_SetNormal(p,a,b,c,d) (p)->lpVtbl->SetNormal(p,a,b,c,d)
2753 #define IDirect3DRMMeshBuilder2_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2754 #define IDirect3DRMMeshBuilder2_SetVertexColor(p,a,b) (p)->lpVtbl->SetVertexColor(p,a,b)
2755 #define IDirect3DRMMeshBuilder2_SetVertexColorRGB(p,a,b,c,d) (p)->lpVtbl->SetVertexColorRGB(p,a,b,c,d)
2756 #define IDirect3DRMMeshBuilder2_GetFaces(p,a) (p)->lpVtbl->GetFaces(p,a)
2757 #define IDirect3DRMMeshBuilder2_GetVertices(p,a,b,c,d,e,f) (p)->lpVtbl->GetVertices(p,a,b,c,d,e,f)
2758 #define IDirect3DRMMeshBuilder2_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2759 #define IDirect3DRMMeshBuilder2_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2760 #define IDirect3DRMMeshBuilder2_AddNormal(p,a,b,c) (p)->lpVtbl->AddNormal(p,a,b,c)
2761 #define IDirect3DRMMeshBuilder2_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
2762 #define IDirect3DRMMeshBuilder2_GetQuality(p) (p)->lpVtbl->GetQuality(p)
2763 #define IDirect3DRMMeshBuilder2_GetPerspective(p) (p)->lpVtbl->GetPerspective(p)
2764 #define IDirect3DRMMeshBuilder2_GetFaceCount(p) (p)->lpVtbl->GetFaceCount(p)
2765 #define IDirect3DRMMeshBuilder2_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2766 #define IDirect3DRMMeshBuilder2_GetVertexColor(p,a) (p)->lpVtbl->GetVertexColor(p,a)
2767 #define IDirect3DRMMeshBuilder2_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
2768 /*** IDirect3DRMMeshBuilder2 methods ***/
2769 #define IDirect3DRMMeshBuilder2_GenerateNormals2(p,a,b) (p)->lpVtbl->GenerateNormals2(p,a,b)
2770 #define IDirect3DRMMeshBuilder2_GetFace(p,a,b) (p)->lpVtbl->GetFace(p,a,b)
2772 /*** IUnknown methods ***/
2773 #define IDirect3DRMMeshBuilder2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2774 #define IDirect3DRMMeshBuilder2_AddRef(p) (p)->AddRef()
2775 #define IDirect3DRMMeshBuilder2_Release(p) (p)->Release()
2776 /*** IDirect3DRMObject methods ***/
2777 #define IDirect3DRMMeshBuilder2_Clone(p,a,b,c) (p)->Clone(a,b,c)
2778 #define IDirect3DRMMeshBuilder2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2779 #define IDirect3DRMMeshBuilder2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2780 #define IDirect3DRMMeshBuilder2_SetAppData(p,a) (p)->SetAppData(a)
2781 #define IDirect3DRMMeshBuilder2_GetAppData(p) (p)->GetAppData()
2782 #define IDirect3DRMMeshBuilder2_SetName(p,a) (p)->SetName(a)
2783 #define IDirect3DRMMeshBuilder2_GetName(p,a,b) (p)->GetName(a,b)
2784 #define IDirect3DRMMeshBuilder2_GetClassName(p,a,b) (p)->GetClassName(a,b)
2785 /*** IDirect3DRMMeshBuilder methods ***/
2786 #define IDirect3DRMMeshBuilder2_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
2787 #define IDirect3DRMMeshBuilder2_Save(p,a,b,c) (p)->Save(a,b,c)
2788 #define IDirect3DRMMeshBuilder2_Scale(p,a,b,c) (p)->Scale(a,b,c)
2789 #define IDirect3DRMMeshBuilder2_Translate(p,a,b,c) (p)->Translate(a)
2790 #define IDirect3DRMMeshBuilder2_SetColorSource(p,a) (p)->SetColorSource(a,b,c)
2791 #define IDirect3DRMMeshBuilder2_GetBox(p,a) (p)->GetBox(a)
2792 #define IDirect3DRMMeshBuilder2_GenerateNormals(p) (p)->GenerateNormals()
2793 #define IDirect3DRMMeshBuilder2_GetColorSource(p) (p)->GetColorSource()
2794 #define IDirect3DRMMeshBuilder2_AddMesh(p,a) (p)-->AddMesh(a)
2795 #define IDirect3DRMMeshBuilder2_AddMeshBuilder(p,a) (p)->AddMeshBuilder(a)
2796 #define IDirect3DRMMeshBuilder2_AddFrame(p,a) (p)->AddFrame(a)
2797 #define IDirect3DRMMeshBuilder2_AddFace(p,a) (p)->AddFace(a)
2798 #define IDirect3DRMMeshBuilder2_AddFaces(p,a,b,c,d,e,f) (p)->AddFaces(a,b,c,d,e,f)
2799 #define IDirect3DRMMeshBuilder2_ReserveSpace(p,a,b,c) (p)->ReserveSpace(a,b,c)
2800 #define IDirect3DRMMeshBuilder2_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
2801 #define IDirect3DRMMeshBuilder2_SetColor(p,a) (p)->SetColor(a)
2802 #define IDirect3DRMMeshBuilder2_SetTexture(p,a) (p)->SetTexture(a)
2803 #define IDirect3DRMMeshBuilder2_SetMateria(p,a) (p)->SetMateria(a)
2804 #define IDirect3DRMMeshBuilder2_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
2805 #define IDirect3DRMMeshBuilder2_SetQuality(p,a) (p)->SetQuality(a)
2806 #define IDirect3DRMMeshBuilder2_SetPerspective(p,a) (p)->SetPerspective(a)
2807 #define IDirect3DRMMeshBuilder2_SetVertex(p,a,b,c,d) (p)->SetVertex(a,b,c,d)
2808 #define IDirect3DRMMeshBuilder2_SetNormal(p,a,b,c,d) (p)->SetNormal(a,b,c,d)
2809 #define IDirect3DRMMeshBuilder2_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
2810 #define IDirect3DRMMeshBuilder2_SetVertexColor(p,a,b) (p)->SetVertexColor(a,b)
2811 #define IDirect3DRMMeshBuilder2_SetVertexColorRGB(p,a,b,c,d) (p)->SetVertexColorRGB(a,b,c,d)
2812 #define IDirect3DRMMeshBuilder2_GetFaces(p,a) (p)->GetFaces(a)
2813 #define IDirect3DRMMeshBuilder2_GetVertices(p,a,b,c,d,e,f) (p)->GetVertices(a,b,c,d,e,f)
2814 #define IDirect3DRMMeshBuilder2_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
2815 #define IDirect3DRMMeshBuilder2_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
2816 #define IDirect3DRMMeshBuilder2_AddNormal(p,a,b,c) (p)->AddNormal(a,b,c)
2817 #define IDirect3DRMMeshBuilder2_CreateFace(p,a) (p)->CreateFace(a)
2818 #define IDirect3DRMMeshBuilder2_GetQuality(p) (p)->GetQuality()
2819 #define IDirect3DRMMeshBuilder2_GetPerspective(p) (p)->GetPerspective()
2820 #define IDirect3DRMMeshBuilder2_GetFaceCount(p) (p)->GetFaceCount()
2821 #define IDirect3DRMMeshBuilder2_GetVertexCount(p) (p)->GetVertexCount()
2822 #define IDirect3DRMMeshBuilder2_GetVertexColor(p,a) (p)->GetVertexColor(a)
2823 #define IDirect3DRMMeshBuilder2_CreateMesh(p,a) (p)->CreateMesh(a)
2824 /*** IDirect3DRMMeshBuilder2 methods ***/
2825 #define IDirect3DRMMeshBuilder2_GenerateNormals2(p,a,b) (p)->GenerateNormals2(a,b)
2826 #define IDirect3DRMMeshBuilder2_GetFace(p,a,b) (p)->GetFace(a,b)
2829 /*****************************************************************************
2830 * IDirect3DRMMeshBuilder3 interface
2832 #define INTERFACE IDirect3DRMMeshBuilder3
2833 DECLARE_INTERFACE_(IDirect3DRMMeshBuilder3,IDirect3DRMVisual)
2835 /*** IUnknown methods ***/
2836 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
2837 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
2838 STDMETHOD_(ULONG,Release)(THIS) PURE;
2839 /*** IDirect3DRMObject methods ***/
2840 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
2841 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2842 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
2843 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
2844 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
2845 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
2846 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2847 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
2848 /*** IDirect3DRMMeshBuilder3 methods ***/
2849 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURE3CALLBACK, LPVOID pArg) PURE;
2850 STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE;
2851 STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
2852 STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
2853 STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE;
2854 STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
2855 STDMETHOD(GenerateNormals)(THIS_ D3DVALUE crease, DWORD flags) PURE;
2856 STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE;
2857 STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE;
2858 STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER3, DWORD flags) PURE;
2859 STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME3) PURE;
2860 STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE2) PURE;
2861 STDMETHOD(AddFaces)(THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, DWORD *data,
2862 LPDIRECT3DRMFACEARRAY*) PURE;
2863 STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE;
2864 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2865 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
2866 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
2867 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE;
2868 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
2869 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
2870 STDMETHOD(SetPerspective)(THIS_ BOOL) PURE;
2871 STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2872 STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2873 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE;
2874 STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE;
2875 STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
2876 STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE;
2877 STDMETHOD(GetGeometry)(THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals,
2878 DWORD *face_data_size, DWORD *face_data) PURE;
2879 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE;
2880 STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2881 STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
2882 STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE2*) PURE;
2883 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
2884 STDMETHOD_(BOOL, GetPerspective)(THIS) PURE;
2885 STDMETHOD_(int, GetFaceCount)(THIS) PURE;
2886 STDMETHOD_(int, GetVertexCount)(THIS) PURE;
2887 STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE;
2888 STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE;
2889 STDMETHOD(GetFace)(THIS_ DWORD index, LPDIRECT3DRMFACE2 *) PURE;
2890 STDMETHOD(GetVertex)(THIS_ DWORD index, LPD3DVECTOR pVector) PURE;
2891 STDMETHOD(GetNormal)(THIS_ DWORD index, LPD3DVECTOR pVector) PURE;
2892 STDMETHOD(DeleteVertices)(THIS_ DWORD IndexFirst, DWORD count) PURE;
2893 STDMETHOD(DeleteNormals)(THIS_ DWORD IndexFirst, DWORD count) PURE;
2894 STDMETHOD(DeleteFace)(THIS_ LPDIRECT3DRMFACE2) PURE;
2895 STDMETHOD(Empty)(THIS_ DWORD flags) PURE;
2896 STDMETHOD(Optimize)(THIS_ DWORD flags) PURE;
2897 STDMETHOD(AddFacesIndexed)(THIS_ DWORD flags, DWORD *pvIndices, DWORD *pIndexFirst, DWORD *pCount) PURE;
2898 STDMETHOD(CreateSubMesh)(THIS_ LPUNKNOWN *) PURE;
2899 STDMETHOD(GetParentMesh)(THIS_ DWORD, LPUNKNOWN *) PURE;
2900 STDMETHOD(GetSubMeshes)(THIS_ LPDWORD pCount, LPUNKNOWN *) PURE;
2901 STDMETHOD(DeleteSubMesh)(THIS_ LPUNKNOWN) PURE;
2902 STDMETHOD(Enable)(THIS_ DWORD) PURE;
2903 STDMETHOD(GetEnable)(THIS_ DWORD *) PURE;
2904 STDMETHOD(AddTriangles)(THIS_ DWORD flags, DWORD format, DWORD VertexCount, LPVOID pvData) PURE;
2905 STDMETHOD(SetVertices)(THIS_ DWORD IndexFirst, DWORD count, LPD3DVECTOR) PURE;
2906 STDMETHOD(GetVertices)(THIS_ DWORD IndexFirst, LPDWORD pCount, LPD3DVECTOR) PURE;
2907 STDMETHOD(SetNormals)(THIS_ DWORD IndexFirst, DWORD count, LPD3DVECTOR) PURE;
2908 STDMETHOD(GetNormals)(THIS_ DWORD IndexFirst, LPDWORD pCount, LPD3DVECTOR) PURE;
2909 STDMETHOD_(int, GetNormalCount)(THIS) PURE;
2913 #if !defined(__cplusplus) || defined(CINTERFACE)
2914 /*** IUnknown methods ***/
2915 #define IDirect3DRMMeshBuilder3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2916 #define IDirect3DRMMeshBuilder3_AddRef(p) (p)->lpVtbl->AddRef(p)
2917 #define IDirect3DRMMeshBuilder3_Release(p) (p)->lpVtbl->Release(p)
2918 /*** IDirect3DRMObject methods ***/
2919 #define IDirect3DRMMeshBuilder3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
2920 #define IDirect3DRMMeshBuilder3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
2921 #define IDirect3DRMMeshBuilder3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
2922 #define IDirect3DRMMeshBuilder3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
2923 #define IDirect3DRMMeshBuilder3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
2924 #define IDirect3DRMMeshBuilder3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
2925 #define IDirect3DRMMeshBuilder3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
2926 #define IDirect3DRMMeshBuilder3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
2927 /*** IDirect3DRMMeshBuilder3 methods ***/
2928 #define IDirect3DRMMeshBuilder3_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
2929 #define IDirect3DRMMeshBuilder3_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
2930 #define IDirect3DRMMeshBuilder3_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
2931 #define IDirect3DRMMeshBuilder3_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a)
2932 #define IDirect3DRMMeshBuilder3_SetColorSource(p,a) (p)->lpVtbl->SetColorSource(p,a,b,c)
2933 #define IDirect3DRMMeshBuilder3_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
2934 #define IDirect3DRMMeshBuilder3_GenerateNormals(p,a,b) (p)->lpVtbl->GenerateNormals(p,a,b)
2935 #define IDirect3DRMMeshBuilder3_GetColorSource(p) (p)->lpVtbl->GetColorSource(p)
2936 #define IDirect3DRMMeshBuilder3_AddMesh(p,a) (p)->lpVtbl->AddMesh(p,a)
2937 #define IDirect3DRMMeshBuilder3_AddMeshBuilder(p,a) (p)->lpVtbl->AddMeshBuilder(p,a)
2938 #define IDirect3DRMMeshBuilder3_AddFrame(p,a) (p)->lpVtbl->AddFrame(p,a)
2939 #define IDirect3DRMMeshBuilder3_AddFace(p,a) (p)->lpVtbl->AddFace(p,a)
2940 #define IDirect3DRMMeshBuilder3_AddFaces(p,a,b,c,d,e,f) (p)->lpVtbl->AddFaces(p,a,b,c,d,e,f)
2941 #define IDirect3DRMMeshBuilder3_ReserveSpace(p,a,b,c) (p)->lpVtbl->ReserveSpace(p,a,b,c)
2942 #define IDirect3DRMMeshBuilder3_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
2943 #define IDirect3DRMMeshBuilder3_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
2944 #define IDirect3DRMMeshBuilder3_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
2945 #define IDirect3DRMMeshBuilder3_SetMateria(p,a) (p)->lpVtbl->SetMateria(p,a)
2946 #define IDirect3DRMMeshBuilder3_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
2947 #define IDirect3DRMMeshBuilder3_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
2948 #define IDirect3DRMMeshBuilder3_SetPerspective(p,a) (p)->lpVtbl->SetPerspective(p,a)
2949 #define IDirect3DRMMeshBuilder3_SetVertex(p,a,b,c,d) (p)->lpVtbl->SetVertex(p,a,b,c,d)
2950 #define IDirect3DRMMeshBuilder3_SetNormal(p,a,b,c,d) (p)->lpVtbl->SetNormal(p,a,b,c,d)
2951 #define IDirect3DRMMeshBuilder3_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
2952 #define IDirect3DRMMeshBuilder3_SetVertexColor(p,a,b) (p)->lpVtbl->SetVertexColor(p,a,b)
2953 #define IDirect3DRMMeshBuilder3_SetVertexColorRGB(p,a,b,c,d) (p)->lpVtbl->SetVertexColorRGB(p,a,b,c,d)
2954 #define IDirect3DRMMeshBuilder3_GetFaces(p,a) (p)->lpVtbl->GetFaces(p,a)
2955 #define IDirect3DRMMeshBuilder3_GetGeometry(p,a,b,c,d,e,f) (p)->lpVtbl->GetGeometry(p,a,b,c,d,e,f)
2956 #define IDirect3DRMMeshBuilder3_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
2957 #define IDirect3DRMMeshBuilder3_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
2958 #define IDirect3DRMMeshBuilder3_AddNormal(p,a,b,c) (p)->lpVtbl->AddNormal(p,a,b,c)
2959 #define IDirect3DRMMeshBuilder3_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
2960 #define IDirect3DRMMeshBuilder3_GetQuality(p) (p)->lpVtbl->GetQuality(p)
2961 #define IDirect3DRMMeshBuilder3_GetPerspective(p) (p)->lpVtbl->GetPerspective(p)
2962 #define IDirect3DRMMeshBuilder3_GetFaceCount(p) (p)->lpVtbl->GetFaceCount(p)
2963 #define IDirect3DRMMeshBuilder3_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
2964 #define IDirect3DRMMeshBuilder3_GetVertexColor(p,a) (p)->lpVtbl->GetVertexColor(p,a)
2965 #define IDirect3DRMMeshBuilder3_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
2966 #define IDirect3DRMMeshBuilder3_GetFace(p,a,b) (p)->lpVtbl->GetFace(p,a,b)
2967 #define IDirect3DRMMeshBuilder3_GetVertex(p,a,b) (p)->lpVtbl->GetVertex(p,a,b)
2968 #define IDirect3DRMMeshBuilder3_GetNormal(p,a,b) (p)->lpVtbl->GetNormal(p,a,b)
2969 #define IDirect3DRMMeshBuilder3_DeleteVertices(p,a,b) (p)->lpVtbl->DeleteVertices(p,a,b)
2970 #define IDirect3DRMMeshBuilder3_DeleteNormals(p,a,b) (p)->lpVtbl->DeleteNormals(p,a,b)
2971 #define IDirect3DRMMeshBuilder3_DeleteFace(p,a) (p)->lpVtbl->DeleteFace(p,a)
2972 #define IDirect3DRMMeshBuilder3_Empty(p,a) (p)->lpVtbl->Empty(p,a)
2973 #define IDirect3DRMMeshBuilder3_Optimize(p,a) (p)->lpVtbl->Optimize(p,a)
2974 #define IDirect3DRMMeshBuilder3_AddFacesIndexed(p,a,b,c,d) (p)->lpVtbl->AddFacesIndexed(p,a,b,c,d)
2975 #define IDirect3DRMMeshBuilder3_CreateSubMesh(p,a) (p)->lpVtbl->CreateSubMesh(p,a)
2976 #define IDirect3DRMMeshBuilder3_GetParentMesh(p,a,b) (p)->lpVtbl->GetParentMesh(p,a,b)
2977 #define IDirect3DRMMeshBuilder3_GetSubMeshes(p,a,b) (p)->lpVtbl->GetSubMeshes(p,a,b)
2978 #define IDirect3DRMMeshBuilder3_DeleteSubMesh(p,a) (p)->lpVtbl->DeleteSubMesh(p,a)
2979 #define IDirect3DRMMeshBuilder3_Enable(p,a) (p)->lpVtbl->Enable(p,a)
2980 #define IDirect3DRMMeshBuilder3_AddTriangles(p,a,b,c,d) (p)->lpVtbl->AddTriangles(p,a,b,c,d)
2981 #define IDirect3DRMMeshBuilder3_SetVertices(p,a,b,c) (p)->lpVtbl->SetVertices(p,a,b,c)
2982 #define IDirect3DRMMeshBuilder3_GetVertices(p,a,b,c) (p)->lpVtbl->GetVertices(p,a,b,c)
2983 #define IDirect3DRMMeshBuilder3_SetNormals(p,a,b,c) (p)->lpVtbl->SetNormals(p,a,b,c)
2984 #define IDirect3DRMMeshBuilder3_GetNormals(p,a,b,c) (p)->lpVtbl->GetNormals(p,a,b,c)
2985 #define IDirect3DRMMeshBuilder3_GetNormalCount(p) (p)->lpVtbl->GetNormalCount(p)
2987 /*** IUnknown methods ***/
2988 #define IDirect3DRMMeshBuilder3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2989 #define IDirect3DRMMeshBuilder3_AddRef(p) (p)->AddRef()
2990 #define IDirect3DRMMeshBuilder3_Release(p) (p)->Release()
2991 /*** IDirect3DRMObject methods ***/
2992 #define IDirect3DRMMeshBuilder3_Clone(p,a,b,c) (p)->Clone(a,b,c)
2993 #define IDirect3DRMMeshBuilder3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
2994 #define IDirect3DRMMeshBuilder3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
2995 #define IDirect3DRMMeshBuilder3_SetAppData(p,a) (p)->SetAppData(a)
2996 #define IDirect3DRMMeshBuilder3_GetAppData(p) (p)->GetAppData()
2997 #define IDirect3DRMMeshBuilder3_SetName(p,a) (p)->SetName(a)
2998 #define IDirect3DRMMeshBuilder3_GetName(p,a,b) (p)->GetName(a,b)
2999 #define IDirect3DRMMeshBuilder3_GetClassName(p,a,b) (p)->GetClassName(a,b)
3000 /*** IDirect3DRMMeshBuilder3 methods ***/
3001 #define IDirect3DRMMeshBuilder3_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
3002 #define IDirect3DRMMeshBuilder3_Save(p,a,b,c) (p)->Save(a,b,c)
3003 #define IDirect3DRMMeshBuilder3_Scale(p,a,b,c) (p)->Scale(a,b,c)
3004 #define IDirect3DRMMeshBuilder3_Translate(p,a,b,c) (p)->Translate(a)
3005 #define IDirect3DRMMeshBuilder3_SetColorSource(p,a) (p)->SetColorSource(a,b,c)
3006 #define IDirect3DRMMeshBuilder3_GetBox(p,a) (p)->GetBox(a)
3007 #define IDirect3DRMMeshBuilder3_GenerateNormals(p,a,b) (p)->GenerateNormals(a,b)
3008 #define IDirect3DRMMeshBuilder3_GetColorSource(p) (p)->GetColorSource()
3009 #define IDirect3DRMMeshBuilder3_AddMesh(p,a) (p)-->AddMesh(a)
3010 #define IDirect3DRMMeshBuilder3_AddMeshBuilder(p,a) (p)->AddMeshBuilder(a)
3011 #define IDirect3DRMMeshBuilder3_AddFrame(p,a) (p)->AddFrame(a)
3012 #define IDirect3DRMMeshBuilder3_AddFace(p,a) (p)->AddFace(a)
3013 #define IDirect3DRMMeshBuilder3_AddFaces(p,a,b,c,d,e,f) (p)->AddFaces(a,b,c,d,e,f)
3014 #define IDirect3DRMMeshBuilder3_ReserveSpace(p,a,b,c) (p)->ReserveSpace(a,b,c)
3015 #define IDirect3DRMMeshBuilder3_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
3016 #define IDirect3DRMMeshBuilder3_SetColor(p,a) (p)->SetColor(a)
3017 #define IDirect3DRMMeshBuilder3_SetTexture(p,a) (p)->SetTexture(a)
3018 #define IDirect3DRMMeshBuilder3_SetMateria(p,a) (p)->SetMateria(a)
3019 #define IDirect3DRMMeshBuilder3_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
3020 #define IDirect3DRMMeshBuilder3_SetQuality(p,a) (p)->SetQuality(a)
3021 #define IDirect3DRMMeshBuilder3_SetPerspective(p,a) (p)->SetPerspective(a)
3022 #define IDirect3DRMMeshBuilder3_SetVertex(p,a,b,c,d) (p)->SetVertex(a,b,c,d)
3023 #define IDirect3DRMMeshBuilder3_SetNormal(p,a,b,c,d) (p)->SetNormal(a,b,c,d)
3024 #define IDirect3DRMMeshBuilder3_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
3025 #define IDirect3DRMMeshBuilder3_SetVertexColor(p,a,b) (p)->SetVertexColor(a,b)
3026 #define IDirect3DRMMeshBuilder3_SetVertexColorRGB(p,a,b,c,d) (p)->SetVertexColorRGB(a,b,c,d)
3027 #define IDirect3DRMMeshBuilder3_GetFaces(p,a) (p)->GetFaces(a)
3028 #define IDirect3DRMMeshBuilder3_GetGeometry(p,a,b,c,d,e,f) (p)->GetGeometry(a,b,c,d,e,f)
3029 #define IDirect3DRMMeshBuilder3_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
3030 #define IDirect3DRMMeshBuilder3_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
3031 #define IDirect3DRMMeshBuilder3_AddNormal(p,a,b,c) (p)->AddNormal(a,b,c)
3032 #define IDirect3DRMMeshBuilder3_CreateFace(p,a) (p)->CreateFace(a)
3033 #define IDirect3DRMMeshBuilder3_GetQuality(p) (p)->GetQuality()
3034 #define IDirect3DRMMeshBuilder3_GetPerspective(p) (p)->GetPerspective()
3035 #define IDirect3DRMMeshBuilder3_GetFaceCount(p) (p)->GetFaceCount()
3036 #define IDirect3DRMMeshBuilder3_GetVertexCount(p) (p)->GetVertexCount()
3037 #define IDirect3DRMMeshBuilder3_GetVertexColor(p,a) (p)->GetVertexColor(a)
3038 #define IDirect3DRMMeshBuilder3_CreateMesh(p,a) (p)->CreateMesh(a)
3039 #define IDirect3DRMMeshBuilder3_GetFace(p,a,b) (p)->GetFace(a,b)
3040 #define IDirect3DRMMeshBuilder3_GetVertex(p,a,b) (p)->GetVertex(a,b)
3041 #define IDirect3DRMMeshBuilder3_GetNormal(p,a,b) (p)->GetNormal(a,b)
3042 #define IDirect3DRMMeshBuilder3_DeleteVertices(p,a,b) (p)->DeleteVertices(a,b)
3043 #define IDirect3DRMMeshBuilder3_DeleteNormals(p,a,b) (p)->DeleteNormals(a,b)
3044 #define IDirect3DRMMeshBuilder3_DeleteFace(p,a) (p)->DeleteFace(a)
3045 #define IDirect3DRMMeshBuilder3_Empty(p,a) (p)->Empty(a)
3046 #define IDirect3DRMMeshBuilder3_Optimize(p,a) (p)->Optimize(a)
3047 #define IDirect3DRMMeshBuilder3_AddFacesIndexed(p,a,b,c,d) (p)->AddFacesIndexed(a,b,c,d)
3048 #define IDirect3DRMMeshBuilder3_CreateSubMesh(p,a) (p)->CreateSubMesh(a)
3049 #define IDirect3DRMMeshBuilder3_GetParentMesh(p,a,b) (p)->GetParentMesh(a,b)
3050 #define IDirect3DRMMeshBuilder3_GetSubMeshes(p,a,b) (p)->GetSubMeshes(a,b)
3051 #define IDirect3DRMMeshBuilder3_DeleteSubMesh(p,a) (p)->DeleteSubMesh(a)
3052 #define IDirect3DRMMeshBuilder3_Enable(p,a) (p)->Enable(a)
3053 #define IDirect3DRMMeshBuilder3_AddTriangles(p,a,b,c,d) (p)->AddTriangles(a,b,c,d)
3054 #define IDirect3DRMMeshBuilder3_SetVertices(p,a,b,c) (p)->SetVertices(a,b,c)
3055 #define IDirect3DRMMeshBuilder3_GetVertices(p,a,b,c) (p)->GetVertices(a,b,c)
3056 #define IDirect3DRMMeshBuilder3_SetNormals(p,a,b,c) (p)->SetNormals(a,b,c)
3057 #define IDirect3DRMMeshBuilder3_GetNormals(p,a,b,c) (p)->GetNormals(a,b,c)
3058 #define IDirect3DRMMeshBuilder3_GetNormalCount(p) (p)->GetNormalCount()
3061 /*****************************************************************************
3062 * IDirect3DRMLight interface
3064 #define INTERFACE IDirect3DRMLight
3065 DECLARE_INTERFACE_(IDirect3DRMLight,IDirect3DRMObject)
3067 /*** IUnknown methods ***/
3068 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3069 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3070 STDMETHOD_(ULONG,Release)(THIS) PURE;
3071 /*** IDirect3DRMObject methods ***/
3072 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3073 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3074 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3075 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3076 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3077 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3078 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3079 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3080 /*** IDirect3DRMLight methods ***/
3081 STDMETHOD(SetType)(THIS_ D3DRMLIGHTTYPE) PURE;
3082 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
3083 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
3084 STDMETHOD(SetRange)(THIS_ D3DVALUE) PURE;
3085 STDMETHOD(SetUmbra)(THIS_ D3DVALUE) PURE;
3086 STDMETHOD(SetPenumbra)(THIS_ D3DVALUE) PURE;
3087 STDMETHOD(SetConstantAttenuation)(THIS_ D3DVALUE) PURE;
3088 STDMETHOD(SetLinearAttenuation)(THIS_ D3DVALUE) PURE;
3089 STDMETHOD(SetQuadraticAttenuation)(THIS_ D3DVALUE) PURE;
3090 STDMETHOD_(D3DVALUE, GetRange)(THIS) PURE;
3091 STDMETHOD_(D3DVALUE, GetUmbra)(THIS) PURE;
3092 STDMETHOD_(D3DVALUE, GetPenumbra)(THIS) PURE;
3093 STDMETHOD_(D3DVALUE, GetConstantAttenuation)(THIS) PURE;
3094 STDMETHOD_(D3DVALUE, GetLinearAttenuation)(THIS) PURE;
3095 STDMETHOD_(D3DVALUE, GetQuadraticAttenuation)(THIS) PURE;
3096 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
3097 STDMETHOD_(D3DRMLIGHTTYPE, GetType)(THIS) PURE;
3098 STDMETHOD(SetEnableFrame)(THIS_ LPDIRECT3DRMFRAME) PURE;
3099 STDMETHOD(GetEnableFrame)(THIS_ LPDIRECT3DRMFRAME*) PURE;
3103 #if !defined(__cplusplus) || defined(CINTERFACE)
3104 /*** IUnknown methods ***/
3105 #define IDirect3DRMLight_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3106 #define IDirect3DRMLight_AddRef(p) (p)->lpVtbl->AddRef(p)
3107 #define IDirect3DRMLight_Release(p) (p)->lpVtbl->Release(p)
3108 /*** IDirect3DRMObject methods ***/
3109 #define IDirect3DRMLight_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3110 #define IDirect3DRMLight_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3111 #define IDirect3DRMLight_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3112 #define IDirect3DRMLight_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3113 #define IDirect3DRMLight_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3114 #define IDirect3DRMLight_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3115 #define IDirect3DRMLight_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3116 #define IDirect3DRMLight_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3117 /*** IDirect3DRMLight methods ***/
3118 #define IDirect3DRMLight_SetType(p,a) (p)->lpVtbl->SetType(p,a)
3119 #define IDirect3DRMLight_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
3120 #define IDirect3DRMLight_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
3121 #define IDirect3DRMLight_SetRange(p,a) (p)->lpVtbl->SetRange(p,a)
3122 #define IDirect3DRMLight_SetUmbra(p,a) (p)->lpVtbl->SetUmbra(p,a)
3123 #define IDirect3DRMLight_SetPenumbra(p,a) (p)->lpVtbl->SetPenumbra(p,a)
3124 #define IDirect3DRMLight_SetConstantAttenuation(p,a) (p)->lpVtbl->SetConstantAttenuation(p,a)
3125 #define IDirect3DRMLight_SetLinearAttenuation(p,a) (p)->lpVtbl->SetLinearAttenuation(p,a)
3126 #define IDirect3DRMLight_SetQuadraticAttenuation(p,a) (p)->lpVtbl->SetQuadraticAttenuation(p,a)
3127 #define IDirect3DRMLight_GetRange(p) (p)->lpVtbl->GetRange(p)
3128 #define IDirect3DRMLight_GetUmbra(p) (p)->lpVtbl->GetUmbra(p)
3129 #define IDirect3DRMLight_GetPenumbra(p) (p)->lpVtbl->GetPenumbra(p)
3130 #define IDirect3DRMLight_GetConstantAttenuation(p) (p)->lpVtbl->GetConstantAttenuation(p)
3131 #define IDirect3DRMLight_GetLinearAttenuation(p) (p)->lpVtbl->GetLinearAttenuation(p)
3132 #define IDirect3DRMLight_GetQuadraticAttenuation(p) (p)->lpVtbl->GetQuadraticAttenuation(p)
3133 #define IDirect3DRMLight_GetColor(p) (p)->lpVtbl->GetColor(p)
3134 #define IDirect3DRMLight_GetType(p) (p)->lpVtbl->GetType(p)
3135 #define IDirect3DRMLight_SetEnableFrame(p,a) (p)->lpVtbl->SetEnableFrame(p,a)
3136 #define IDirect3DRMLight_GetEnableFrame(p,a) (p)->lpVtbl->GetEnableFrame(p,a)
3138 /*** IUnknown methods ***/
3139 #define IDirect3DRMLight_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3140 #define IDirect3DRMLight_AddRef(p) (p)->AddRef()
3141 #define IDirect3DRMLight_Release(p) (p)->Release()
3142 /*** IDirect3DRMObject methods ***/
3143 #define IDirect3DRMLight_Clone(p,a,b,c) (p)->Clone(a,b,c)
3144 #define IDirect3DRMLight_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3145 #define IDirect3DRMLight_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3146 #define IDirect3DRMLight_SetAppData(p,a) (p)->SetAppData(a)
3147 #define IDirect3DRMLight_GetAppData(p) (p)->GetAppData()
3148 #define IDirect3DRMLight_SetName(p,a) (p)->SetName(a)
3149 #define IDirect3DRMLight_GetName(p,a,b) (p)->GetName(a,b)
3150 #define IDirect3DRMLight_GetClassName(p,a,b) (p)->GetClassName(a,b)
3151 /*** IDirect3DRMLight methods ***/
3152 #define IDirect3DRMLight_SetType(p,a) (p)->SetType(a)
3153 #define IDirect3DRMLight_SetColor(p,a) (p)->SetColor(a)
3154 #define IDirect3DRMLight_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
3155 #define IDirect3DRMLight_SetRange(p,a) (p)->SetRange(a)
3156 #define IDirect3DRMLight_SetUmbra(p,a) (p)->SetUmbra(a)
3157 #define IDirect3DRMLight_SetPenumbra(p,a) (p)->SetPenumbra(a)
3158 #define IDirect3DRMLight_SetConstantAttenuation(p,a) (p)->SetConstantAttenuation(a)
3159 #define IDirect3DRMLight_SetLinearAttenuation(p,a) (p)->SetLinearAttenuation(a)
3160 #define IDirect3DRMLight_SetQuadraticAttenuation(p,a) (p)->SetQuadraticAttenuation(a)
3161 #define IDirect3DRMLight_GetRange(p) (p)->GetRange()
3162 #define IDirect3DRMLight_GetUmbra(p) (p)->GetUmbra()
3163 #define IDirect3DRMLight_GetPenumbra(p) (p)->GetPenumbra()
3164 #define IDirect3DRMLight_GetConstantAttenuation(p) (p)->GetConstantAttenuation()
3165 #define IDirect3DRMLight_GetLinearAttenuation(p) (p)->GetLinearAttenuation()
3166 #define IDirect3DRMLight_GetQuadraticAttenuation(p) (p)->GetQuadraticAttenuation()
3167 #define IDirect3DRMLight_GetColor(p) (p)->GetColor()
3168 #define IDirect3DRMLight_GetType(p) (p)->GetType()
3169 #define IDirect3DRMLight_SetEnableFrame(p,a) (p)->SetEnableFrame(a)
3170 #define IDirect3DRMLight_GetEnableFrame(p,a) (p)->GetEnableFrame(a)
3173 /*****************************************************************************
3174 * IDirect3DRMTexture interface
3176 #define INTERFACE IDirect3DRMTexture
3177 DECLARE_INTERFACE_(IDirect3DRMTexture, IDirect3DRMVisual)
3179 /*** IUnknown methods ***/
3180 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3181 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3182 STDMETHOD_(ULONG,Release)(THIS) PURE;
3183 /*** IDirect3DRMObject methods ***/
3184 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3185 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3186 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3187 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3188 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3189 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3190 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3191 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3192 /*** IDirect3DRMTexture methods ***/
3193 STDMETHOD(InitFromFile)(THIS_ const char *filename) PURE;
3194 STDMETHOD(InitFromSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDS) PURE;
3195 STDMETHOD(InitFromResource)(THIS_ HRSRC) PURE;
3196 STDMETHOD(Changed)(THIS_ BOOL pixels, BOOL palette) PURE;
3197 STDMETHOD(SetColors)(THIS_ DWORD) PURE;
3198 STDMETHOD(SetShades)(THIS_ DWORD) PURE;
3199 STDMETHOD(SetDecalSize)(THIS_ D3DVALUE width, D3DVALUE height) PURE;
3200 STDMETHOD(SetDecalOrigin)(THIS_ LONG x, LONG y) PURE;
3201 STDMETHOD(SetDecalScale)(THIS_ DWORD) PURE;
3202 STDMETHOD(SetDecalTransparency)(THIS_ BOOL) PURE;
3203 STDMETHOD(SetDecalTransparentColor)(THIS_ D3DCOLOR) PURE;
3204 STDMETHOD(GetDecalSize)(THIS_ D3DVALUE *width_return, D3DVALUE *height_return) PURE;
3205 STDMETHOD(GetDecalOrigin)(THIS_ LONG *x_return, LONG *y_return) PURE;
3206 STDMETHOD_(D3DRMIMAGE *, GetImage)(THIS) PURE;
3207 STDMETHOD_(DWORD, GetShades)(THIS) PURE;
3208 STDMETHOD_(DWORD, GetColors)(THIS) PURE;
3209 STDMETHOD_(DWORD, GetDecalScale)(THIS) PURE;
3210 STDMETHOD_(BOOL, GetDecalTransparency)(THIS) PURE;
3211 STDMETHOD_(D3DCOLOR, GetDecalTransparentColor)(THIS) PURE;
3215 #if !defined(__cplusplus) || defined(CINTERFACE)
3216 /*** IUnknown methods ***/
3217 #define IDirect3DRMTexture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3218 #define IDirect3DRMTexture_AddRef(p) (p)->lpVtbl->AddRef(p)
3219 #define IDirect3DRMTexture_Release(p) (p)->lpVtbl->Release(p)
3220 /*** IDirect3DRMObject methods ***/
3221 #define IDirect3DRMTexture_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3222 #define IDirect3DRMTexture_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3223 #define IDirect3DRMTexture_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3224 #define IDirect3DRMTexture_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3225 #define IDirect3DRMTexture_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3226 #define IDirect3DRMTexture_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3227 #define IDirect3DRMTexture_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3228 #define IDirect3DRMTexture_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3229 /*** IDirect3DRMTexture methods ***/
3230 #define IDirect3DRMTexture_InitFromFile(p,a) (p)->lpVtbl->InitFromFile(p,a)
3231 #define IDirect3DRMTexture_InitFromSurface(p,a) (p)->lpVtbl->InitFromSurface(p,a)
3232 #define IDirect3DRMTexture_InitFromResource(p,a) (p)->lpVtbl->InitFromResource(p,a)
3233 #define IDirect3DRMTexture_Changed(p,a,b) (p)->lpVtbl->Changed(p,a,b)
3234 #define IDirect3DRMTexture_SetColors(p,a) (p)->lpVtbl->SetColors(p,a)
3235 #define IDirect3DRMTexture_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
3236 #define IDirect3DRMTexture_SetDecalSize(p,a,b) (p)->lpVtbl->SetDecalSize(p,a,b)
3237 #define IDirect3DRMTexture_SetDecalOrigin(p,a,b) (p)->lpVtbl->SetDecalOrigin(p,a,b)
3238 #define IDirect3DRMTexture_SetDecalScale(p,a) (p)->lpVtbl->SetDecalScale(p,a)
3239 #define IDirect3DRMTexture_SetDecalTransparency(p,a) (p)->lpVtbl->SetDecalTransparency(p,a)
3240 #define IDirect3DRMTexture_SetDecalTransparencyColor(p,a) (p)->lpVtbl->SetDecalTransparentColor(p,a)
3241 #define IDirect3DRMTexture_GetDecalSize(p,a,b) (p)->lpVtbl->GetDecalSize(p,a,b)
3242 #define IDirect3DRMTexture_GetDecalOrigin(p,a,b) (p)->lpVtbl->GetDecalOrigin(p,a,b)
3243 #define IDirect3DRMTexture_GetImage(p) (p)->lpVtbl->GetImage(p)
3244 #define IDirect3DRMTexture_GetShades(p) (p)->lpVtbl->GetShades(p)
3245 #define IDirect3DRMTexture_GetColors(p) (p)->lpVtbl->GetColors(p)
3246 #define IDirect3DRMTexture_GetDecalScale(p) (p)->lpVtbl->GetDecalScale(p)
3247 #define IDirect3DRMTexture_GetDecalTransparency(p) (p)->lpVtbl->GetDecalTransparency(p)
3248 #define IDirect3DRMTexture_GetDecalTransparencyColor(p) (p)->lpVtbl->GetDecalTransparencyColor(p)
3250 /*** IUnknown methods ***/
3251 #define IDirect3DRMTexture_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3252 #define IDirect3DRMTexture_AddRef(p) (p)->AddRef()
3253 #define IDirect3DRMTexture_Release(p) (p)->Release()
3254 /*** IDirect3DRMObject methods ***/
3255 #define IDirect3DRMTexture_Clone(p,a,b,c) (p)->Clone(a,b,c)
3256 #define IDirect3DRMTexture_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3257 #define IDirect3DRMTexture_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3258 #define IDirect3DRMTexture_SetAppData(p,a) (p)->SetAppData(a)
3259 #define IDirect3DRMTexture_GetAppData(p) (p)->GetAppData()
3260 #define IDirect3DRMTexture_SetName(p,a) (p)->SetName(a)
3261 #define IDirect3DRMTexture_GetName(p,a,b) (p)->GetName(a,b)
3262 #define IDirect3DRMTexture_GetClassName(p,a,b) (p)->GetClassName(a,b)
3263 /*** IDirect3DRMTexture methods ***/
3264 #define IDirect3DRMTexture_InitFromFile(p,a) (p)->InitFromFile(a)
3265 #define IDirect3DRMTexture_InitFromSurface(p,a) (p)->InitFromSurface(a)
3266 #define IDirect3DRMTexture_InitFromResource(p,a) (p)->InitFromResource(a)
3267 #define IDirect3DRMTexture_Changed(p,a,b) (p)->Changed(a,b)
3268 #define IDirect3DRMTexture_SetColors(p,a) (p)->SetColors(a)
3269 #define IDirect3DRMTexture_SetShades(p,a) (p)->SetShades(a)
3270 #define IDirect3DRMTexture_SetDecalSize(p,a,b) (p)->SetDecalSize(a,b)
3271 #define IDirect3DRMTexture_SetDecalOrigin(p,a,b) (p)->SetDecalOrigin(a,b)
3272 #define IDirect3DRMTexture_SetDecalScale(p,a) (p)->SetDecalScale(a)
3273 #define IDirect3DRMTexture_SetDecalTransparency(p,a) (p)->SetDecalTransparency(a)
3274 #define IDirect3DRMTexture_SetDecalTransparencyColor(p,a) (p)->SetDecalTransparentColor(a)
3275 #define IDirect3DRMTexture_GetDecalSize(p,a,b) (p)->GetDecalSize(a,b)
3276 #define IDirect3DRMTexture_GetDecalOrigin(p,a,b) (p)->GetDecalOrigin(a,b)
3277 #define IDirect3DRMTexture_GetImage(p) (p)->GetImage()
3278 #define IDirect3DRMTexture_GetShades(p) (p)->GetShades()
3279 #define IDirect3DRMTexture_GetColors(p) (p)->GetColors()
3280 #define IDirect3DRMTexture_GetDecalScale(p) (p)->GetDecalScale()
3281 #define IDirect3DRMTexture_GetDecalTransparency(p) (p)->GetDecalTransparency()
3282 #define IDirect3DRMTexture_GetDecalTransparencyColor(p) (p)->GetDecalTransparencyColor()
3285 /*****************************************************************************
3286 * IDirect3DRMTexture2 interface
3288 #define INTERFACE IDirect3DRMTexture2
3289 DECLARE_INTERFACE_(IDirect3DRMTexture2, IDirect3DRMTexture)
3291 /*** IUnknown methods ***/
3292 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3293 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3294 STDMETHOD_(ULONG,Release)(THIS) PURE;
3295 /*** IDirect3DRMObject methods ***/
3296 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3297 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3298 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3299 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3300 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3301 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3302 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3303 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3304 /*** IDirect3DRMTexture methods ***/
3305 STDMETHOD(InitFromFile)(THIS_ const char *filename) PURE;
3306 STDMETHOD(InitFromSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDS) PURE;
3307 STDMETHOD(InitFromResource)(THIS_ HRSRC) PURE;
3308 STDMETHOD(Changed)(THIS_ BOOL pixels, BOOL palette) PURE;
3309 STDMETHOD(SetColors)(THIS_ DWORD) PURE;
3310 STDMETHOD(SetShades)(THIS_ DWORD) PURE;
3311 STDMETHOD(SetDecalSize)(THIS_ D3DVALUE width, D3DVALUE height) PURE;
3312 STDMETHOD(SetDecalOrigin)(THIS_ LONG x, LONG y) PURE;
3313 STDMETHOD(SetDecalScale)(THIS_ DWORD) PURE;
3314 STDMETHOD(SetDecalTransparency)(THIS_ BOOL) PURE;
3315 STDMETHOD(SetDecalTransparentColor)(THIS_ D3DCOLOR) PURE;
3316 STDMETHOD(GetDecalSize)(THIS_ D3DVALUE *width_return, D3DVALUE *height_return) PURE;
3317 STDMETHOD(GetDecalOrigin)(THIS_ LONG *x_return, LONG *y_return) PURE;
3318 STDMETHOD_(D3DRMIMAGE *, GetImage)(THIS) PURE;
3319 STDMETHOD_(DWORD, GetShades)(THIS) PURE;
3320 STDMETHOD_(DWORD, GetColors)(THIS) PURE;
3321 STDMETHOD_(DWORD, GetDecalScale)(THIS) PURE;
3322 STDMETHOD_(BOOL, GetDecalTransparency)(THIS) PURE;
3323 STDMETHOD_(D3DCOLOR, GetDecalTransparentColor)(THIS) PURE;
3324 /*** IDirect3DRMTexture2 methods ***/
3325 STDMETHOD(InitFromImage)(THIS_ LPD3DRMIMAGE) PURE;
3326 STDMETHOD(InitFromResource2)(THIS_ HMODULE hModule, LPCSTR /* LPCTSTR */ strName, LPCSTR /* LPCTSTR */ strType) PURE;
3327 STDMETHOD(GenerateMIPMap)(THIS_ DWORD) PURE;
3331 #if !defined(__cplusplus) || defined(CINTERFACE)
3332 /*** IUnknown methods ***/
3333 #define IDirect3DRMTexture2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3334 #define IDirect3DRMTexture2_AddRef(p) (p)->lpVtbl->AddRef(p)
3335 #define IDirect3DRMTexture2_Release(p) (p)->lpVtbl->Release(p)
3336 /*** IDirect3DRMObject methods ***/
3337 #define IDirect3DRMTexture2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3338 #define IDirect3DRMTexture2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3339 #define IDirect3DRMTexture2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3340 #define IDirect3DRMTexture2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3341 #define IDirect3DRMTexture2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3342 #define IDirect3DRMTexture2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3343 #define IDirect3DRMTexture2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3344 #define IDirect3DRMTexture2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3345 /*** IDirect3DRMTexture methods ***/
3346 #define IDirect3DRMTexture2_InitFromFile(p,a) (p)->lpVtbl->InitFromFile(p,a)
3347 #define IDirect3DRMTexture2_InitFromSurface(p,a) (p)->lpVtbl->InitFromSurface(p,a)
3348 #define IDirect3DRMTexture2_InitFromResource(p,a) (p)->lpVtbl->InitFromResource(p,a)
3349 #define IDirect3DRMTexture2_Changed(p,a,b) (p)->lpVtbl->Changed(p,a,b)
3350 #define IDirect3DRMTexture2_SetColors(p,a) (p)->lpVtbl->SetColors(p,a)
3351 #define IDirect3DRMTexture2_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
3352 #define IDirect3DRMTexture2_SetDecalSize(p,a,b) (p)->lpVtbl->SetDecalSize(p,a,b)
3353 #define IDirect3DRMTexture2_SetDecalOrigin(p,a,b) (p)->lpVtbl->SetDecalOrigin(p,a,b)
3354 #define IDirect3DRMTexture2_SetDecalScale(p,a) (p)->lpVtbl->SetDecalScale(p,a)
3355 #define IDirect3DRMTexture2_SetDecalTransparency(p,a) (p)->lpVtbl->SetDecalTransparency(p,a)
3356 #define IDirect3DRMTexture2_SetDecalTransparencyColor(p,a) (p)->lpVtbl->SetDecalTransparentColor(p,a)
3357 #define IDirect3DRMTexture2_GetDecalSize(p,a,b) (p)->lpVtbl->GetDecalSize(p,a,b)
3358 #define IDirect3DRMTexture2_GetDecalOrigin(p,a,b) (p)->lpVtbl->GetDecalOrigin(p,a,b)
3359 #define IDirect3DRMTexture2_GetImage(p) (p)->lpVtbl->GetImage(p)
3360 #define IDirect3DRMTexture2_GetShades(p) (p)->lpVtbl->GetShades(p)
3361 #define IDirect3DRMTexture2_GetColors(p) (p)->lpVtbl->GetColors(p)
3362 #define IDirect3DRMTexture2_GetDecalScale(p) (p)->lpVtbl->GetDecalScale(p)
3363 #define IDirect3DRMTexture2_GetDecalTransparency(p) (p)->lpVtbl->GetDecalTransparency(p)
3364 #define IDirect3DRMTexture2_GetDecalTransparencyColor(p) (p)->lpVtbl->GetDecalTransparencyColor(p)
3365 /*** IDirect3DRMTexture2 methods ***/
3366 #define IDirect3DRMTexture2_InitFromImage(p,a) (p)->lpVtbl->InitFromImage(p,a)
3367 #define IDirect3DRMTexture2_InitFromResource2(p,a,b,c) (p)->lpVtbl->InitFromResource2(p,a,b,c)
3368 #define IDirect3DRMTexture2_GenerateMIPMap(p,a) (p)->lpVtbl->GenerateMIPMap(p,a)
3370 /*** IUnknown methods ***/
3371 #define IDirect3DRMTexture2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3372 #define IDirect3DRMTexture2_AddRef(p) (p)->AddRef()
3373 #define IDirect3DRMTexture2_Release(p) (p)->Release()
3374 /*** IDirect3DRMObject methods ***/
3375 #define IDirect3DRMTexture2_Clone(p,a,b,c) (p)->Clone(a,b,c)
3376 #define IDirect3DRMTexture2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3377 #define IDirect3DRMTexture2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3378 #define IDirect3DRMTexture2_SetAppData(p,a) (p)->SetAppData(a)
3379 #define IDirect3DRMTexture2_GetAppData(p) (p)->GetAppData()
3380 #define IDirect3DRMTexture2_SetName(p,a) (p)->SetName(a)
3381 #define IDirect3DRMTexture2_GetName(p,a,b) (p)->GetName(a,b)
3382 #define IDirect3DRMTexture2_GetClassName(p,a,b) (p)->GetClassName(a,b)
3383 /*** IDirect3DRMTexture methods ***/
3384 #define IDirect3DRMTexture2_InitFromFile(p,a) (p)->InitFromFile(a)
3385 #define IDirect3DRMTexture2_InitFromSurface(p,a) (p)->InitFromSurface(a)
3386 #define IDirect3DRMTexture2_InitFromResource(p,a) (p)->InitFromResource(a)
3387 #define IDirect3DRMTexture2_Changed(p,a,b) (p)->Changed(a,b)
3388 #define IDirect3DRMTexture2_SetColors(p,a) (p)->SetColors(a)
3389 #define IDirect3DRMTexture2_SetShades(p,a) (p)->SetShades(a)
3390 #define IDirect3DRMTexture2_SetDecalSize(p,a,b) (p)->SetDecalSize(a,b)
3391 #define IDirect3DRMTexture2_SetDecalOrigin(p,a,b) (p)->SetDecalOrigin(a,b)
3392 #define IDirect3DRMTexture2_SetDecalScale(p,a) (p)->SetDecalScale(a)
3393 #define IDirect3DRMTexture2_SetDecalTransparency(p,a) (p)->SetDecalTransparency(a)
3394 #define IDirect3DRMTexture2_SetDecalTransparencyColor(p,a) (p)->SetDecalTransparentColor(a)
3395 #define IDirect3DRMTexture2_GetDecalSize(p,a,b) (p)->GetDecalSize(a,b)
3396 #define IDirect3DRMTexture2_GetDecalOrigin(p,a,b) (p)->GetDecalOrigin(a,b)
3397 #define IDirect3DRMTexture2_GetImage(p) (p)->GetImage()
3398 #define IDirect3DRMTexture2_GetShades(p) (p)->GetShades()
3399 #define IDirect3DRMTexture2_GetColors(p) (p)->GetColors()
3400 #define IDirect3DRMTexture2_GetDecalScale(p) (p)->GetDecalScale()
3401 #define IDirect3DRMTexture2_GetDecalTransparency(p) (p)->GetDecalTransparency()
3402 #define IDirect3DRMTexture2_GetDecalTransparencyColor(p) (p)->GetDecalTransparencyColor()
3403 /*** IDirect3DRMTexture2 methods ***/
3404 #define IDirect3DRMTexture2_InitFromImage(p,a) (p)->InitFromImage(a)
3405 #define IDirect3DRMTexture2_InitFromResource2(p,a,b,c) (p)->InitFromResource2(a,b,c)
3406 #define IDirect3DRMTexture2_GenerateMIPMap(p,a) (p)->GenerateMIPMap(a)
3409 /*****************************************************************************
3410 * IDirect3DRMTexture3 interface
3412 #define INTERFACE IDirect3DRMTexture3
3413 DECLARE_INTERFACE_(IDirect3DRMTexture3, IDirect3DRMVisual)
3415 /*** IUnknown methods ***/
3416 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3417 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3418 STDMETHOD_(ULONG,Release)(THIS) PURE;
3419 /*** IDirect3DRMObject methods ***/
3420 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3421 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3422 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3423 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3424 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3425 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3426 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3427 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3428 /*** IDirect3DRMTexture3 methods ***/
3429 STDMETHOD(InitFromFile)(THIS_ const char *filename) PURE;
3430 STDMETHOD(InitFromSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDS) PURE;
3431 STDMETHOD(InitFromResource)(THIS_ HRSRC) PURE;
3432 STDMETHOD(Changed)(THIS_ DWORD dwFlags, DWORD dwcRects, LPRECT pRects) PURE;
3433 STDMETHOD(SetColors)(THIS_ DWORD) PURE;
3434 STDMETHOD(SetShades)(THIS_ DWORD) PURE;
3435 STDMETHOD(SetDecalSize)(THIS_ D3DVALUE width, D3DVALUE height) PURE;
3436 STDMETHOD(SetDecalOrigin)(THIS_ LONG x, LONG y) PURE;
3437 STDMETHOD(SetDecalScale)(THIS_ DWORD) PURE;
3438 STDMETHOD(SetDecalTransparency)(THIS_ BOOL) PURE;
3439 STDMETHOD(SetDecalTransparentColor)(THIS_ D3DCOLOR) PURE;
3440 STDMETHOD(GetDecalSize)(THIS_ D3DVALUE *width_return, D3DVALUE *height_return) PURE;
3441 STDMETHOD(GetDecalOrigin)(THIS_ LONG *x_return, LONG *y_return) PURE;
3442 STDMETHOD_(D3DRMIMAGE *, GetImage)(THIS) PURE;
3443 STDMETHOD_(DWORD, GetShades)(THIS) PURE;
3444 STDMETHOD_(DWORD, GetColors)(THIS) PURE;
3445 STDMETHOD_(DWORD, GetDecalScale)(THIS) PURE;
3446 STDMETHOD_(BOOL, GetDecalTransparency)(THIS) PURE;
3447 STDMETHOD_(D3DCOLOR, GetDecalTransparentColor)(THIS) PURE;
3448 STDMETHOD(InitFromImage)(THIS_ LPD3DRMIMAGE) PURE;
3449 STDMETHOD(InitFromResource2)(THIS_ HMODULE hModule, LPCSTR /* LPCTSTR */ strName, LPCSTR /* LPCTSTR */ strType) PURE;
3450 STDMETHOD(GenerateMIPMap)(THIS_ DWORD) PURE;
3451 STDMETHOD(GetSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE* lplpDDS) PURE;
3452 STDMETHOD(SetCacheOptions)(THIS_ LONG lImportance, DWORD dwFlags) PURE;
3453 STDMETHOD(GetCacheOptions)(THIS_ LPLONG lplImportance, LPDWORD lpdwFlags) PURE;
3454 STDMETHOD(SetDownsampleCallback)(THIS_ D3DRMDOWNSAMPLECALLBACK pCallback, LPVOID pArg) PURE;
3455 STDMETHOD(SetValidationCallback)(THIS_ D3DRMVALIDATIONCALLBACK pCallback, LPVOID pArg) PURE;
3459 #if !defined(__cplusplus) || defined(CINTERFACE)
3460 /*** IUnknown methods ***/
3461 #define IDirect3DRMTexture3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3462 #define IDirect3DRMTexture3_AddRef(p) (p)->lpVtbl->AddRef(p)
3463 #define IDirect3DRMTexture3_Release(p) (p)->lpVtbl->Release(p)
3464 /*** IDirect3DRMObject methods ***/
3465 #define IDirect3DRMTexture3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3466 #define IDirect3DRMTexture3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3467 #define IDirect3DRMTexture3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3468 #define IDirect3DRMTexture3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3469 #define IDirect3DRMTexture3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3470 #define IDirect3DRMTexture3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3471 #define IDirect3DRMTexture3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3472 #define IDirect3DRMTexture3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3473 /*** IDirect3DRMTexture3 methods ***/
3474 #define IDirect3DRMTexture3_InitFromFile(p,a) (p)->lpVtbl->InitFromFile(p,a)
3475 #define IDirect3DRMTexture3_InitFromSurface(p,a) (p)->lpVtbl->InitFromSurface(p,a)
3476 #define IDirect3DRMTexture3_InitFromResource(p,a) (p)->lpVtbl->InitFromResource(p,a)
3477 #define IDirect3DRMTexture3_Changed(p,a,b,c) (p)->lpVtbl->Changed(p,a,b,c)
3478 #define IDirect3DRMTexture3_SetColors(p,a) (p)->lpVtbl->SetColors(p,a)
3479 #define IDirect3DRMTexture3_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
3480 #define IDirect3DRMTexture3_SetDecalSize(p,a,b) (p)->lpVtbl->SetDecalSize(p,a,b)
3481 #define IDirect3DRMTexture3_SetDecalOrigin(p,a,b) (p)->lpVtbl->SetDecalOrigin(p,a,b)
3482 #define IDirect3DRMTexture3_SetDecalScale(p,a) (p)->lpVtbl->SetDecalScale(p,a)
3483 #define IDirect3DRMTexture3_SetDecalTransparency(p,a) (p)->lpVtbl->SetDecalTransparency(p,a)
3484 #define IDirect3DRMTexture3_SetDecalTransparencyColor(p,a) (p)->lpVtbl->SetDecalTransparentColor(p,a)
3485 #define IDirect3DRMTexture3_GetDecalSize(p,a,b) (p)->lpVtbl->GetDecalSize(p,a,b)
3486 #define IDirect3DRMTexture3_GetDecalOrigin(p,a,b) (p)->lpVtbl->GetDecalOrigin(p,a,b)
3487 #define IDirect3DRMTexture3_GetImage(p) (p)->lpVtbl->GetImage(p)
3488 #define IDirect3DRMTexture3_GetShades(p) (p)->lpVtbl->GetShades(p)
3489 #define IDirect3DRMTexture3_GetColors(p) (p)->lpVtbl->GetColors(p)
3490 #define IDirect3DRMTexture3_GetDecalScale(p) (p)->lpVtbl->GetDecalScale(p)
3491 #define IDirect3DRMTexture3_GetDecalTransparency(p) (p)->lpVtbl->GetDecalTransparency(p)
3492 #define IDirect3DRMTexture3_GetDecalTransparencyColor(p) (p)->lpVtbl->GetDecalTransparencyColor(p)
3493 #define IDirect3DRMTexture3_InitFromImage(p,a) (p)->lpVtbl->InitFromImage(p,a)
3494 #define IDirect3DRMTexture3_InitFromResource2(p,a,b,c) (p)->lpVtbl->InitFromResource2(p,a,b,c)
3495 #define IDirect3DRMTexture3_GenerateMIPMap(p,a) (p)->lpVtbl->GenerateMIPMap(p,a)
3496 #define IDirect3DRMTexture3_GetSurface(p,a,b) (p)->lpVtbl->GetSurface(p,a,b)
3497 #define IDirect3DRMTexture3_SetCacheOptions(p,a,b) (p)->lpVtbl->SetCacheOptions(p,a,b)
3498 #define IDirect3DRMTexture3_GetCacheOptions(p,a,b) (p)->lpVtbl->GetCacheOptions(p,a,b)
3499 #define IDirect3DRMTexture3_SetDownsampleCallback(p,a,b) (p)->lpVtbl->SetDownsampleCallback(p,a,b)
3500 #define IDirect3DRMTexture3_SetValidationCallback(p,a,b) (p)->lpVtbl->SetValidationCallback(p,a,b)
3502 /*** IUnknown methods ***/
3503 #define IDirect3DRMTexture3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3504 #define IDirect3DRMTexture3_AddRef(p) (p)->AddRef()
3505 #define IDirect3DRMTexture3_Release(p) (p)->Release()
3506 /*** IDirect3DRMObject methods ***/
3507 #define IDirect3DRMTexture3_Clone(p,a,b,c) (p)->Clone(a,b,c)
3508 #define IDirect3DRMTexture3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3509 #define IDirect3DRMTexture3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3510 #define IDirect3DRMTexture3_SetAppData(p,a) (p)->SetAppData(a)
3511 #define IDirect3DRMTexture3_GetAppData(p) (p)->GetAppData()
3512 #define IDirect3DRMTexture3_SetName(p,a) (p)->SetName(a)
3513 #define IDirect3DRMTexture3_GetName(p,a,b) (p)->GetName(a,b)
3514 #define IDirect3DRMTexture3_GetClassName(p,a,b) (p)->GetClassName(a,b)
3515 /*** IDirect3DRMTexture3 methods ***/
3516 #define IDirect3DRMTexture3_InitFromFile(p,a) (p)->InitFromFile(a)
3517 #define IDirect3DRMTexture3_InitFromSurface(p,a) (p)->InitFromSurface(a)
3518 #define IDirect3DRMTexture3_InitFromResource(p,a) (p)->InitFromResource(a)
3519 #define IDirect3DRMTexture3_Changed(p,a,b,c) (p)->Changed(a,b,c)
3520 #define IDirect3DRMTexture3_SetColors(p,a) (p)->SetColors(a)
3521 #define IDirect3DRMTexture3_SetShades(p,a) (p)->SetShades(a)
3522 #define IDirect3DRMTexture3_SetDecalSize(p,a,b) (p)->SetDecalSize(a,b)
3523 #define IDirect3DRMTexture3_SetDecalOrigin(p,a,b) (p)->SetDecalOrigin(a,b)
3524 #define IDirect3DRMTexture3_SetDecalScale(p,a) (p)->SetDecalScale(a)
3525 #define IDirect3DRMTexture3_SetDecalTransparency(p,a) (p)->SetDecalTransparency(a)
3526 #define IDirect3DRMTexture3_SetDecalTransparencyColor(p,a) (p)->SetDecalTransparentColor(a)
3527 #define IDirect3DRMTexture3_GetDecalSize(p,a,b) (p)->GetDecalSize(a,b)
3528 #define IDirect3DRMTexture3_GetDecalOrigin(p,a,b) (p)->GetDecalOrigin(a,b)
3529 #define IDirect3DRMTexture3_GetImage(p) (p)->GetImage()
3530 #define IDirect3DRMTexture3_GetShades(p) (p)->GetShades()
3531 #define IDirect3DRMTexture3_GetColors(p) (p)->GetColors()
3532 #define IDirect3DRMTexture3_GetDecalScale(p) (p)->GetDecalScale()
3533 #define IDirect3DRMTexture3_GetDecalTransparency(p) (p)->GetDecalTransparency()
3534 #define IDirect3DRMTexture3_GetDecalTransparencyColor(p) (p)->GetDecalTransparencyColor()
3535 #define IDirect3DRMTexture3_InitFromImage(p,a) (p)->InitFromImage(a)
3536 #define IDirect3DRMTexture3_InitFromResource2(p,a,b,c) (p)->InitFromResource2(a,b,c)
3537 #define IDirect3DRMTexture3_GenerateMIPMap(p,a) (p)->GenerateMIPMap(a)
3538 #define IDirect3DRMTexture3_GetSurface(p,a,b) (p)->GetSurface(a,b)
3539 #define IDirect3DRMTexture3_SetCacheOptions(p,a,b) (p)->SetCacheOptions(a,b)
3540 #define IDirect3DRMTexture3_GetCacheOptions(p,a,b) (p)->GetCacheOptions(a,b)
3541 #define IDirect3DRMTexture3_SetDownsampleCallback(p,a,b) (p)->SetDownsampleCallback(a,b)
3542 #define IDirect3DRMTexture3_SetValidationCallback(p,a,b) (p)->SetValidationCallback(a,b)
3545 /*****************************************************************************
3546 * IDirect3DRMWrap interface
3548 #define INTERFACE IDirect3DRMWrap
3549 DECLARE_INTERFACE_(IDirect3DRMWrap, IDirect3DRMObject)
3551 /*** IUnknown methods ***/
3552 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3553 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3554 STDMETHOD_(ULONG,Release)(THIS) PURE;
3555 /*** IDirect3DRMObject methods ***/
3556 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3557 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3558 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3559 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3560 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3561 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3562 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3563 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3564 /*** IDirect3DRMWrap methods ***/
3566 ( THIS_ D3DRMWRAPTYPE, LPDIRECT3DRMFRAME ref,
3567 D3DVALUE ox, D3DVALUE oy, D3DVALUE oz,
3568 D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
3569 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz,
3570 D3DVALUE ou, D3DVALUE ov,
3571 D3DVALUE su, D3DVALUE sv
3573 STDMETHOD(Apply)(THIS_ LPDIRECT3DRMOBJECT) PURE;
3574 STDMETHOD(ApplyRelative)(THIS_ LPDIRECT3DRMFRAME frame, LPDIRECT3DRMOBJECT) PURE;
3578 #if !defined(__cplusplus) || defined(CINTERFACE)
3579 /*** IUnknown methods ***/
3580 #define IDirect3DRMWrap_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3581 #define IDirect3DRMWrap_AddRef(p) (p)->lpVtbl->AddRef(p)
3582 #define IDirect3DRMWrap_Release(p) (p)->lpVtbl->Release(p)
3583 /*** IDirect3DRMObject methods ***/
3584 #define IDirect3DRMWrap_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3585 #define IDirect3DRMWrap_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3586 #define IDirect3DRMWrap_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3587 #define IDirect3DRMWrap_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3588 #define IDirect3DRMWrap_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3589 #define IDirect3DRMWrap_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3590 #define IDirect3DRMWrap_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3591 #define IDirect3DRMWrap_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3592 /*** IDirect3DRMWrap methods ***/
3593 #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)
3594 #define IDirect3DRMWrap_Apply(p,a) (p)->lpVtbl->Apply(p,a)
3595 #define IDirect3DRMWrap_ApplyRelative(p,a,b) (p)->lpVtbl->ApplyRelative(p,a,b)
3597 /*** IUnknown methods ***/
3598 #define IDirect3DRMWrap_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3599 #define IDirect3DRMWrap_AddRef(p) (p)->AddRef()
3600 #define IDirect3DRMWrap_Release(p) (p)->Release()
3601 /*** IDirect3DRMObject methods ***/
3602 #define IDirect3DRMWrap_Clone(p,a,b,c) (p)->Clone(a,b,c)
3603 #define IDirect3DRMWrap_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3604 #define IDirect3DRMWrap_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3605 #define IDirect3DRMWrap_SetAppData(p,a) (p)->SetAppData(a)
3606 #define IDirect3DRMWrap_GetAppData(p) (p)->GetAppData()
3607 #define IDirect3DRMWrap_SetName(p,a) (p)->SetName(a)
3608 #define IDirect3DRMWrap_GetName(p,a,b) (p)->GetName(a,b)
3609 #define IDirect3DRMWrap_GetClassName(p,a,b) (p)->GetClassName(a,b)
3610 /*** IDirect3DRMWrap methods ***/
3611 #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)
3612 #define IDirect3DRMWrap_Apply(p,a) (p)->Apply(p,a)
3613 #define IDirect3DRMWrap_ApplyRelative(p,a,b) (p)->ApplyRelative(p,a,b)
3616 /*****************************************************************************
3617 * IDirect3DRMMaterial interface
3619 #define INTERFACE IDirect3DRMMaterial
3620 DECLARE_INTERFACE_(IDirect3DRMMaterial, IDirect3DRMObject)
3622 /*** IUnknown methods ***/
3623 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3624 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3625 STDMETHOD_(ULONG,Release)(THIS) PURE;
3626 /*** IDirect3DRMObject methods ***/
3627 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3628 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3629 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3630 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3631 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3632 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3633 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3634 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3635 /*** IDirect3DRMMaterial methods ***/
3636 STDMETHOD(SetPower)(THIS_ D3DVALUE power) PURE;
3637 STDMETHOD(SetSpecular)(THIS_ D3DVALUE r, D3DVALUE g, D3DVALUE b) PURE;
3638 STDMETHOD(SetEmissive)(THIS_ D3DVALUE r, D3DVALUE g, D3DVALUE b) PURE;
3639 STDMETHOD_(D3DVALUE, GetPower)(THIS) PURE;
3640 STDMETHOD(GetSpecular)(THIS_ D3DVALUE* r, D3DVALUE* g, D3DVALUE* b) PURE;
3641 STDMETHOD(GetEmissive)(THIS_ D3DVALUE* r, D3DVALUE* g, D3DVALUE* b) PURE;
3645 #if !defined(__cplusplus) || defined(CINTERFACE)
3646 /*** IUnknown methods ***/
3647 #define IDirect3DRMMaterial_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3648 #define IDirect3DRMMaterial_AddRef(p) (p)->lpVtbl->AddRef(p)
3649 #define IDirect3DRMMaterial_Release(p) (p)->lpVtbl->Release(p)
3650 /*** IDirect3DRMObject methods ***/
3651 #define IDirect3DRMMaterial_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3652 #define IDirect3DRMMaterial_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3653 #define IDirect3DRMMaterial_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3654 #define IDirect3DRMMaterial_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3655 #define IDirect3DRMMaterial_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3656 #define IDirect3DRMMaterial_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3657 #define IDirect3DRMMaterial_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3658 #define IDirect3DRMMaterial_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3659 /*** IDirect3DRMMaterial methods ***/
3660 #define IDirect3DRMMaterial_SetPower(p,a) (p)->lpVtbl->SetPower(p,a)
3661 #define IDirect3DRMMaterial_SetSpecular(p,a,b,c) (p)->lpVtbl->SetSpecular(p,a,b,c)
3662 #define IDirect3DRMMaterial_SetEmissive(p,a,b,c) (p)->lpVtbl->SetEmissive(p,a,b,c)
3663 #define IDirect3DRMMaterial_GetPower(p) (p)->lpVtbl->GetPower(p)
3664 #define IDirect3DRMMaterial_GetSpecular(p,a,b,c) (p)->lpVtbl->GetSpecular(p,a,b,c)
3665 #define IDirect3DRMMaterial_GetEmissive(p,a,b,c) (p)->lpVtbl->GetEmissive(p,a,b,c)
3667 /*** IUnknown methods ***/
3668 #define IDirect3DRMMaterial_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3669 #define IDirect3DRMMaterial_AddRef(p) (p)->AddRef()
3670 #define IDirect3DRMMaterial_Release(p) (p)->Release()
3671 /*** IDirect3DRMObject methods ***/
3672 #define IDirect3DRMMaterial_Clone(p,a,b,c) (p)->Clone(a,b,c)
3673 #define IDirect3DRMMaterial_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3674 #define IDirect3DRMMaterial_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3675 #define IDirect3DRMMaterial_SetAppData(p,a) (p)->SetAppData(a)
3676 #define IDirect3DRMMaterial_GetAppData(p) (p)->GetAppData()
3677 #define IDirect3DRMMaterial_SetName(p,a) (p)->SetName(a)
3678 #define IDirect3DRMMaterial_GetName(p,a,b) (p)->GetName(a,b)
3679 #define IDirect3DRMMaterial_GetClassName(p,a,b) (p)->GetClassName(a,b)
3680 /*** IDirect3DRMMaterial methods ***/
3681 #define IDirect3DRMMaterial_SetPower(p,a) (p)->SetPower(a)
3682 #define IDirect3DRMMaterial_SetSpecular(p,a,b,c) (p)->SetSpecular(a,b,c)
3683 #define IDirect3DRMMaterial_SetEmissive(p,a,b,c) (p)->SetEmissive(a,b,c)
3684 #define IDirect3DRMMaterial_GetPower(p) (p)->GetPower()
3685 #define IDirect3DRMMaterial_GetSpecular(p,a,b,c) (p)->GetSpecular(a,b,c)
3686 #define IDirect3DRMMaterial_GetEmissive(p,a,b,c) (p)->GetEmissive(a,b,c)
3689 /*****************************************************************************
3690 * IDirect3DRMMaterial2 interface
3692 #define INTERFACE IDirect3DRMMaterial2
3693 DECLARE_INTERFACE_(IDirect3DRMMaterial2, IDirect3DRMObject)
3695 /*** IUnknown methods ***/
3696 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3697 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3698 STDMETHOD_(ULONG,Release)(THIS) PURE;
3699 /*** IDirect3DRMObject methods ***/
3700 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3701 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3702 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3703 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3704 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3705 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3706 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3707 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3708 /*** IDirect3DRMMaterial2 methods ***/
3709 STDMETHOD(SetPower)(THIS_ D3DVALUE power) PURE;
3710 STDMETHOD(SetSpecular)(THIS_ D3DVALUE r, D3DVALUE g, D3DVALUE b) PURE;
3711 STDMETHOD(SetEmissive)(THIS_ D3DVALUE r, D3DVALUE g, D3DVALUE b) PURE;
3712 STDMETHOD_(D3DVALUE, GetPower)(THIS) PURE;
3713 STDMETHOD(GetSpecular)(THIS_ D3DVALUE* r, D3DVALUE* g, D3DVALUE* b) PURE;
3714 STDMETHOD(GetEmissive)(THIS_ D3DVALUE* r, D3DVALUE* g, D3DVALUE* b) PURE;
3715 STDMETHOD(GetAmbient)(THIS_ D3DVALUE* r, D3DVALUE* g, D3DVALUE* b) PURE;
3716 STDMETHOD(SetAmbient)(THIS_ D3DVALUE r, D3DVALUE g, D3DVALUE b) PURE;
3720 #if !defined(__cplusplus) || defined(CINTERFACE)
3721 /*** IUnknown methods ***/
3722 #define IDirect3DRMMaterial2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3723 #define IDirect3DRMMaterial2_AddRef(p) (p)->lpVtbl->AddRef(p)
3724 #define IDirect3DRMMaterial2_Release(p) (p)->lpVtbl->Release(p)
3725 /*** IDirect3DRMObject methods ***/
3726 #define IDirect3DRMMaterial2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3727 #define IDirect3DRMMaterial2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3728 #define IDirect3DRMMaterial2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3729 #define IDirect3DRMMaterial2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3730 #define IDirect3DRMMaterial2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3731 #define IDirect3DRMMaterial2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3732 #define IDirect3DRMMaterial2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3733 #define IDirect3DRMMaterial2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3734 /*** IDirect3DRMMaterial2 methods ***/
3735 #define IDirect3DRMMaterial2_SetPower(p,a) (p)->lpVtbl->SetPower(p,a)
3736 #define IDirect3DRMMaterial2_SetSpecular(p,a,b,c) (p)->lpVtbl->SetSpecular(p,a,b,c)
3737 #define IDirect3DRMMaterial2_SetEmissive(p,a,b,c) (p)->lpVtbl->SetEmissive(p,a,b,c)
3738 #define IDirect3DRMMaterial2_GetPower(p) (p)->lpVtbl->GetPower(p)
3739 #define IDirect3DRMMaterial2_GetSpecular(p,a,b,c) (p)->lpVtbl->GetSpecular(p,a,b,c)
3740 #define IDirect3DRMMaterial2_GetEmissive(p,a,b,c) (p)->lpVtbl->GetEmissive(p,a,b,c)
3741 #define IDirect3DRMMaterial2_SetAmbient(p,a,b,c) (p)->lpVtbl->SetAmbient(p,a,b,c)
3742 #define IDirect3DRMMaterial2_GetAmbient(p,a,b,c) (p)->lpVtbl->GetAmbient(p,a,b,c)
3744 /*** IUnknown methods ***/
3745 #define IDirect3DRMMaterial2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3746 #define IDirect3DRMMaterial2_AddRef(p) (p)->AddRef()
3747 #define IDirect3DRMMaterial2_Release(p) (p)->Release()
3748 /*** IDirect3DRMObject methods ***/
3749 #define IDirect3DRMMaterial2_Clone(p,a,b,c) (p)->Clone(a,b,c)
3750 #define IDirect3DRMMaterial2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3751 #define IDirect3DRMMaterial2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3752 #define IDirect3DRMMaterial2_SetAppData(p,a) (p)->SetAppData(a)
3753 #define IDirect3DRMMaterial2_GetAppData(p) (p)->GetAppData()
3754 #define IDirect3DRMMaterial2_SetName(p,a) (p)->SetName(a)
3755 #define IDirect3DRMMaterial2_GetName(p,a,b) (p)->GetName(a,b)
3756 #define IDirect3DRMMaterial2_GetClassName(p,a,b) (p)->GetClassName(a,b)
3757 /*** IDirect3DRMMaterial2 methods ***/
3758 #define IDirect3DRMMaterial2_SetPower(p,a) (p)->SetPower(a)
3759 #define IDirect3DRMMaterial2_SetSpecular(p,a,b,c) (p)->SetSpecular(a,b,c)
3760 #define IDirect3DRMMaterial2_SetEmissive(p,a,b,c) (p)->SetEmissive(a,b,c)
3761 #define IDirect3DRMMaterial2_GetPower(p) (p)->GetPower()
3762 #define IDirect3DRMMaterial2_GetSpecular(p,a,b,c) (p)->GetSpecular(a,b,c)
3763 #define IDirect3DRMMaterial2_GetEmissive(p,a,b,c) (p)->GetEmissive(a,b,c)
3764 #define IDirect3DRMMaterial2_SetAmbient(p,a,b,c) (p)->SetAmbient(a,b,c)
3765 #define IDirect3DRMMaterial2_GetAmbient(p,a,b,c) (p)->GetAmbient(a,b,c)
3768 /*****************************************************************************
3769 * IDirect3DRMAnimation interface
3771 #define INTERFACE IDirect3DRMAnimation
3772 DECLARE_INTERFACE_(IDirect3DRMAnimation, IDirect3DRMObject)
3774 /*** IUnknown methods ***/
3775 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3776 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3777 STDMETHOD_(ULONG,Release)(THIS) PURE;
3778 /*** IDirect3DRMObject methods ***/
3779 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3780 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3781 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3782 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3783 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3784 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3785 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3786 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3787 /*** IDirect3DRMAnimation methods ***/
3788 STDMETHOD(SetOptions)(THIS_ D3DRMANIMATIONOPTIONS flags) PURE;
3789 STDMETHOD(AddRotateKey)(THIS_ D3DVALUE time, D3DRMQUATERNION *q) PURE;
3790 STDMETHOD(AddPositionKey)(THIS_ D3DVALUE time, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
3791 STDMETHOD(AddScaleKey)(THIS_ D3DVALUE time, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
3792 STDMETHOD(DeleteKey)(THIS_ D3DVALUE time) PURE;
3793 STDMETHOD(SetFrame)(THIS_ LPDIRECT3DRMFRAME frame) PURE;
3794 STDMETHOD(SetTime)(THIS_ D3DVALUE time) PURE;
3795 STDMETHOD_(D3DRMANIMATIONOPTIONS, GetOptions)(THIS) PURE;
3799 #if !defined(__cplusplus) || defined(CINTERFACE)
3800 /*** IUnknown methods ***/
3801 #define IDirect3DRMAnimation_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3802 #define IDirect3DRMAnimation_AddRef(p) (p)->lpVtbl->AddRef(p)
3803 #define IDirect3DRMAnimation_Release(p) (p)->lpVtbl->Release(p)
3804 /*** IDirect3DRMObject methods ***/
3805 #define IDirect3DRMAnimation_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3806 #define IDirect3DRMAnimation_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3807 #define IDirect3DRMAnimation_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3808 #define IDirect3DRMAnimation_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3809 #define IDirect3DRMAnimation_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3810 #define IDirect3DRMAnimation_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3811 #define IDirect3DRMAnimation_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3812 #define IDirect3DRMAnimation_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3813 /*** IDirect3DRMAnimation methods ***/
3814 #define IDirect3DRMAnimation_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
3815 #define IDirect3DRMAnimation_AddRotateKey(p,a,b) (p)->lpVtbl->AddRotateKey(p,a,b)
3816 #define IDirect3DRMAnimation_AddPositionKey(p,a,b,c,d) (p)->lpVtbl->AddPositionKey(p,a,b,c,d)
3817 #define IDirect3DRMAnimation_AddScaleKey(p,a,b,c,d) (p)->lpVtbl->AddScaleKey(p,a,b,c,d)
3818 #define IDirect3DRMAnimation_DeleteKey(p,a) (p)->lpVtbl->DeleteKey(p,a)
3819 #define IDirect3DRMAnimation_SetFrame(p,a) (p)->lpVtbl->SetFrame(p,a)
3820 #define IDirect3DRMAnimation_SetTime(p,a) (p)->lpVtbl->SetTime(p,a)
3821 #define IDirect3DRMAnimation_GetOptions(p) (p)->lpVtbl->GetOptions(p)
3823 /*** IUnknown methods ***/
3824 #define IDirect3DRMAnimation_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3825 #define IDirect3DRMAnimation_AddRef(p) (p)->AddRef()
3826 #define IDirect3DRMAnimation_Release(p) (p)->Release()
3827 /*** IDirect3DRMObject methods ***/
3828 #define IDirect3DRMAnimation_Clone(p,a,b,c) (p)->Clone(a,b,c)
3829 #define IDirect3DRMAnimation_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3830 #define IDirect3DRMAnimation_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3831 #define IDirect3DRMAnimation_SetAppData(p,a) (p)->SetAppData(a)
3832 #define IDirect3DRMAnimation_GetAppData(p) (p)->GetAppData()
3833 #define IDirect3DRMAnimation_SetName(p,a) (p)->SetName(a)
3834 #define IDirect3DRMAnimation_GetName(p,a,b) (p)->GetName(a,b)
3835 #define IDirect3DRMAnimation_GetClassName(p,a,b) (p)->GetClassName(a,b)
3836 /*** IDirect3DRMAnimation methods ***/
3837 #define IDirect3DRMAnimation_SetOptions(p,a) (p)->SetOptions(a)
3838 #define IDirect3DRMAnimation_AddRotateKey(p,a,b) (p)->AddRotateKey(a,b)
3839 #define IDirect3DRMAnimation_AddPositionKey(p,a,b,c,d) (p)->AddPositionKey(a,b,c,d)
3840 #define IDirect3DRMAnimation_AddScaleKey(p,a,b,c,d) (p)->AddScaleKey(a,b,c,d)
3841 #define IDirect3DRMAnimation_DeleteKey(p,a) (p)->DeleteKey(a)
3842 #define IDirect3DRMAnimation_SetFrame(p,a) (p)->SetFrame(a)
3843 #define IDirect3DRMAnimation_SetTime(p,a) (p)->SetTime(a)
3844 #define IDirect3DRMAnimation_GetOptions(p) (p)->GetOptions()
3847 /*****************************************************************************
3848 * IDirect3DRMAnimation2 interface
3850 #define INTERFACE IDirect3DRMAnimation2
3851 DECLARE_INTERFACE_(IDirect3DRMAnimation2, IDirect3DRMObject)
3853 /*** IUnknown methods ***/
3854 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3855 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3856 STDMETHOD_(ULONG,Release)(THIS) PURE;
3857 /*** IDirect3DRMObject methods ***/
3858 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3859 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3860 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3861 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3862 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3863 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3864 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3865 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3866 /*** IDirect3DRMAnimation2 methods ***/
3867 STDMETHOD(SetOptions)(THIS_ D3DRMANIMATIONOPTIONS flags) PURE;
3868 STDMETHOD(AddRotateKey)(THIS_ D3DVALUE time, D3DRMQUATERNION *q) PURE;
3869 STDMETHOD(AddPositionKey)(THIS_ D3DVALUE time, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
3870 STDMETHOD(AddScaleKey)(THIS_ D3DVALUE time, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
3871 STDMETHOD(DeleteKey)(THIS_ D3DVALUE time) PURE;
3872 STDMETHOD(SetFrame)(THIS_ LPDIRECT3DRMFRAME3 frame) PURE;
3873 STDMETHOD(SetTime)(THIS_ D3DVALUE time) PURE;
3874 STDMETHOD_(D3DRMANIMATIONOPTIONS, GetOptions)(THIS) PURE;
3875 STDMETHOD(GetFrame)(THIS_ LPDIRECT3DRMFRAME3 *lpD3DFrame) PURE;
3876 STDMETHOD(DeleteKeyByID)(THIS_ DWORD dwID) PURE;
3877 STDMETHOD(AddKey)(THIS_ LPD3DRMANIMATIONKEY lpKey) PURE;
3878 STDMETHOD(ModifyKey)(THIS_ LPD3DRMANIMATIONKEY lpKey) PURE;
3879 STDMETHOD(GetKeys)(THIS_ D3DVALUE dvTimeMin,
3880 D3DVALUE dvTimeMax, LPDWORD lpdwNumKeys,
3881 LPD3DRMANIMATIONKEY lpKey);
3885 #if !defined(__cplusplus) || defined(CINTERFACE)
3886 /*** IUnknown methods ***/
3887 #define IDirect3DRMAnimation2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3888 #define IDirect3DRMAnimation2_AddRef(p) (p)->lpVtbl->AddRef(p)
3889 #define IDirect3DRMAnimation2_Release(p) (p)->lpVtbl->Release(p)
3890 /*** IDirect3DRMObject methods ***/
3891 #define IDirect3DRMAnimation2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3892 #define IDirect3DRMAnimation2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3893 #define IDirect3DRMAnimation2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3894 #define IDirect3DRMAnimation2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3895 #define IDirect3DRMAnimation2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3896 #define IDirect3DRMAnimation2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3897 #define IDirect3DRMAnimation2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3898 #define IDirect3DRMAnimation2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3899 /*** IDirect3DRMAnimation2 methods ***/
3900 #define IDirect3DRMAnimation2_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
3901 #define IDirect3DRMAnimation2_AddRotateKey(p,a,b) (p)->lpVtbl->AddRotateKey(p,a,b)
3902 #define IDirect3DRMAnimation2_AddPositionKey(p,a,b,c,d) (p)->lpVtbl->AddPositionKey(p,a,b,c,d)
3903 #define IDirect3DRMAnimation2_AddScaleKey(p,a,b,c,d) (p)->lpVtbl->AddScaleKey(p,a,b,c,d)
3904 #define IDirect3DRMAnimation2_DeleteKey(p,a) (p)->lpVtbl->DeleteKey(p,a)
3905 #define IDirect3DRMAnimation2_SetFrame(p,a) (p)->lpVtbl->SetFrame(p,a)
3906 #define IDirect3DRMAnimation2_SetTime(p,a) (p)->lpVtbl->SetTime(p,a)
3907 #define IDirect3DRMAnimation2_GetOptions(p) (p)->lpVtbl->GetOptions(p)
3908 #define IDirect3DRMAnimation2_GetFrame(p,a) (p)->lpVtbl->GetFrame(p,a)
3909 #define IDirect3DRMAnimation2_DeleteKeyByID(p,a) (p)->lpVtbl->DeleteKeyByID(p,a)
3910 #define IDirect3DRMAnimation2_AddKey(p,a) (p)->lpVtbl->AddKey(p,a)
3911 #define IDirect3DRMAnimation2_ModifyKey(p,a) (p)->lpVtbl->ModifyKey(p,a)
3912 #define IDirect3DRMAnimation2_GetKeys(p,a,b,c,d) (p)->lpVtbl->GetKeys(p,a,b,c,d)
3914 /*** IUnknown methods ***/
3915 #define IDirect3DRMAnimation2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3916 #define IDirect3DRMAnimation2_AddRef(p) (p)->AddRef()
3917 #define IDirect3DRMAnimation2_Release(p) (p)->Release()
3918 /*** IDirect3DRMObject methods ***/
3919 #define IDirect3DRMAnimation2_Clone(p,a,b,c) (p)->Clone(a,b,c)
3920 #define IDirect3DRMAnimation2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3921 #define IDirect3DRMAnimation2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3922 #define IDirect3DRMAnimation2_SetAppData(p,a) (p)->SetAppData(a)
3923 #define IDirect3DRMAnimation2_GetAppData(p) (p)->GetAppData()
3924 #define IDirect3DRMAnimation2_SetName(p,a) (p)->SetName(a)
3925 #define IDirect3DRMAnimation2_GetName(p,a,b) (p)->GetName(a,b)
3926 #define IDirect3DRMAnimation2_GetClassName(p,a,b) (p)->GetClassName(a,b)
3927 /*** IDirect3DRMAnimation2 methods ***/
3928 #define IDirect3DRMAnimation2_SetOptions(p,a) (p)->SetOptions(a)
3929 #define IDirect3DRMAnimation2_AddRotateKey(p,a,b) (p)->AddRotateKey(a,b)
3930 #define IDirect3DRMAnimation2_AddPositionKey(p,a,b,c,d) (p)->AddPositionKey(a,b,c,d)
3931 #define IDirect3DRMAnimation2_AddScaleKey(p,a,b,c,d) (p)->AddScaleKey(a,b,c,d)
3932 #define IDirect3DRMAnimation2_DeleteKey(p,a) (p)->DeleteKey(a)
3933 #define IDirect3DRMAnimation2_SetFrame(p,a) (p)->SetFrame(a)
3934 #define IDirect3DRMAnimation2_SetTime(p,a) (p)->SetTime(a)
3935 #define IDirect3DRMAnimation2_GetOptions(p) (p)->GetOptions()
3936 #define IDirect3DRMAnimation2_GetFrame(p,a) (p)->GetFrame(a)
3937 #define IDirect3DRMAnimation2_DeleteKeyByID(p,a) (p)->DeleteKeyByID(a)
3938 #define IDirect3DRMAnimation2_AddKey(p,a) (p)->AddKey(a)
3939 #define IDirect3DRMAnimation2_ModifyKey(p,a) (p)->ModifyKey(a)
3940 #define IDirect3DRMAnimation2_GetKeys(p,a,b,c,d) (p)->GetKeys(a,b,c,d)
3943 /*****************************************************************************
3944 * IDirect3DRMAnimationSet interface
3946 #define INTERFACE IDirect3DRMAnimationSet
3947 DECLARE_INTERFACE_(IDirect3DRMAnimationSet, IDirect3DRMObject)
3949 /*** IUnknown methods ***/
3950 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3951 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3952 STDMETHOD_(ULONG,Release)(THIS) PURE;
3953 /*** IDirect3DRMObject methods ***/
3954 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
3955 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3956 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
3957 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
3958 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
3959 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
3960 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3961 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
3962 /*** IDirect3DRMAnimationSet methods ***/
3963 STDMETHOD(AddAnimation)(THIS_ LPDIRECT3DRMANIMATION aid) PURE;
3964 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK, LPVOID lpArg, LPDIRECT3DRMFRAME parent)PURE;
3965 STDMETHOD(DeleteAnimation)(THIS_ LPDIRECT3DRMANIMATION aid) PURE;
3966 STDMETHOD(SetTime)(THIS_ D3DVALUE time) PURE;
3970 #if !defined(__cplusplus) || defined(CINTERFACE)
3971 /*** IUnknown methods ***/
3972 #define IDirect3DRMAnimationSet_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3973 #define IDirect3DRMAnimationSet_AddRef(p) (p)->lpVtbl->AddRef(p)
3974 #define IDirect3DRMAnimationSet_Release(p) (p)->lpVtbl->Release(p)
3975 /*** IDirect3DRMObject methods ***/
3976 #define IDirect3DRMAnimationSet_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
3977 #define IDirect3DRMAnimationSet_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
3978 #define IDirect3DRMAnimationSet_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
3979 #define IDirect3DRMAnimationSet_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
3980 #define IDirect3DRMAnimationSet_GetAppData(p) (p)->lpVtbl->GetAppData(p)
3981 #define IDirect3DRMAnimationSet_SetName(p,a) (p)->lpVtbl->SetName(p,a)
3982 #define IDirect3DRMAnimationSet_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
3983 #define IDirect3DRMAnimationSet_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
3984 /*** IDirect3DRMAnimationSet methods ***/
3985 #define IDirect3DRMAnimationSet_AddAnimation(p,a) (p)->lpVtbl->AddAnimation(p,a)
3986 #define IDirect3DRMAnimationSet_Load(p,a,b,c,d,e,f) (p)->lpVtbl->Load(p,a,b,c,d,e,f)
3987 #define IDirect3DRMAnimationSet_DeleteAnimation(p,a) (p)->lpVtbl->DeleteAnimation(p,a)
3988 #define IDirect3DRMAnimationSet_SetTime(p,a) (p)->lpVtbl->SetTime(p,a)
3990 /*** IUnknown methods ***/
3991 #define IDirect3DRMAnimationSet_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3992 #define IDirect3DRMAnimationSet_AddRef(p) (p)->AddRef()
3993 #define IDirect3DRMAnimationSet_Release(p) (p)->Release()
3994 /*** IDirect3DRMObject methods ***/
3995 #define IDirect3DRMAnimationSet_Clone(p,a,b,c) (p)->Clone(a,b,c)
3996 #define IDirect3DRMAnimationSet_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
3997 #define IDirect3DRMAnimationSet_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
3998 #define IDirect3DRMAnimationSet_SetAppData(p,a) (p)->SetAppData(a)
3999 #define IDirect3DRMAnimationSet_GetAppData(p) (p)->GetAppData()
4000 #define IDirect3DRMAnimationSet_SetName(p,a) (p)->SetName(a)
4001 #define IDirect3DRMAnimationSet_GetName(p,a,b) (p)->GetName(a,b)
4002 #define IDirect3DRMAnimationSet_GetClassName(p,a,b) (p)->GetClassName(a,b)
4003 /*** IDirect3DRMAnimationSet methods ***/
4004 #define IDirect3DRMAnimationSet_AddAnimation(p,a) (p)->AddAnimation(a)
4005 #define IDirect3DRMAnimationSet_Load(p,a,b,c,d,e,f) (p)->Load(a,b,c,d,e,f)
4006 #define IDirect3DRMAnimationSet_DeleteAnimation(p,a) (p)->DeleteAnimation(a)
4007 #define IDirect3DRMAnimationSet_SetTime(p,a) (p)->SetTime(a)
4010 /*****************************************************************************
4011 * IDirect3DRMAnimationSet2 interface
4013 #define INTERFACE IDirect3DRMAnimationSet2
4014 DECLARE_INTERFACE_(IDirect3DRMAnimationSet2, IDirect3DRMObject)
4016 /*** IUnknown methods ***/
4017 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4018 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4019 STDMETHOD_(ULONG,Release)(THIS) PURE;
4020 /*** IDirect3DRMObject methods ***/
4021 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
4022 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
4023 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
4024 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
4025 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
4026 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
4027 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
4028 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
4029 /*** IDirect3DRMAnimationSet2 methods ***/
4030 STDMETHOD(AddAnimation)(THIS_ LPDIRECT3DRMANIMATION2 aid) PURE;
4031 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURE3CALLBACK, LPVOID lpArg, LPDIRECT3DRMFRAME3 parent)PURE;
4032 STDMETHOD(DeleteAnimation)(THIS_ LPDIRECT3DRMANIMATION2 aid) PURE;
4033 STDMETHOD(SetTime)(THIS_ D3DVALUE time) PURE;
4034 STDMETHOD(GetAnimations)(THIS_ LPDIRECT3DRMANIMATIONARRAY *) PURE;
4038 #if !defined(__cplusplus) || defined(CINTERFACE)
4039 /*** IUnknown methods ***/
4040 #define IDirect3DRMAnimationSet2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4041 #define IDirect3DRMAnimationSet2_AddRef(p) (p)->lpVtbl->AddRef(p)
4042 #define IDirect3DRMAnimationSet2_Release(p) (p)->lpVtbl->Release(p)
4043 /*** IDirect3DRMObject methods ***/
4044 #define IDirect3DRMAnimationSet2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
4045 #define IDirect3DRMAnimationSet2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
4046 #define IDirect3DRMAnimationSet2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
4047 #define IDirect3DRMAnimationSet2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
4048 #define IDirect3DRMAnimationSet2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
4049 #define IDirect3DRMAnimationSet2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4050 #define IDirect3DRMAnimationSet2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
4051 #define IDirect3DRMAnimationSet2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
4052 /*** IDirect3DRMAnimationSet2 methods ***/
4053 #define IDirect3DRMAnimationSet2_AddAnimation(p,a) (p)->lpVtbl->AddAnimation(p,a)
4054 #define IDirect3DRMAnimationSet2_Load(p,a,b,c,d,e,f) (p)->lpVtbl->Load(p,a,b,c,d,e,f)
4055 #define IDirect3DRMAnimationSet2_DeleteAnimation(p,a) (p)->lpVtbl->DeleteAnimation(p,a)
4056 #define IDirect3DRMAnimationSet2_SetTime(p,a) (p)->lpVtbl->SetTime(p,a)
4057 #define IDirect3DRMAnimationSet2_GetAnimations(p,a) (p)->lpVtbl->GetAnimations(p,a)
4059 /*** IUnknown methods ***/
4060 #define IDirect3DRMAnimationSet2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4061 #define IDirect3DRMAnimationSet2_AddRef(p) (p)->AddRef()
4062 #define IDirect3DRMAnimationSet2_Release(p) (p)->Release()
4063 /*** IDirect3DRMObject methods ***/
4064 #define IDirect3DRMAnimationSet2_Clone(p,a,b,c) (p)->Clone(a,b,c)
4065 #define IDirect3DRMAnimationSet2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
4066 #define IDirect3DRMAnimationSet2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
4067 #define IDirect3DRMAnimationSet2_SetAppData(p,a) (p)->SetAppData(a)
4068 #define IDirect3DRMAnimationSet2_GetAppData(p) (p)->GetAppData()
4069 #define IDirect3DRMAnimationSet2_SetName(p,a) (p)->SetName(a)
4070 #define IDirect3DRMAnimationSet2_GetName(p,a,b) (p)->GetName(a,b)
4071 #define IDirect3DRMAnimationSet2_GetClassName(p,a,b) (p)->GetClassName(a,b)
4072 /*** IDirect3DRMAnimationSet2 methods ***/
4073 #define IDirect3DRMAnimationSet2_AddAnimation(p,a) (p)->AddAnimation(a)
4074 #define IDirect3DRMAnimationSet2_Load(p,a,b,c,d,e,f) (p)->Load(a,b,c,d,e,f)
4075 #define IDirect3DRMAnimationSet2_DeleteAnimation(p,a) (p)->DeleteAnimation(a)
4076 #define IDirect3DRMAnimationSet2_SetTime(p,a) (p)->SetTime(a)
4077 #define IDirect3DRMAnimationSet2_GetAnimations(p,a) (p)->GetAnimations(a)
4080 /*****************************************************************************
4081 * IDirect3DRMUserVisual interface
4083 #define INTERFACE IDirect3DRMUserVisual
4084 DECLARE_INTERFACE_(IDirect3DRMUserVisual, IDirect3DRMVisual)
4086 /*** IUnknown methods ***/
4087 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4088 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4089 STDMETHOD_(ULONG,Release)(THIS) PURE;
4090 /*** IDirect3DRMObject methods ***/
4091 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
4092 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
4093 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
4094 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
4095 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
4096 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
4097 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
4098 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
4099 /*** IDirect3DRMUserVisual methods ***/
4100 STDMETHOD(Init)(THIS_ D3DRMUSERVISUALCALLBACK fn, void *arg) PURE;
4104 #if !defined(__cplusplus) || defined(CINTERFACE)
4105 /*** IUnknown methods ***/
4106 #define IDirect3DRMUserVisual_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4107 #define IDirect3DRMUserVisual_AddRef(p) (p)->lpVtbl->AddRef(p)
4108 #define IDirect3DRMUserVisual_Release(p) (p)->lpVtbl->Release(p)
4109 /*** IDirect3DRMObject methods ***/
4110 #define IDirect3DRMUserVisual_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
4111 #define IDirect3DRMUserVisual_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
4112 #define IDirect3DRMUserVisual_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
4113 #define IDirect3DRMUserVisual_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
4114 #define IDirect3DRMUserVisual_GetAppData(p) (p)->lpVtbl->GetAppData(p)
4115 #define IDirect3DRMUserVisual_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4116 #define IDirect3DRMUserVisual_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
4117 #define IDirect3DRMUserVisual_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
4118 /*** IDirect3DRMUserVisual methods ***/
4119 #define IDirect3DRMUserVisual_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
4121 /*** IUnknown methods ***/
4122 #define IDirect3DRMUserVisual_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4123 #define IDirect3DRMUserVisual_AddRef(p) (p)->AddRef()
4124 #define IDirect3DRMUserVisual_Release(p) (p)->Release()
4125 /*** IDirect3DRMObject methods ***/
4126 #define IDirect3DRMUserVisual_Clone(p,a,b,c) (p)->Clone(a,b,c)
4127 #define IDirect3DRMUserVisual_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
4128 #define IDirect3DRMUserVisual_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
4129 #define IDirect3DRMUserVisual_SetAppData(p,a) (p)->SetAppData(a)
4130 #define IDirect3DRMUserVisual_GetAppData(p) (p)->GetAppData()
4131 #define IDirect3DRMUserVisual_SetName(p,a) (p)->SetName(a)
4132 #define IDirect3DRMUserVisual_GetName(p,a,b) (p)->GetName(a,b)
4133 #define IDirect3DRMUserVisual_GetClassName(p,a,b) (p)->GetClassName(a,b)
4134 /*** IDirect3DRMUserVisual methods ***/
4135 #define IDirect3DRMUserVisual_Init(p,a,b) (p)->Init(a,b)
4138 /*****************************************************************************
4139 * IDirect3DRMArray interface
4141 #define INTERFACE IDirect3DRMArray
4142 DECLARE_INTERFACE_(IDirect3DRMArray, IUnknown)
4144 /*** IUnknown methods ***/
4145 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4146 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4147 STDMETHOD_(ULONG,Release)(THIS) PURE;
4148 /*** IDirect3DRMArray methods ***/
4149 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4153 #if !defined(__cplusplus) || defined(CINTERFACE)
4154 /*** IUnknown methods ***/
4155 #define IDirect3DRMArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4156 #define IDirect3DRMArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4157 #define IDirect3DRMArray_Release(p) (p)->lpVtbl->Release(p)
4158 /*** IDirect3DRMArray methods ***/
4159 #define IDirect3DRMArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4161 /*** IUnknown methods ***/
4162 #define IDirect3DRMArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4163 #define IDirect3DRMArray_AddRef(p) (p)->AddRef()
4164 #define IDirect3DRMArray_Release(p) (p)->Release()
4165 /*** IDirect3DRMArray methods ***/
4166 #define IDirect3DRMArray_GetSize(p) (p)->GetSize()
4169 /*****************************************************************************
4170 * IDirect3DRMObjectArray interface
4172 #define INTERFACE IDirect3DRMObjectArray
4173 DECLARE_INTERFACE_(IDirect3DRMObjectArray, IDirect3DRMArray)
4175 /*** IUnknown methods ***/
4176 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4177 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4178 STDMETHOD_(ULONG,Release)(THIS) PURE;
4179 /*** IDirect3DRMArray methods ***/
4180 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4181 /*** IDirect3DRMObjectArray methods ***/
4182 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMOBJECT *) PURE;
4186 #if !defined(__cplusplus) || defined(CINTERFACE)
4187 /*** IUnknown methods ***/
4188 #define IDirect3DRMObjectArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4189 #define IDirect3DRMObjectArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4190 #define IDirect3DRMObjectArray_Release(p) (p)->lpVtbl->Release(p)
4191 /*** IDirect3DRMArray methods ***/
4192 #define IDirect3DRMObjectArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4193 /*** IDirect3DRMObjectArray methods ***/
4194 #define IDirect3DRMObjectArray_GetElement(p,a,b) (p)->lpVtbl->GetElement(p,a,b)
4196 /*** IUnknown methods ***/
4197 #define IDirect3DRMObjectArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4198 #define IDirect3DRMObjectArray_AddRef(p) (p)->AddRef()
4199 #define IDirect3DRMObjectArray_Release(p) (p)->Release()
4200 /*** IDirect3DRMArray methods ***/
4201 #define IDirect3DRMObjectArray_GetSize(p) (p)->GetSize()
4202 /*** IDirect3DRMObjectArray methods ***/
4203 #define IDirect3DRMObjectArray_GetElement(p,a,b) (p)->GetElement(a,b)
4206 /*****************************************************************************
4207 * IDirect3DRMDeviceArray interface
4209 #define INTERFACE IDirect3DRMDeviceArray
4210 DECLARE_INTERFACE_(IDirect3DRMDeviceArray, IDirect3DRMArray)
4212 /*** IUnknown methods ***/
4213 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4214 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4215 STDMETHOD_(ULONG,Release)(THIS) PURE;
4216 /*** IDirect3DRMArray methods ***/
4217 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4218 /*** IDirect3DRMDeviceArray methods ***/
4219 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMDEVICE *) PURE;
4223 #if !defined(__cplusplus) || defined(CINTERFACE)
4224 /*** IUnknown methods ***/
4225 #define IDirect3DRMDeviceArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4226 #define IDirect3DRMDeviceArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4227 #define IDirect3DRMDeviceArray_Release(p) (p)->lpVtbl->Release(p)
4228 /*** IDirect3DRMArray methods ***/
4229 #define IDirect3DRMDeviceArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4230 /*** IDirect3DRMDeviceArray methods ***/
4231 #define IDirect3DRMDeviceArray_GetElement(p,a,b) (p)->lpVtbl->GetElement(p,a,b)
4233 /*** IUnknown methods ***/
4234 #define IDirect3DRMDeviceArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4235 #define IDirect3DRMDeviceArray_AddRef(p) (p)->AddRef()
4236 #define IDirect3DRMDeviceArray_Release(p) (p)->Release()
4237 /*** IDirect3DRMArray methods ***/
4238 #define IDirect3DRMDeviceArray_GetSize(p) (p)->GetSize()
4239 /*** IDirect3DRMDeviceArray methods ***/
4240 #define IDirect3DRMDeviceArray_GetElement(p,a,b) (p)->GetElement(a,b)
4243 /*****************************************************************************
4244 * IDirect3DRMFrameArray interface
4246 #define INTERFACE IDirect3DRMFrameArray
4247 DECLARE_INTERFACE_(IDirect3DRMFrameArray, IDirect3DRMArray)
4249 /*** IUnknown methods ***/
4250 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4251 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4252 STDMETHOD_(ULONG,Release)(THIS) PURE;
4253 /*** IDirect3DRMArray methods ***/
4254 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4255 /*** IDirect3DRMFrameArray methods ***/
4256 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMFRAME *) PURE;
4260 #if !defined(__cplusplus) || defined(CINTERFACE)
4261 /*** IUnknown methods ***/
4262 #define IDirect3DRMFrameArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4263 #define IDirect3DRMFrameArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4264 #define IDirect3DRMFrameArray_Release(p) (p)->lpVtbl->Release(p)
4265 /*** IDirect3DRMArray methods ***/
4266 #define IDirect3DRMFrameArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4267 /*** IDirect3DRMFrameArray methods ***/
4268 #define IDirect3DRMFrameArray_GetElement(p,a,b) (p)->lpVtbl->GetElement(p,a,b)
4270 /*** IUnknown methods ***/
4271 #define IDirect3DRMFrameArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4272 #define IDirect3DRMFrameArray_AddRef(p) (p)->AddRef()
4273 #define IDirect3DRMFrameArray_Release(p) (p)->Release()
4274 /*** IDirect3DRMArray methods ***/
4275 #define IDirect3DRMFrameArray_GetSize(p) (p)->GetSize()
4276 /*** IDirect3DRMFrameArray methods ***/
4277 #define IDirect3DRMFrameArray_GetElement(p,a,b) (p)->GetElement(a,b)
4280 /*****************************************************************************
4281 * IDirect3DRMViewportArray interface
4283 #define INTERFACE IDirect3DRMViewportArray
4284 DECLARE_INTERFACE_(IDirect3DRMViewportArray, IDirect3DRMArray)
4286 /*** IUnknown methods ***/
4287 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4288 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4289 STDMETHOD_(ULONG,Release)(THIS) PURE;
4290 /*** IDirect3DRMArray methods ***/
4291 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4292 /*** IDirect3DRMViewportArray methods ***/
4293 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMVIEWPORT *) PURE;
4297 #if !defined(__cplusplus) || defined(CINTERFACE)
4298 /*** IUnknown methods ***/
4299 #define IDirect3DRMViewportArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4300 #define IDirect3DRMViewportArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4301 #define IDirect3DRMViewportArray_Release(p) (p)->lpVtbl->Release(p)
4302 /*** IDirect3DRMArray methods ***/
4303 #define IDirect3DRMViewportArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4304 /*** IDirect3DRMViewportArray methods ***/
4305 #define IDirect3DRMViewportArray_GetElement(p,a,b) (p)->lpVtbl->GetElement(p,a,b)
4307 /*** IUnknown methods ***/
4308 #define IDirect3DRMViewportArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4309 #define IDirect3DRMViewportArray_AddRef(p) (p)->AddRef()
4310 #define IDirect3DRMViewportArray_Release(p) (p)->Release()
4311 /*** IDirect3DRMArray methods ***/
4312 #define IDirect3DRMViewportArray_GetSize(p) (p)->GetSize()
4313 /*** IDirect3DRMViewportArray methods ***/
4314 #define IDirect3DRMviewportArray_GetElement(p,a,b) (p)->GetElement(a,b)
4317 /*****************************************************************************
4318 * IDirect3DRMVisualArray interface
4320 #define INTERFACE IDirect3DRMVisualArray
4321 DECLARE_INTERFACE_(IDirect3DRMVisualArray, IDirect3DRMArray)
4323 /*** IUnknown methods ***/
4324 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4325 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4326 STDMETHOD_(ULONG,Release)(THIS) PURE;
4327 /*** IDirect3DRMArray methods ***/
4328 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4329 /*** IDirect3DRMVisualArray methods ***/
4330 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMVISUAL *) PURE;
4334 #if !defined(__cplusplus) || defined(CINTERFACE)
4335 /*** IUnknown methods ***/
4336 #define IDirect3DRMVisualArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4337 #define IDirect3DRMVisualArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4338 #define IDirect3DRMVisualArray_Release(p) (p)->lpVtbl->Release(p)
4339 /*** IDirect3DRMArray methods ***/
4340 #define IDirect3DRMVisualArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4341 /*** IDirect3DRMVisualArray methods ***/
4342 #define IDirect3DRMVisualArray_GetElement(p,a,b) (p)->lpVtbl->GetElement(p,a,b)
4344 /*** IUnknown methods ***/
4345 #define IDirect3DRMVisualArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4346 #define IDirect3DRMVisualArray_AddRef(p) (p)->AddRef()
4347 #define IDirect3DRMVisualArray_Release(p) (p)->Release()
4348 /*** IDirect3DRMArray methods ***/
4349 #define IDirect3DRMVisualArray_GetSize(p) (p)->GetSize()
4350 /*** IDirect3DRMVisualArray methods ***/
4351 #define IDirect3DRMVisualArray_GetElement(p,a,b) (p)->GetElement(a,b)
4354 /*****************************************************************************
4355 * IDirect3DRMAnimationArray interface
4357 #define INTERFACE IDirect3DRMAnimationArray
4358 DECLARE_INTERFACE_(IDirect3DRMAnimationArray, IDirect3DRMArray)
4360 /*** IUnknown methods ***/
4361 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4362 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4363 STDMETHOD_(ULONG,Release)(THIS) PURE;
4364 /*** IDirect3DRMArray methods ***/
4365 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4366 /*** IDirect3DRMAnimationArray methods ***/
4367 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMANIMATION2 *) PURE;
4371 #if !defined(__cplusplus) || defined(CINTERFACE)
4372 /*** IUnknown methods ***/
4373 #define IDirect3DRMAnimationArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4374 #define IDirect3DRMAnimationArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4375 #define IDirect3DRMAnimationArray_Release(p) (p)->lpVtbl->Release(p)
4376 /*** IDirect3DRMArray methods ***/
4377 #define IDirect3DRMAnimationArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4378 /*** IDirect3DRMAnimationArray methods ***/
4379 #define IDirect3DRMAnimationArray_GetElement(p,a,b) (p)->lpVtbl->GetElement(p,a,b)
4381 /*** IUnknown methods ***/
4382 #define IDirect3DRMAnimationArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4383 #define IDirect3DRMAnimationArray_AddRef(p) (p)->AddRef()
4384 #define IDirect3DRMAnimationArray_Release(p) (p)->Release()
4385 /*** IDirect3DRMArray methods ***/
4386 #define IDirect3DRMAnimationArray_GetSize(p) (p)->GetSize()
4387 /*** IDirect3DRMAnimationArray methods ***/
4388 #define IDirect3DRMAnimationArray_GetElement(p,a,b) (p)->GetElement(a,b)
4391 /*****************************************************************************
4392 * IDirect3DRMPickedArray interface
4394 #define INTERFACE IDirect3DRMPickedArray
4395 DECLARE_INTERFACE_(IDirect3DRMPickedArray, IDirect3DRMArray)
4397 /*** IUnknown methods ***/
4398 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4399 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4400 STDMETHOD_(ULONG,Release)(THIS) PURE;
4401 /*** IDirect3DRMArray methods ***/
4402 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4403 /*** IDirect3DRMPickedArray methods ***/
4404 STDMETHOD(GetPick)(THIS_ DWORD index, LPDIRECT3DRMVISUAL *, LPDIRECT3DRMFRAMEARRAY *, LPD3DRMPICKDESC) PURE;
4408 #if !defined(__cplusplus) || defined(CINTERFACE)
4409 /*** IUnknown methods ***/
4410 #define IDirect3DRMPickedArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4411 #define IDirect3DRMPickedArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4412 #define IDirect3DRMPickedArray_Release(p) (p)->lpVtbl->Release(p)
4413 /*** IDirect3DRMArray methods ***/
4414 #define IDirect3DRMPickedArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4415 /*** IDirect3DRMPickedArray methods ***/
4416 #define IDirect3DRMPickedArray_GetPick(p,a,b,c,d) (p)->lpVtbl->GetPick(p,a,b,c,d)
4418 /*** IUnknown methods ***/
4419 #define IDirect3DRMPickedArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4420 #define IDirect3DRMPickedArray_AddRef(p) (p)->AddRef()
4421 #define IDirect3DRMPickedArray_Release(p) (p)->Release()
4422 /*** IDirect3DRMArray methods ***/
4423 #define IDirect3DRMPickedArray_GetSize(p) (p)->GetSize()
4424 /*** IDirect3DRMPickedArray methods ***/
4425 #define IDirect3DRMPickedArray_GetPick(p,a,b,c,d) (p)->GetPick(a,b,c,d)
4428 /*****************************************************************************
4429 * IDirect3DRMLightArray interface
4431 #define INTERFACE IDirect3DRMLightArray
4432 DECLARE_INTERFACE_(IDirect3DRMLightArray, IDirect3DRMArray)
4434 /*** IUnknown methods ***/
4435 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4436 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4437 STDMETHOD_(ULONG,Release)(THIS) PURE;
4438 /*** IDirect3DRMArray methods ***/
4439 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4440 /*** IDirect3DRMLightArray methods ***/
4441 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMLIGHT *) PURE;
4445 #if !defined(__cplusplus) || defined(CINTERFACE)
4446 /*** IUnknown methods ***/
4447 #define IDirect3DRMLightArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4448 #define IDirect3DRMLightArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4449 #define IDirect3DRMLightArray_Release(p) (p)->lpVtbl->Release(p)
4450 /*** IDirect3DRMArray methods ***/
4451 #define IDirect3DRMLightArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4452 /*** IDirect3DRMLightArray methods ***/
4453 #define IDirect3DRMLightArray_GetElement(p,a,b) (p)->lpVtbl->GetElement(p,a,b)
4455 /*** IUnknown methods ***/
4456 #define IDirect3DRMLightArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4457 #define IDirect3DRMLightArray_AddRef(p) (p)->AddRef()
4458 #define IDirect3DRMLightArray_Release(p) (p)->Release()
4459 /*** IDirect3DRMArray methods ***/
4460 #define IDirect3DRMLightArray_GetSize(p) (p)->GetSize()
4461 /*** IDirect3DRMLightArray methods ***/
4462 #define IDirect3DRMLightArray_GetElement(p,a,b) (p)->GetElement(a,b)
4465 /*****************************************************************************
4466 * IDirect3DRMFaceArray interface
4468 #define INTERFACE IDirect3DRMFaceArray
4469 DECLARE_INTERFACE_(IDirect3DRMFaceArray, IDirect3DRMArray)
4471 /*** IUnknown methods ***/
4472 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4473 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4474 STDMETHOD_(ULONG,Release)(THIS) PURE;
4475 /*** IDirect3DRMArray methods ***/
4476 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4477 /*** IDirect3DRMFaceArray methods ***/
4478 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMFACE *) PURE;
4482 #if !defined(__cplusplus) || defined(CINTERFACE)
4483 /*** IUnknown methods ***/
4484 #define IDirect3DRMFaceArray_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4485 #define IDirect3DRMFaceArray_AddRef(p) (p)->lpVtbl->AddRef(p)
4486 #define IDirect3DRMFaceArray_Release(p) (p)->lpVtbl->Release(p)
4487 /*** IDirect3DRMArray methods ***/
4488 #define IDirect3DRMFaceArray_GetSize(p) (p)->lpVtbl->GetSize(p)
4489 /*** IDirect3DRMFaceArray methods ***/
4490 #define IDirect3DRMFaceArray_GetElement(p,a,b) (p)->lpVtbl->GetElement(p,a,b)
4492 /*** IUnknown methods ***/
4493 #define IDirect3DRMFaceArray_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4494 #define IDirect3DRMFaceArray_AddRef(p) (p)->AddRef()
4495 #define IDirect3DRMFaceArray_Release(p) (p)->Release()
4496 /*** IDirect3DRMArray methods ***/
4497 #define IDirect3DRMFaceArray_GetSize(p) (p)->GetSize()
4498 /*** IDirect3DRMFaceArray methods ***/
4499 #define IDirect3DRMFaceArray_GetElement(p,a,b) (p)->GetElement(a,b)
4502 /*****************************************************************************
4503 * IDirect3DRMPicked2Array interface
4505 #define INTERFACE IDirect3DRMPicked2Array
4506 DECLARE_INTERFACE_(IDirect3DRMPicked2Array, IDirect3DRMArray)
4508 /*** IUnknown methods ***/
4509 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4510 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4511 STDMETHOD_(ULONG,Release)(THIS) PURE;
4512 /*** IDirect3DRMArray methods ***/
4513 STDMETHOD_(DWORD, GetSize)(THIS) PURE;
4514 /*** IDirect3DRMPicked2Array methods ***/
4515 STDMETHOD(GetPick)(THIS_ DWORD index, LPDIRECT3DRMVISUAL *, LPDIRECT3DRMFRAMEARRAY *, LPD3DRMPICKDESC2) PURE;
4519 #if !defined(__cplusplus) || defined(CINTERFACE)
4520 /*** IUnknown methods ***/
4521 #define IDirect3DRMPicked2Array_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4522 #define IDirect3DRMPicked2Array_AddRef(p) (p)->lpVtbl->AddRef(p)
4523 #define IDirect3DRMPicked2Array_Release(p) (p)->lpVtbl->Release(p)
4524 /*** IDirect3DRMArray methods ***/
4525 #define IDirect3DRMPicked2Array_GetSize(p) (p)->lpVtbl->GetSize(p)
4526 /*** IDirect3DRMPicked2Array methods ***/
4527 #define IDirect3DRMPicked2Array_GetPick(p,a,b,c,d) (p)->lpVtbl->GetPick(p,a,b,c,d)
4529 /*** IUnknown methods ***/
4530 #define IDirect3DRMPicked2Array_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4531 #define IDirect3DRMPicked2Array_AddRef(p) (p)->AddRef()
4532 #define IDirect3DRMPicked2Array_Release(p) (p)->Release()
4533 /*** IDirect3DRMArray methods ***/
4534 #define IDirect3DRMPicked2Array_GetSize(p) (p)->GetSize()
4535 /*** IDirect3DRMPicked2Array methods ***/
4536 #define IDirect3DRMPicked2Array_GetPick(p,a,b,c,d) (p)->GetPick(a,b,c,d)
4539 /*****************************************************************************
4540 * IDirect3DRMInterpolator interface
4542 #define INTERFACE IDirect3DRMInterpolator
4543 DECLARE_INTERFACE_(IDirect3DRMInterpolator, IDirect3DRMObject)
4545 /*** IUnknown methods ***/
4546 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4547 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4548 STDMETHOD_(ULONG,Release)(THIS) PURE;
4549 /*** IDirect3DRMObject methods ***/
4550 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
4551 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
4552 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
4553 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
4554 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
4555 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
4556 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
4557 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
4558 /*** IDirect3DRMInterpolator methods ***/
4559 STDMETHOD(AttachObject)(THIS_ LPDIRECT3DRMOBJECT) PURE;
4560 STDMETHOD(GetAttachedObjects)(THIS_ LPDIRECT3DRMOBJECTARRAY *) PURE;
4561 STDMETHOD(DetachObject)(THIS_ LPDIRECT3DRMOBJECT) PURE;
4562 STDMETHOD(SetIndex)(THIS_ D3DVALUE) PURE;
4563 STDMETHOD_(D3DVALUE, GetIndex)(THIS) PURE;
4564 STDMETHOD(Interpolate)(THIS_ D3DVALUE, LPDIRECT3DRMOBJECT, D3DRMINTERPOLATIONOPTIONS) PURE;
4568 #if !defined(__cplusplus) || defined(CINTERFACE)
4569 /*** IUnknown methods ***/
4570 #define IDirect3DRMInterpolator_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4571 #define IDirect3DRMInterpolator_AddRef(p) (p)->lpVtbl->AddRef(p)
4572 #define IDirect3DRMInterpolator_Release(p) (p)->lpVtbl->Release(p)
4573 /*** IDirect3DRMObject methods ***/
4574 #define IDirect3DRMInterpolator_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
4575 #define IDirect3DRMInterpolator_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
4576 #define IDirect3DRMInterpolator_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
4577 #define IDirect3DRMInterpolator_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
4578 #define IDirect3DRMInterpolator_GetAppData(p) (p)->lpVtbl->GetAppData(p)
4579 #define IDirect3DRMInterpolator_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4580 #define IDirect3DRMInterpolator_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
4581 #define IDirect3DRMInterpolator_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
4582 /*** IDirect3DRMInterpolator methods ***/
4583 #define IDirect3DRMInterpolator_AttachObject(p,a) (p)->lpVtbl->AttachObject(p,a)
4584 #define IDirect3DRMInterpolator_GetAttachedObjects(p,a) (p)->lpVtbl->GetAttachedObjects(p,a)
4585 #define IDirect3DRMInterpolator_DetachObject(p,a) (p)->lpVtbl->DetachObject(p,a)
4586 #define IDirect3DRMInterpolator_SetIndex(p,a) (p)->lpVtbl->SetIndex(p,a)
4587 #define IDirect3DRMInterpolator_GetIndex(p) (p)->lpVtbl->GetIndex(p)
4588 #define IDirect3DRMInterpolator_Interpolate(p,a,b,c) (p)->lpVtbl->Interpolate(p,a,b,c)
4590 /*** IUnknown methods ***/
4591 #define IDirect3DRMInterpolator_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4592 #define IDirect3DRMInterpolator_AddRef(p) (p)->AddRef()
4593 #define IDirect3DRMInterpolator_Release(p) (p)->Release()
4594 /*** IDirect3DRMObject methods ***/
4595 #define IDirect3DRMInterpolator_Clone(p,a,b,c) (p)->Clone(a,b,c)
4596 #define IDirect3DRMInterpolator_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
4597 #define IDirect3DRMInterpolator_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
4598 #define IDirect3DRMInterpolator_SetAppData(p,a) (p)->SetAppData(a)
4599 #define IDirect3DRMInterpolator_GetAppData(p) (p)->GetAppData()
4600 #define IDirect3DRMInterpolator_SetName(p,a) (p)->SetName(a)
4601 #define IDirect3DRMInterpolator_GetName(p,a,b) (p)->GetName(a,b)
4602 #define IDirect3DRMInterpolator_GetClassName(p,a,b) (p)->GetClassName(a,b)
4603 /*** IDirect3DRMInterpolator methods ***/
4604 #define IDirect3DRMInterpolator_AttachObject(p,a) (p)->AttachObject(a)
4605 #define IDirect3DRMInterpolator_GetAttachedObjects(p,a) (p)->GetAttachedObjects(a)
4606 #define IDirect3DRMInterpolator_DetachObject(p,a) (p)->DetachObject(a)
4607 #define IDirect3DRMInterpolator_SetIndex(p,a) (p)->SetIndex(a)
4608 #define IDirect3DRMInterpolator_GetIndex(p) (p)->GetIndex()
4609 #define IDirect3DRMInterpolator_Interpolate(p,a,b,c) (p)->Interpolate(a,b,c)
4612 /*****************************************************************************
4613 * IDirect3DRMClippedVisual interface
4615 #define INTERFACE IDirect3DRMClippedVisual
4616 DECLARE_INTERFACE_(IDirect3DRMClippedVisual, IDirect3DRMVisual)
4618 /*** IUnknown methods ***/
4619 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
4620 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
4621 STDMETHOD_(ULONG,Release)(THIS) PURE;
4622 /*** IDirect3DRMObject methods ***/
4623 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
4624 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
4625 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
4626 STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
4627 STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
4628 STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
4629 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
4630 STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
4631 /*** IDirect3DRMClippedVisual methods ***/
4632 STDMETHOD(Init) (THIS_ LPDIRECT3DRMVISUAL) PURE;
4633 STDMETHOD(AddPlane) (THIS_ LPDIRECT3DRMFRAME3, LPD3DVECTOR, LPD3DVECTOR, DWORD, LPDWORD) PURE;
4634 STDMETHOD(DeletePlane)(THIS_ DWORD, DWORD) PURE;
4635 STDMETHOD(GetPlaneIDs)(THIS_ LPDWORD, LPDWORD, DWORD) PURE;
4636 STDMETHOD(GetPlane) (THIS_ DWORD, LPDIRECT3DRMFRAME3, LPD3DVECTOR, LPD3DVECTOR, DWORD) PURE;
4637 STDMETHOD(SetPlane) (THIS_ DWORD, LPDIRECT3DRMFRAME3, LPD3DVECTOR, LPD3DVECTOR, DWORD) PURE;
4641 #if !defined(__cplusplus) || defined(CINTERFACE)
4642 /*** IUnknown methods ***/
4643 #define IDirect3DRMClippedVisual_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4644 #define IDirect3DRMClippedVisual_AddRef(p) (p)->lpVtbl->AddRef(p)
4645 #define IDirect3DRMClippedVisual_Release(p) (p)->lpVtbl->Release(p)
4646 /*** IDirect3DRMObject methods ***/
4647 #define IDirect3DRMClippedVisual_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
4648 #define IDirect3DRMClippedVisual_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
4649 #define IDirect3DRMClippedVisual_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
4650 #define IDirect3DRMClippedVisual_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
4651 #define IDirect3DRMClippedVisual_GetAppData(p) (p)->lpVtbl->GetAppData(p)
4652 #define IDirect3DRMClippedVisual_SetName(p,a) (p)->lpVtbl->SetName(p,a)
4653 #define IDirect3DRMClippedVisual_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
4654 #define IDirect3DRMClippedVisual_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
4655 /*** IDirect3DRMClippedVisual methods ***/
4656 #define IDirect3DRMClippedVisual_Init(p,a) (p)->lpVtbl->Init(p,a)
4657 #define IDirect3DRMClippedVisual_AddPlane(p,a,b,c,d,e) (p)->lpVtbl->AddPlane(p,a,b,c,d,e)
4658 #define IDirect3DRMClippedVisual_DeletePlane(p,a,b) (p)->lpVtbl->DeletePlane(p,a,b)
4659 #define IDirect3DRMClippedVisual_GetPlaneIDs(p,a,b,c) (p)->lpVtbl->GetPlaneIDs(p,a,b,c)
4660 #define IDirect3DRMClippedVisual_GetPlane(p,a,b,c,d,e) (p)->lpVtbl->GetPlane(p,a,b,c,d,e)
4661 #define IDirect3DRMClippedVisual_SetPlane(p,a,b,c,d,e) (p)->lpVtbl->SetPlane(p,a,b,c,d,e)
4663 /*** IUnknown methods ***/
4664 #define IDirect3DRMClippedVisual_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
4665 #define IDirect3DRMClippedVisual_AddRef(p) (p)->AddRef()
4666 #define IDirect3DRMClippedVisual_Release(p) (p)->Release()
4667 /*** IDirect3DRMObject methods ***/
4668 #define IDirect3DRMClippedVisual_Clone(p,a,b,c) (p)->Clone(a,b,c)
4669 #define IDirect3DRMClippedVisual_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
4670 #define IDirect3DRMClippedVisual_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
4671 #define IDirect3DRMClippedVisual_SetAppData(p,a) (p)->SetAppData(a)
4672 #define IDirect3DRMClippedVisual_GetAppData(p) (p)->GetAppData()
4673 #define IDirect3DRMClippedVisual_SetName(p,a) (p)->SetName(a)
4674 #define IDirect3DRMClippedVisual_GetName(p,a,b) (p)->GetName(a,b)
4675 #define IDirect3DRMClippedVisual_GetClassName(p,a,b) (p)->GetClassName(a,b)
4676 /*** IDirect3DRMClippedVisual methods ***/
4677 #define IDirect3DRMClippedVisual_Init(p,a) (p)->Init(a)
4678 #define IDirect3DRMClippedVisual_AddPlane(p,a,b,c,d,e) (p)->AddPlane(a,b,c,d,e)
4679 #define IDirect3DRMClippedVisual_DeletePlane(p,a,b) (p)->DeletePlane(a,b)
4680 #define IDirect3DRMClippedVisual_GetPlaneIDs(p,a,b,c) (p)->GetPlaneIDs(a,b,c)
4681 #define IDirect3DRMClippedVisual_GetPlane(p,a,b,c,d,e) (p)->GetPlane(a,b,c,d,e)
4682 #define IDirect3DRMClippedVisual_SetPlane(p,a,b,c,d,e) (p)->SetPlane(a,b,c,d,e)
4689 #endif /* __D3DRMOBJ_H__ */