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