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