Mercurial > mm7
comparison lib/legacy_dx/d3drmobj.h @ 0:9c0607679772
init
author | Ritor1 |
---|---|
date | Sat, 12 Jan 2013 09:45:18 +0600 |
parents | |
children | 934074e7fcc1 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:9c0607679772 |
---|---|
1 /*==========================================================================; | |
2 * | |
3 * Copyright (c) Microsoft Corporation. All rights reserved. | |
4 * | |
5 * File: d3drm.h | |
6 * Content: Direct3DRM include file | |
7 * | |
8 ***************************************************************************/ | |
9 | |
10 #ifndef _D3DRMOBJ_H_ | |
11 #define _D3DRMOBJ_H_ | |
12 | |
13 #include <objbase.h> /* Use Windows header files */ | |
14 #define VIRTUAL | |
15 #include "d3drmdef.h" | |
16 | |
17 #include "d3d.h" | |
18 | |
19 #ifdef __cplusplus | |
20 extern "C" { | |
21 #endif | |
22 | |
23 /* | |
24 * The methods for IUnknown | |
25 */ | |
26 #define IUNKNOWN_METHODS(kind) \ | |
27 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) kind; \ | |
28 STDMETHOD_(ULONG, AddRef) (THIS) kind; \ | |
29 STDMETHOD_(ULONG, Release) (THIS) kind | |
30 | |
31 /* | |
32 * The methods for IDirect3DRMObject | |
33 */ | |
34 #define IDIRECT3DRMOBJECT_METHODS(kind) \ | |
35 STDMETHOD(Clone) (THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) kind; \ | |
36 STDMETHOD(AddDestroyCallback) (THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) kind; \ | |
37 STDMETHOD(DeleteDestroyCallback) (THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) kind; \ | |
38 STDMETHOD(SetAppData) (THIS_ DWORD data) kind; \ | |
39 STDMETHOD_(DWORD, GetAppData) (THIS) kind; \ | |
40 STDMETHOD(SetName) (THIS_ LPCSTR) kind; \ | |
41 STDMETHOD(GetName) (THIS_ LPDWORD lpdwSize, LPSTR lpName) kind; \ | |
42 STDMETHOD(GetClassName) (THIS_ LPDWORD lpdwSize, LPSTR lpName) kind | |
43 | |
44 | |
45 #define WIN_TYPES(itype, ptype) \ | |
46 typedef interface itype FAR *LP##ptype, FAR **LPLP##ptype | |
47 | |
48 WIN_TYPES(IDirect3DRMObject, DIRECT3DRMOBJECT); | |
49 WIN_TYPES(IDirect3DRMObject2, DIRECT3DRMOBJECT2); | |
50 WIN_TYPES(IDirect3DRMDevice, DIRECT3DRMDEVICE); | |
51 WIN_TYPES(IDirect3DRMDevice2, DIRECT3DRMDEVICE2); | |
52 WIN_TYPES(IDirect3DRMDevice3, DIRECT3DRMDEVICE3); | |
53 WIN_TYPES(IDirect3DRMViewport, DIRECT3DRMVIEWPORT); | |
54 WIN_TYPES(IDirect3DRMViewport2, DIRECT3DRMVIEWPORT2); | |
55 WIN_TYPES(IDirect3DRMFrame, DIRECT3DRMFRAME); | |
56 WIN_TYPES(IDirect3DRMFrame2, DIRECT3DRMFRAME2); | |
57 WIN_TYPES(IDirect3DRMFrame3, DIRECT3DRMFRAME3); | |
58 WIN_TYPES(IDirect3DRMVisual, DIRECT3DRMVISUAL); | |
59 WIN_TYPES(IDirect3DRMMesh, DIRECT3DRMMESH); | |
60 WIN_TYPES(IDirect3DRMMeshBuilder, DIRECT3DRMMESHBUILDER); | |
61 WIN_TYPES(IDirect3DRMMeshBuilder2, DIRECT3DRMMESHBUILDER2); | |
62 WIN_TYPES(IDirect3DRMMeshBuilder3, DIRECT3DRMMESHBUILDER3); | |
63 WIN_TYPES(IDirect3DRMFace, DIRECT3DRMFACE); | |
64 WIN_TYPES(IDirect3DRMFace2, DIRECT3DRMFACE2); | |
65 WIN_TYPES(IDirect3DRMLight, DIRECT3DRMLIGHT); | |
66 WIN_TYPES(IDirect3DRMTexture, DIRECT3DRMTEXTURE); | |
67 WIN_TYPES(IDirect3DRMTexture2, DIRECT3DRMTEXTURE2); | |
68 WIN_TYPES(IDirect3DRMTexture3, DIRECT3DRMTEXTURE3); | |
69 WIN_TYPES(IDirect3DRMWrap, DIRECT3DRMWRAP); | |
70 WIN_TYPES(IDirect3DRMMaterial, DIRECT3DRMMATERIAL); | |
71 WIN_TYPES(IDirect3DRMMaterial2, DIRECT3DRMMATERIAL2); | |
72 WIN_TYPES(IDirect3DRMInterpolator, DIRECT3DRMINTERPOLATOR); | |
73 WIN_TYPES(IDirect3DRMAnimation, DIRECT3DRMANIMATION); | |
74 WIN_TYPES(IDirect3DRMAnimation2, DIRECT3DRMANIMATION2); | |
75 WIN_TYPES(IDirect3DRMAnimationSet, DIRECT3DRMANIMATIONSET); | |
76 WIN_TYPES(IDirect3DRMAnimationSet2, DIRECT3DRMANIMATIONSET2); | |
77 WIN_TYPES(IDirect3DRMUserVisual, DIRECT3DRMUSERVISUAL); | |
78 WIN_TYPES(IDirect3DRMShadow, DIRECT3DRMSHADOW); | |
79 WIN_TYPES(IDirect3DRMShadow2, DIRECT3DRMSHADOW2); | |
80 WIN_TYPES(IDirect3DRMArray, DIRECT3DRMARRAY); | |
81 WIN_TYPES(IDirect3DRMObjectArray, DIRECT3DRMOBJECTARRAY); | |
82 WIN_TYPES(IDirect3DRMDeviceArray, DIRECT3DRMDEVICEARRAY); | |
83 WIN_TYPES(IDirect3DRMFaceArray, DIRECT3DRMFACEARRAY); | |
84 WIN_TYPES(IDirect3DRMViewportArray, DIRECT3DRMVIEWPORTARRAY); | |
85 WIN_TYPES(IDirect3DRMFrameArray, DIRECT3DRMFRAMEARRAY); | |
86 WIN_TYPES(IDirect3DRMAnimationArray, DIRECT3DRMANIMATIONARRAY); | |
87 WIN_TYPES(IDirect3DRMVisualArray, DIRECT3DRMVISUALARRAY); | |
88 WIN_TYPES(IDirect3DRMPickedArray, DIRECT3DRMPICKEDARRAY); | |
89 WIN_TYPES(IDirect3DRMPicked2Array, DIRECT3DRMPICKED2ARRAY); | |
90 WIN_TYPES(IDirect3DRMLightArray, DIRECT3DRMLIGHTARRAY); | |
91 WIN_TYPES(IDirect3DRMProgressiveMesh, DIRECT3DRMPROGRESSIVEMESH); | |
92 WIN_TYPES(IDirect3DRMClippedVisual, DIRECT3DRMCLIPPEDVISUAL); | |
93 | |
94 /* | |
95 * Direct3DRM Object classes | |
96 */ | |
97 DEFINE_GUID(CLSID_CDirect3DRMDevice, 0x4fa3568e, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
98 DEFINE_GUID(CLSID_CDirect3DRMViewport, 0x4fa3568f, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
99 DEFINE_GUID(CLSID_CDirect3DRMFrame, 0x4fa35690, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
100 DEFINE_GUID(CLSID_CDirect3DRMMesh, 0x4fa35691, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
101 DEFINE_GUID(CLSID_CDirect3DRMMeshBuilder, 0x4fa35692, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
102 DEFINE_GUID(CLSID_CDirect3DRMFace, 0x4fa35693, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
103 DEFINE_GUID(CLSID_CDirect3DRMLight, 0x4fa35694, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
104 DEFINE_GUID(CLSID_CDirect3DRMTexture, 0x4fa35695, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
105 DEFINE_GUID(CLSID_CDirect3DRMWrap, 0x4fa35696, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
106 DEFINE_GUID(CLSID_CDirect3DRMMaterial, 0x4fa35697, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
107 DEFINE_GUID(CLSID_CDirect3DRMAnimation, 0x4fa35698, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
108 DEFINE_GUID(CLSID_CDirect3DRMAnimationSet, 0x4fa35699, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
109 DEFINE_GUID(CLSID_CDirect3DRMUserVisual, 0x4fa3569a, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
110 DEFINE_GUID(CLSID_CDirect3DRMShadow, 0x4fa3569b, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
111 DEFINE_GUID(CLSID_CDirect3DRMViewportInterpolator, | |
112 0xde9eaa1, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3); | |
113 DEFINE_GUID(CLSID_CDirect3DRMFrameInterpolator, | |
114 0xde9eaa2, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3); | |
115 DEFINE_GUID(CLSID_CDirect3DRMMeshInterpolator, | |
116 0xde9eaa3, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3); | |
117 DEFINE_GUID(CLSID_CDirect3DRMLightInterpolator, | |
118 0xde9eaa6, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3); | |
119 DEFINE_GUID(CLSID_CDirect3DRMMaterialInterpolator, | |
120 0xde9eaa7, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3); | |
121 DEFINE_GUID(CLSID_CDirect3DRMTextureInterpolator, | |
122 0xde9eaa8, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3); | |
123 DEFINE_GUID(CLSID_CDirect3DRMProgressiveMesh, 0x4516ec40, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3); | |
124 DEFINE_GUID(CLSID_CDirect3DRMClippedVisual, 0x5434e72d, 0x6d66, 0x11d1, 0xbb, 0xb, 0x0, 0x0, 0xf8, 0x75, 0x86, 0x5a); | |
125 | |
126 | |
127 /* | |
128 * Direct3DRM Object interfaces | |
129 */ | |
130 DEFINE_GUID(IID_IDirect3DRMObject, 0xeb16cb00, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
131 DEFINE_GUID(IID_IDirect3DRMObject2, 0x4516ec7c, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3); | |
132 DEFINE_GUID(IID_IDirect3DRMDevice, 0xe9e19280, 0x6e05, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
133 DEFINE_GUID(IID_IDirect3DRMDevice2, 0x4516ec78, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3); | |
134 DEFINE_GUID(IID_IDirect3DRMDevice3, 0x549f498b, 0xbfeb, 0x11d1, 0x8e, 0xd8, 0x0, 0xa0, 0xc9, 0x67, 0xa4, 0x82); | |
135 DEFINE_GUID(IID_IDirect3DRMViewport, 0xeb16cb02, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
136 DEFINE_GUID(IID_IDirect3DRMViewport2, 0x4a1b1be6, 0xbfed, 0x11d1, 0x8e, 0xd8, 0x0, 0xa0, 0xc9, 0x67, 0xa4, 0x82); | |
137 DEFINE_GUID(IID_IDirect3DRMFrame, 0xeb16cb03, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
138 DEFINE_GUID(IID_IDirect3DRMFrame2, 0xc3dfbd60, 0x3988, 0x11d0, 0x9e, 0xc2, 0x0, 0x0, 0xc0, 0x29, 0x1a, 0xc3); | |
139 DEFINE_GUID(IID_IDirect3DRMFrame3, 0xff6b7f70, 0xa40e, 0x11d1, 0x91, 0xf9, 0x0, 0x0, 0xf8, 0x75, 0x8e, 0x66); | |
140 DEFINE_GUID(IID_IDirect3DRMVisual, 0xeb16cb04, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
141 DEFINE_GUID(IID_IDirect3DRMMesh, 0xa3a80d01, 0x6e12, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
142 DEFINE_GUID(IID_IDirect3DRMMeshBuilder, 0xa3a80d02, 0x6e12, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
143 DEFINE_GUID(IID_IDirect3DRMMeshBuilder2, 0x4516ec77, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3); | |
144 DEFINE_GUID(IID_IDirect3DRMMeshBuilder3, 0x4516ec82, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3); | |
145 DEFINE_GUID(IID_IDirect3DRMFace, 0xeb16cb07, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
146 DEFINE_GUID(IID_IDirect3DRMFace2, 0x4516ec81, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3); | |
147 DEFINE_GUID(IID_IDirect3DRMLight, 0xeb16cb08, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
148 DEFINE_GUID(IID_IDirect3DRMTexture, 0xeb16cb09, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
149 DEFINE_GUID(IID_IDirect3DRMTexture2, 0x120f30c0, 0x1629, 0x11d0, 0x94, 0x1c, 0x0, 0x80, 0xc8, 0xc, 0xfa, 0x7b); | |
150 DEFINE_GUID(IID_IDirect3DRMTexture3, 0xff6b7f73, 0xa40e, 0x11d1, 0x91, 0xf9, 0x0, 0x0, 0xf8, 0x75, 0x8e, 0x66); | |
151 DEFINE_GUID(IID_IDirect3DRMWrap, 0xeb16cb0a, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
152 DEFINE_GUID(IID_IDirect3DRMMaterial, 0xeb16cb0b, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
153 DEFINE_GUID(IID_IDirect3DRMMaterial2, 0xff6b7f75, 0xa40e, 0x11d1, 0x91, 0xf9, 0x0, 0x0, 0xf8, 0x75, 0x8e, 0x66); | |
154 DEFINE_GUID(IID_IDirect3DRMAnimation, 0xeb16cb0d, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
155 DEFINE_GUID(IID_IDirect3DRMAnimation2, 0xff6b7f77, 0xa40e, 0x11d1, 0x91, 0xf9, 0x0, 0x0, 0xf8, 0x75, 0x8e, 0x66); | |
156 DEFINE_GUID(IID_IDirect3DRMAnimationSet, 0xeb16cb0e, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
157 DEFINE_GUID(IID_IDirect3DRMAnimationSet2, 0xff6b7f79, 0xa40e, 0x11d1, 0x91, 0xf9, 0x0, 0x0, 0xf8, 0x75, 0x8e, 0x66); | |
158 DEFINE_GUID(IID_IDirect3DRMObjectArray, 0x242f6bc2, 0x3849, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3); | |
159 DEFINE_GUID(IID_IDirect3DRMDeviceArray, 0xeb16cb10, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
160 DEFINE_GUID(IID_IDirect3DRMViewportArray, 0xeb16cb11, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
161 DEFINE_GUID(IID_IDirect3DRMFrameArray, 0xeb16cb12, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
162 DEFINE_GUID(IID_IDirect3DRMVisualArray, 0xeb16cb13, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
163 DEFINE_GUID(IID_IDirect3DRMLightArray, 0xeb16cb14, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
164 DEFINE_GUID(IID_IDirect3DRMPickedArray, 0xeb16cb16, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
165 DEFINE_GUID(IID_IDirect3DRMFaceArray, 0xeb16cb17, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
166 DEFINE_GUID(IID_IDirect3DRMAnimationArray, | |
167 0xd5f1cae0, 0x4bd7, 0x11d1, 0xb9, 0x74, 0x0, 0x60, 0x8, 0x3e, 0x45, 0xf3); | |
168 DEFINE_GUID(IID_IDirect3DRMUserVisual, 0x59163de0, 0x6d43, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
169 DEFINE_GUID(IID_IDirect3DRMShadow, 0xaf359780, 0x6ba3, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); | |
170 DEFINE_GUID(IID_IDirect3DRMShadow2, 0x86b44e25, 0x9c82, 0x11d1, 0xbb, 0xb, 0x0, 0xa0, 0xc9, 0x81, 0xa0, 0xa6); | |
171 DEFINE_GUID(IID_IDirect3DRMInterpolator, 0x242f6bc1, 0x3849, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3); | |
172 DEFINE_GUID(IID_IDirect3DRMProgressiveMesh, 0x4516ec79, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3); | |
173 DEFINE_GUID(IID_IDirect3DRMPicked2Array, 0x4516ec7b, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3); | |
174 DEFINE_GUID(IID_IDirect3DRMClippedVisual, 0x5434e733, 0x6d66, 0x11d1, 0xbb, 0xb, 0x0, 0x0, 0xf8, 0x75, 0x86, 0x5a); | |
175 | |
176 typedef void (__cdecl *D3DRMOBJECTCALLBACK)(LPDIRECT3DRMOBJECT obj, LPVOID arg); | |
177 typedef void (__cdecl *D3DRMFRAMEMOVECALLBACK)(LPDIRECT3DRMFRAME obj, LPVOID arg, D3DVALUE delta); | |
178 typedef void (__cdecl *D3DRMFRAME3MOVECALLBACK)(LPDIRECT3DRMFRAME3 obj, LPVOID arg, D3DVALUE delta); | |
179 typedef void (__cdecl *D3DRMUPDATECALLBACK)(LPDIRECT3DRMDEVICE obj, LPVOID arg, int, LPD3DRECT); | |
180 typedef void (__cdecl *D3DRMDEVICE3UPDATECALLBACK)(LPDIRECT3DRMDEVICE3 obj, LPVOID arg, int, LPD3DRECT); | |
181 typedef int (__cdecl *D3DRMUSERVISUALCALLBACK) | |
182 ( LPDIRECT3DRMUSERVISUAL obj, LPVOID arg, D3DRMUSERVISUALREASON reason, | |
183 LPDIRECT3DRMDEVICE dev, LPDIRECT3DRMVIEWPORT view | |
184 ); | |
185 typedef HRESULT (__cdecl *D3DRMLOADTEXTURECALLBACK) | |
186 (char *tex_name, void *arg, LPDIRECT3DRMTEXTURE *); | |
187 typedef HRESULT (__cdecl *D3DRMLOADTEXTURE3CALLBACK) | |
188 (char *tex_name, void *arg, LPDIRECT3DRMTEXTURE3 *); | |
189 typedef void (__cdecl *D3DRMLOADCALLBACK) | |
190 (LPDIRECT3DRMOBJECT object, REFIID objectguid, LPVOID arg); | |
191 | |
192 typedef HRESULT (__cdecl *D3DRMDOWNSAMPLECALLBACK) | |
193 (LPDIRECT3DRMTEXTURE3 lpDirect3DRMTexture, LPVOID pArg, | |
194 LPDIRECTDRAWSURFACE pDDSSrc, LPDIRECTDRAWSURFACE pDDSDst); | |
195 typedef HRESULT (__cdecl *D3DRMVALIDATIONCALLBACK) | |
196 (LPDIRECT3DRMTEXTURE3 lpDirect3DRMTexture, LPVOID pArg, | |
197 DWORD dwFlags, DWORD dwcRects, LPRECT pRects); | |
198 | |
199 | |
200 typedef struct _D3DRMPICKDESC | |
201 { | |
202 ULONG ulFaceIdx; | |
203 LONG lGroupIdx; | |
204 D3DVECTOR vPosition; | |
205 | |
206 } D3DRMPICKDESC, *LPD3DRMPICKDESC; | |
207 | |
208 typedef struct _D3DRMPICKDESC2 | |
209 { | |
210 ULONG ulFaceIdx; | |
211 LONG lGroupIdx; | |
212 D3DVECTOR dvPosition; | |
213 D3DVALUE tu; | |
214 D3DVALUE tv; | |
215 D3DVECTOR dvNormal; | |
216 D3DCOLOR dcColor; | |
217 | |
218 } D3DRMPICKDESC2, *LPD3DRMPICKDESC2; | |
219 | |
220 #undef INTERFACE | |
221 #define INTERFACE IDirect3DRMObject | |
222 | |
223 /* | |
224 * Base class | |
225 */ | |
226 DECLARE_INTERFACE_(IDirect3DRMObject, IUnknown) | |
227 { | |
228 IUNKNOWN_METHODS(PURE); | |
229 IDIRECT3DRMOBJECT_METHODS(PURE); | |
230 }; | |
231 | |
232 #undef INTERFACE | |
233 #define INTERFACE IDirect3DRMObject2 | |
234 | |
235 DECLARE_INTERFACE_(IDirect3DRMObject2, IUnknown) | |
236 { | |
237 IUNKNOWN_METHODS(PURE); | |
238 | |
239 /* | |
240 * IDirect3DRMObject2 methods | |
241 */ | |
242 STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK lpFunc, LPVOID pvArg) PURE; | |
243 STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE; \ | |
244 STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK lpFunc, LPVOID pvArg) PURE; \ | |
245 STDMETHOD(GetClientData)(THIS_ DWORD dwID, LPVOID* lplpvData) PURE; | |
246 STDMETHOD(GetDirect3DRM)(THIS_ LPDIRECT3DRM* lplpDirect3DRM) PURE; | |
247 STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE; | |
248 STDMETHOD(SetClientData)(THIS_ DWORD dwID, LPVOID lpvData, DWORD dwFlags) PURE; | |
249 STDMETHOD(SetName)(THIS_ LPCSTR lpName) PURE; | |
250 STDMETHOD(GetAge)(THIS_ DWORD dwFlags, LPDWORD pdwAge) PURE; | |
251 }; | |
252 | |
253 #undef INTERFACE | |
254 #define INTERFACE IDirect3DRMVisual | |
255 | |
256 DECLARE_INTERFACE_(IDirect3DRMVisual, IDirect3DRMObject) | |
257 { | |
258 IUNKNOWN_METHODS(PURE); | |
259 IDIRECT3DRMOBJECT_METHODS(PURE); | |
260 }; | |
261 | |
262 #undef INTERFACE | |
263 #define INTERFACE IDirect3DRMDevice | |
264 | |
265 DECLARE_INTERFACE_(IDirect3DRMDevice, IDirect3DRMObject) | |
266 { | |
267 IUNKNOWN_METHODS(PURE); | |
268 IDIRECT3DRMOBJECT_METHODS(PURE); | |
269 | |
270 /* | |
271 * IDirect3DRMDevice methods | |
272 */ | |
273 STDMETHOD(Init)(THIS_ ULONG width, ULONG height) PURE; | |
274 STDMETHOD(InitFromD3D)(THIS_ LPDIRECT3D lpD3D, LPDIRECT3DDEVICE lpD3DDev) PURE; | |
275 STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper, LPGUID lpGUID, int width, int height) PURE; | |
276 | |
277 STDMETHOD(Update)(THIS) PURE; | |
278 STDMETHOD(AddUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE; | |
279 STDMETHOD(DeleteUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE; | |
280 STDMETHOD(SetBufferCount)(THIS_ DWORD) PURE; | |
281 STDMETHOD_(DWORD, GetBufferCount)(THIS) PURE; | |
282 | |
283 STDMETHOD(SetDither)(THIS_ BOOL) PURE; | |
284 STDMETHOD(SetShades)(THIS_ DWORD) PURE; | |
285 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE; | |
286 STDMETHOD(SetTextureQuality)(THIS_ D3DRMTEXTUREQUALITY) PURE; | |
287 | |
288 STDMETHOD(GetViewports)(THIS_ LPDIRECT3DRMVIEWPORTARRAY *return_views) PURE; | |
289 | |
290 STDMETHOD_(BOOL, GetDither)(THIS) PURE; | |
291 STDMETHOD_(DWORD, GetShades)(THIS) PURE; | |
292 STDMETHOD_(DWORD, GetHeight)(THIS) PURE; | |
293 STDMETHOD_(DWORD, GetWidth)(THIS) PURE; | |
294 STDMETHOD_(DWORD, GetTrianglesDrawn)(THIS) PURE; | |
295 STDMETHOD_(DWORD, GetWireframeOptions)(THIS) PURE; | |
296 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE; | |
297 STDMETHOD_(D3DCOLORMODEL, GetColorModel)(THIS) PURE; | |
298 STDMETHOD_(D3DRMTEXTUREQUALITY, GetTextureQuality)(THIS) PURE; | |
299 STDMETHOD(GetDirect3DDevice)(THIS_ LPDIRECT3DDEVICE *) PURE; | |
300 }; | |
301 | |
302 #undef INTERFACE | |
303 #define INTERFACE IDirect3DRMDevice2 | |
304 | |
305 DECLARE_INTERFACE_(IDirect3DRMDevice2, IDirect3DRMDevice) | |
306 { | |
307 IUNKNOWN_METHODS(PURE); | |
308 IDIRECT3DRMOBJECT_METHODS(PURE); | |
309 | |
310 /* | |
311 * IDirect3DRMDevice methods | |
312 */ | |
313 STDMETHOD(Init)(THIS_ ULONG width, ULONG height) PURE; | |
314 STDMETHOD(InitFromD3D)(THIS_ LPDIRECT3D lpD3D, LPDIRECT3DDEVICE lpD3DDev) PURE; | |
315 STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper, LPGUID lpGUID, int width, int height) PURE; | |
316 | |
317 STDMETHOD(Update)(THIS) PURE; | |
318 STDMETHOD(AddUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE; | |
319 STDMETHOD(DeleteUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE; | |
320 STDMETHOD(SetBufferCount)(THIS_ DWORD) PURE; | |
321 STDMETHOD_(DWORD, GetBufferCount)(THIS) PURE; | |
322 | |
323 STDMETHOD(SetDither)(THIS_ BOOL) PURE; | |
324 STDMETHOD(SetShades)(THIS_ DWORD) PURE; | |
325 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE; | |
326 STDMETHOD(SetTextureQuality)(THIS_ D3DRMTEXTUREQUALITY) PURE; | |
327 | |
328 STDMETHOD(GetViewports)(THIS_ LPDIRECT3DRMVIEWPORTARRAY *return_views) PURE; | |
329 | |
330 STDMETHOD_(BOOL, GetDither)(THIS) PURE; | |
331 STDMETHOD_(DWORD, GetShades)(THIS) PURE; | |
332 STDMETHOD_(DWORD, GetHeight)(THIS) PURE; | |
333 STDMETHOD_(DWORD, GetWidth)(THIS) PURE; | |
334 STDMETHOD_(DWORD, GetTrianglesDrawn)(THIS) PURE; | |
335 STDMETHOD_(DWORD, GetWireframeOptions)(THIS) PURE; | |
336 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE; | |
337 STDMETHOD_(D3DCOLORMODEL, GetColorModel)(THIS) PURE; | |
338 STDMETHOD_(D3DRMTEXTUREQUALITY, GetTextureQuality)(THIS) PURE; | |
339 STDMETHOD(GetDirect3DDevice)(THIS_ LPDIRECT3DDEVICE *) PURE; | |
340 | |
341 /* | |
342 * IDirect3DRMDevice2 methods | |
343 */ | |
344 STDMETHOD(InitFromD3D2)(THIS_ LPDIRECT3D2 lpD3D, LPDIRECT3DDEVICE2 lpD3DDev) PURE; | |
345 STDMETHOD(InitFromSurface)(THIS_ LPGUID lpGUID, LPDIRECTDRAW lpDD, LPDIRECTDRAWSURFACE lpDDSBack) PURE; | |
346 STDMETHOD(SetRenderMode)(THIS_ DWORD dwFlags) PURE; | |
347 STDMETHOD_(DWORD, GetRenderMode)(THIS) PURE; | |
348 STDMETHOD(GetDirect3DDevice2)(THIS_ LPDIRECT3DDEVICE2 *) PURE; | |
349 }; | |
350 | |
351 #undef INTERFACE | |
352 #define INTERFACE IDirect3DRMDevice3 | |
353 | |
354 DECLARE_INTERFACE_(IDirect3DRMDevice3, IDirect3DRMObject) | |
355 { | |
356 IUNKNOWN_METHODS(PURE); | |
357 IDIRECT3DRMOBJECT_METHODS(PURE); | |
358 | |
359 /* | |
360 * IDirect3DRMDevice methods | |
361 */ | |
362 STDMETHOD(Init)(THIS_ ULONG width, ULONG height) PURE; | |
363 STDMETHOD(InitFromD3D)(THIS_ LPDIRECT3D lpD3D, LPDIRECT3DDEVICE lpD3DDev) PURE; | |
364 STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper, LPGUID lpGUID, int width, int height) PURE; | |
365 | |
366 STDMETHOD(Update)(THIS) PURE; | |
367 STDMETHOD(AddUpdateCallback)(THIS_ D3DRMDEVICE3UPDATECALLBACK, LPVOID arg) PURE; | |
368 STDMETHOD(DeleteUpdateCallback)(THIS_ D3DRMDEVICE3UPDATECALLBACK, LPVOID arg) PURE; | |
369 STDMETHOD(SetBufferCount)(THIS_ DWORD) PURE; | |
370 STDMETHOD_(DWORD, GetBufferCount)(THIS) PURE; | |
371 | |
372 STDMETHOD(SetDither)(THIS_ BOOL) PURE; | |
373 STDMETHOD(SetShades)(THIS_ DWORD) PURE; | |
374 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE; | |
375 STDMETHOD(SetTextureQuality)(THIS_ D3DRMTEXTUREQUALITY) PURE; | |
376 | |
377 STDMETHOD(GetViewports)(THIS_ LPDIRECT3DRMVIEWPORTARRAY *return_views) PURE; | |
378 | |
379 STDMETHOD_(BOOL, GetDither)(THIS) PURE; | |
380 STDMETHOD_(DWORD, GetShades)(THIS) PURE; | |
381 STDMETHOD_(DWORD, GetHeight)(THIS) PURE; | |
382 STDMETHOD_(DWORD, GetWidth)(THIS) PURE; | |
383 STDMETHOD_(DWORD, GetTrianglesDrawn)(THIS) PURE; | |
384 STDMETHOD_(DWORD, GetWireframeOptions)(THIS) PURE; | |
385 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE; | |
386 STDMETHOD_(D3DCOLORMODEL, GetColorModel)(THIS) PURE; | |
387 STDMETHOD_(D3DRMTEXTUREQUALITY, GetTextureQuality)(THIS) PURE; | |
388 STDMETHOD(GetDirect3DDevice)(THIS_ LPDIRECT3DDEVICE *) PURE; | |
389 | |
390 /* | |
391 * IDirect3DRMDevice2 methods | |
392 */ | |
393 STDMETHOD(InitFromD3D2)(THIS_ LPDIRECT3D2 lpD3D, LPDIRECT3DDEVICE2 lpD3DDev) PURE; | |
394 STDMETHOD(InitFromSurface)(THIS_ LPGUID lpGUID, LPDIRECTDRAW lpDD, LPDIRECTDRAWSURFACE lpDDSBack, DWORD dwFlags) PURE; | |
395 STDMETHOD(SetRenderMode)(THIS_ DWORD dwFlags) PURE; | |
396 STDMETHOD_(DWORD, GetRenderMode)(THIS) PURE; | |
397 STDMETHOD(GetDirect3DDevice2)(THIS_ LPDIRECT3DDEVICE2 *) PURE; | |
398 | |
399 /* | |
400 * IDirect3DRMDevice3 methods | |
401 */ | |
402 STDMETHOD(FindPreferredTextureFormat)(THIS_ DWORD dwBitDepths, DWORD dwFlags, LPDDPIXELFORMAT lpDDPF) PURE; | |
403 STDMETHOD(RenderStateChange)(THIS_ D3DRENDERSTATETYPE drsType, DWORD dwVal, DWORD dwFlags) PURE; | |
404 STDMETHOD(LightStateChange)(THIS_ D3DLIGHTSTATETYPE drsType, DWORD dwVal, DWORD dwFlags) PURE; | |
405 STDMETHOD(GetStateChangeOptions)(THIS_ DWORD dwStateClass, DWORD dwStateNum, LPDWORD pdwFlags) PURE; | |
406 STDMETHOD(SetStateChangeOptions)(THIS_ DWORD dwStateClass, DWORD dwStateNum, DWORD dwFlags) PURE; | |
407 }; | |
408 | |
409 | |
410 #undef INTERFACE | |
411 #define INTERFACE IDirect3DRMViewport | |
412 | |
413 DECLARE_INTERFACE_(IDirect3DRMViewport, IDirect3DRMObject) | |
414 { | |
415 IUNKNOWN_METHODS(PURE); | |
416 IDIRECT3DRMOBJECT_METHODS(PURE); | |
417 | |
418 /* | |
419 * IDirect3DRMViewport methods | |
420 */ | |
421 STDMETHOD(Init) | |
422 ( THIS_ LPDIRECT3DRMDEVICE dev, LPDIRECT3DRMFRAME Camera, | |
423 DWORD xpos, DWORD ypos, DWORD width, DWORD height | |
424 ) PURE; | |
425 STDMETHOD(Clear)(THIS) PURE; | |
426 STDMETHOD(Render)(THIS_ LPDIRECT3DRMFRAME) PURE; | |
427 | |
428 STDMETHOD(SetFront)(THIS_ D3DVALUE) PURE; | |
429 STDMETHOD(SetBack)(THIS_ D3DVALUE) PURE; | |
430 STDMETHOD(SetField)(THIS_ D3DVALUE) PURE; | |
431 STDMETHOD(SetUniformScaling)(THIS_ BOOL) PURE; | |
432 STDMETHOD(SetCamera)(THIS_ LPDIRECT3DRMFRAME) PURE; | |
433 STDMETHOD(SetProjection)(THIS_ D3DRMPROJECTIONTYPE) PURE; | |
434 STDMETHOD(Transform)(THIS_ D3DRMVECTOR4D *d, D3DVECTOR *s) PURE; | |
435 STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DRMVECTOR4D *s) PURE; | |
436 STDMETHOD(Configure)(THIS_ LONG x, LONG y, DWORD width, DWORD height) PURE; | |
437 STDMETHOD(ForceUpdate)(THIS_ DWORD x1, DWORD y1, DWORD x2, DWORD y2) PURE; | |
438 STDMETHOD(SetPlane)(THIS_ D3DVALUE left, D3DVALUE right, D3DVALUE bottom, D3DVALUE top) PURE; | |
439 | |
440 STDMETHOD(GetCamera)(THIS_ LPDIRECT3DRMFRAME *) PURE; | |
441 STDMETHOD(GetDevice)(THIS_ LPDIRECT3DRMDEVICE *) PURE; | |
442 STDMETHOD(GetPlane)(THIS_ D3DVALUE *left, D3DVALUE *right, D3DVALUE *bottom, D3DVALUE *top) PURE; | |
443 STDMETHOD(Pick)(THIS_ LONG x, LONG y, LPDIRECT3DRMPICKEDARRAY *return_visuals) PURE; | |
444 | |
445 STDMETHOD_(BOOL, GetUniformScaling)(THIS) PURE; | |
446 STDMETHOD_(LONG, GetX)(THIS) PURE; | |
447 STDMETHOD_(LONG, GetY)(THIS) PURE; | |
448 STDMETHOD_(DWORD, GetWidth)(THIS) PURE; | |
449 STDMETHOD_(DWORD, GetHeight)(THIS) PURE; | |
450 STDMETHOD_(D3DVALUE, GetField)(THIS) PURE; | |
451 STDMETHOD_(D3DVALUE, GetBack)(THIS) PURE; | |
452 STDMETHOD_(D3DVALUE, GetFront)(THIS) PURE; | |
453 STDMETHOD_(D3DRMPROJECTIONTYPE, GetProjection)(THIS) PURE; | |
454 STDMETHOD(GetDirect3DViewport)(THIS_ LPDIRECT3DVIEWPORT *) PURE; | |
455 }; | |
456 | |
457 #undef INTERFACE | |
458 #define INTERFACE IDirect3DRMViewport2 | |
459 DECLARE_INTERFACE_(IDirect3DRMViewport2, IDirect3DRMObject) | |
460 { | |
461 IUNKNOWN_METHODS(PURE); | |
462 IDIRECT3DRMOBJECT_METHODS(PURE); | |
463 | |
464 /* | |
465 * IDirect3DRMViewport2 methods | |
466 */ | |
467 STDMETHOD(Init) | |
468 ( THIS_ LPDIRECT3DRMDEVICE3 dev, LPDIRECT3DRMFRAME3 Camera, | |
469 DWORD xpos, DWORD ypos, DWORD width, DWORD height | |
470 ) PURE; | |
471 STDMETHOD(Clear)(THIS_ DWORD dwFlags) PURE; | |
472 STDMETHOD(Render)(THIS_ LPDIRECT3DRMFRAME3) PURE; | |
473 | |
474 STDMETHOD(SetFront)(THIS_ D3DVALUE) PURE; | |
475 STDMETHOD(SetBack)(THIS_ D3DVALUE) PURE; | |
476 STDMETHOD(SetField)(THIS_ D3DVALUE) PURE; | |
477 STDMETHOD(SetUniformScaling)(THIS_ BOOL) PURE; | |
478 STDMETHOD(SetCamera)(THIS_ LPDIRECT3DRMFRAME3) PURE; | |
479 STDMETHOD(SetProjection)(THIS_ D3DRMPROJECTIONTYPE) PURE; | |
480 STDMETHOD(Transform)(THIS_ D3DRMVECTOR4D *d, D3DVECTOR *s) PURE; | |
481 STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DRMVECTOR4D *s) PURE; | |
482 STDMETHOD(Configure)(THIS_ LONG x, LONG y, DWORD width, DWORD height) PURE; | |
483 STDMETHOD(ForceUpdate)(THIS_ DWORD x1, DWORD y1, DWORD x2, DWORD y2) PURE; | |
484 STDMETHOD(SetPlane)(THIS_ D3DVALUE left, D3DVALUE right, D3DVALUE bottom, D3DVALUE top) PURE; | |
485 | |
486 STDMETHOD(GetCamera)(THIS_ LPDIRECT3DRMFRAME3 *) PURE; | |
487 STDMETHOD(GetDevice)(THIS_ LPDIRECT3DRMDEVICE3 *) PURE; | |
488 STDMETHOD(GetPlane)(THIS_ D3DVALUE *left, D3DVALUE *right, D3DVALUE *bottom, D3DVALUE *top) PURE; | |
489 STDMETHOD(Pick)(THIS_ LONG x, LONG y, LPDIRECT3DRMPICKEDARRAY *return_visuals) PURE; | |
490 | |
491 STDMETHOD_(BOOL, GetUniformScaling)(THIS) PURE; | |
492 STDMETHOD_(LONG, GetX)(THIS) PURE; | |
493 STDMETHOD_(LONG, GetY)(THIS) PURE; | |
494 STDMETHOD_(DWORD, GetWidth)(THIS) PURE; | |
495 STDMETHOD_(DWORD, GetHeight)(THIS) PURE; | |
496 STDMETHOD_(D3DVALUE, GetField)(THIS) PURE; | |
497 STDMETHOD_(D3DVALUE, GetBack)(THIS) PURE; | |
498 STDMETHOD_(D3DVALUE, GetFront)(THIS) PURE; | |
499 STDMETHOD_(D3DRMPROJECTIONTYPE, GetProjection)(THIS) PURE; | |
500 STDMETHOD(GetDirect3DViewport)(THIS_ LPDIRECT3DVIEWPORT *) PURE; | |
501 STDMETHOD(TransformVectors)(THIS_ DWORD dwNumVectors, | |
502 LPD3DRMVECTOR4D lpDstVectors, | |
503 LPD3DVECTOR lpSrcVectors) PURE; | |
504 STDMETHOD(InverseTransformVectors)(THIS_ DWORD dwNumVectors, | |
505 LPD3DVECTOR lpDstVectors, | |
506 LPD3DRMVECTOR4D lpSrcVectors) PURE; | |
507 }; | |
508 | |
509 #undef INTERFACE | |
510 #define INTERFACE IDirect3DRMFrame | |
511 | |
512 DECLARE_INTERFACE_(IDirect3DRMFrame, IDirect3DRMVisual) | |
513 { | |
514 IUNKNOWN_METHODS(PURE); | |
515 IDIRECT3DRMOBJECT_METHODS(PURE); | |
516 | |
517 /* | |
518 * IDirect3DRMFrame methods | |
519 */ | |
520 STDMETHOD(AddChild)(THIS_ LPDIRECT3DRMFRAME child) PURE; | |
521 STDMETHOD(AddLight)(THIS_ LPDIRECT3DRMLIGHT) PURE; | |
522 STDMETHOD(AddMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE; | |
523 STDMETHOD(AddTransform)(THIS_ D3DRMCOMBINETYPE, D3DRMMATRIX4D) PURE; | |
524 STDMETHOD(AddTranslation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
525 STDMETHOD(AddScale)(THIS_ D3DRMCOMBINETYPE, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE; | |
526 STDMETHOD(AddRotation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE; | |
527 STDMETHOD(AddVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE; | |
528 STDMETHOD(GetChildren)(THIS_ LPDIRECT3DRMFRAMEARRAY *children) PURE; | |
529 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE; | |
530 STDMETHOD(GetLights)(THIS_ LPDIRECT3DRMLIGHTARRAY *lights) PURE; | |
531 STDMETHOD_(D3DRMMATERIALMODE, GetMaterialMode)(THIS) PURE; | |
532 STDMETHOD(GetParent)(THIS_ LPDIRECT3DRMFRAME *) PURE; | |
533 STDMETHOD(GetPosition)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_position) PURE; | |
534 STDMETHOD(GetRotation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR axis, LPD3DVALUE return_theta) PURE; | |
535 STDMETHOD(GetScene)(THIS_ LPDIRECT3DRMFRAME *) PURE; | |
536 STDMETHOD_(D3DRMSORTMODE, GetSortMode)(THIS) PURE; | |
537 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE *) PURE; | |
538 STDMETHOD(GetTransform)(THIS_ D3DRMMATRIX4D return_matrix) PURE; | |
539 STDMETHOD(GetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_velocity, BOOL with_rotation) PURE; | |
540 STDMETHOD(GetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR dir, LPD3DVECTOR up) PURE; | |
541 STDMETHOD(GetVisuals)(THIS_ LPDIRECT3DRMVISUALARRAY *visuals) PURE; | |
542 STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE; | |
543 STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE; | |
544 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK, LPVOID lpArg)PURE; | |
545 STDMETHOD(LookAt)(THIS_ LPDIRECT3DRMFRAME target, LPDIRECT3DRMFRAME reference, D3DRMFRAMECONSTRAINT) PURE; | |
546 STDMETHOD(Move)(THIS_ D3DVALUE delta) PURE; | |
547 STDMETHOD(DeleteChild)(THIS_ LPDIRECT3DRMFRAME) PURE; | |
548 STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DRMLIGHT) PURE; | |
549 STDMETHOD(DeleteMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE; | |
550 STDMETHOD(DeleteVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE; | |
551 STDMETHOD_(D3DCOLOR, GetSceneBackground)(THIS) PURE; | |
552 STDMETHOD(GetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *) PURE; | |
553 STDMETHOD_(D3DCOLOR, GetSceneFogColor)(THIS) PURE; | |
554 STDMETHOD_(BOOL, GetSceneFogEnable)(THIS) PURE; | |
555 STDMETHOD_(D3DRMFOGMODE, GetSceneFogMode)(THIS) PURE; | |
556 STDMETHOD(GetSceneFogParams)(THIS_ D3DVALUE *return_start, D3DVALUE *return_end, D3DVALUE *return_density) PURE; | |
557 STDMETHOD(SetSceneBackground)(THIS_ D3DCOLOR) PURE; | |
558 STDMETHOD(SetSceneBackgroundRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE; | |
559 STDMETHOD(SetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE; | |
560 STDMETHOD(SetSceneBackgroundImage)(THIS_ LPDIRECT3DRMTEXTURE) PURE; | |
561 STDMETHOD(SetSceneFogEnable)(THIS_ BOOL) PURE; | |
562 STDMETHOD(SetSceneFogColor)(THIS_ D3DCOLOR) PURE; | |
563 STDMETHOD(SetSceneFogMode)(THIS_ D3DRMFOGMODE) PURE; | |
564 STDMETHOD(SetSceneFogParams)(THIS_ D3DVALUE start, D3DVALUE end, D3DVALUE density) PURE; | |
565 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE; | |
566 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE; | |
567 STDMETHOD_(D3DRMZBUFFERMODE, GetZbufferMode)(THIS) PURE; | |
568 STDMETHOD(SetMaterialMode)(THIS_ D3DRMMATERIALMODE) PURE; | |
569 STDMETHOD(SetOrientation) | |
570 ( THIS_ LPDIRECT3DRMFRAME reference, | |
571 D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, | |
572 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz | |
573 ) PURE; | |
574 STDMETHOD(SetPosition)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
575 STDMETHOD(SetRotation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE; | |
576 STDMETHOD(SetSortMode)(THIS_ D3DRMSORTMODE) PURE; | |
577 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE; | |
578 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE; | |
579 STDMETHOD(SetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, BOOL with_rotation) PURE; | |
580 STDMETHOD(SetZbufferMode)(THIS_ D3DRMZBUFFERMODE) PURE; | |
581 STDMETHOD(Transform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE; | |
582 }; | |
583 | |
584 #undef INTERFACE | |
585 #define INTERFACE IDirect3DRMFrame2 | |
586 | |
587 DECLARE_INTERFACE_(IDirect3DRMFrame2, IDirect3DRMFrame) | |
588 { | |
589 IUNKNOWN_METHODS(PURE); | |
590 IDIRECT3DRMOBJECT_METHODS(PURE); | |
591 | |
592 /* | |
593 * IDirect3DRMFrame methods | |
594 */ | |
595 STDMETHOD(AddChild)(THIS_ LPDIRECT3DRMFRAME child) PURE; | |
596 STDMETHOD(AddLight)(THIS_ LPDIRECT3DRMLIGHT) PURE; | |
597 STDMETHOD(AddMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE; | |
598 STDMETHOD(AddTransform)(THIS_ D3DRMCOMBINETYPE, D3DRMMATRIX4D) PURE; | |
599 STDMETHOD(AddTranslation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
600 STDMETHOD(AddScale)(THIS_ D3DRMCOMBINETYPE, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE; | |
601 STDMETHOD(AddRotation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE; | |
602 STDMETHOD(AddVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE; | |
603 STDMETHOD(GetChildren)(THIS_ LPDIRECT3DRMFRAMEARRAY *children) PURE; | |
604 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE; | |
605 STDMETHOD(GetLights)(THIS_ LPDIRECT3DRMLIGHTARRAY *lights) PURE; | |
606 STDMETHOD_(D3DRMMATERIALMODE, GetMaterialMode)(THIS) PURE; | |
607 STDMETHOD(GetParent)(THIS_ LPDIRECT3DRMFRAME *) PURE; | |
608 STDMETHOD(GetPosition)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_position) PURE; | |
609 STDMETHOD(GetRotation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR axis, LPD3DVALUE return_theta) PURE; | |
610 STDMETHOD(GetScene)(THIS_ LPDIRECT3DRMFRAME *) PURE; | |
611 STDMETHOD_(D3DRMSORTMODE, GetSortMode)(THIS) PURE; | |
612 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE *) PURE; | |
613 STDMETHOD(GetTransform)(THIS_ D3DRMMATRIX4D return_matrix) PURE; | |
614 STDMETHOD(GetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_velocity, BOOL with_rotation) PURE; | |
615 STDMETHOD(GetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR dir, LPD3DVECTOR up) PURE; | |
616 STDMETHOD(GetVisuals)(THIS_ LPDIRECT3DRMVISUALARRAY *visuals) PURE; | |
617 STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE; | |
618 STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE; | |
619 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK, LPVOID lpArg)PURE; | |
620 STDMETHOD(LookAt)(THIS_ LPDIRECT3DRMFRAME target, LPDIRECT3DRMFRAME reference, D3DRMFRAMECONSTRAINT) PURE; | |
621 STDMETHOD(Move)(THIS_ D3DVALUE delta) PURE; | |
622 STDMETHOD(DeleteChild)(THIS_ LPDIRECT3DRMFRAME) PURE; | |
623 STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DRMLIGHT) PURE; | |
624 STDMETHOD(DeleteMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE; | |
625 STDMETHOD(DeleteVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE; | |
626 STDMETHOD_(D3DCOLOR, GetSceneBackground)(THIS) PURE; | |
627 STDMETHOD(GetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *) PURE; | |
628 STDMETHOD_(D3DCOLOR, GetSceneFogColor)(THIS) PURE; | |
629 STDMETHOD_(BOOL, GetSceneFogEnable)(THIS) PURE; | |
630 STDMETHOD_(D3DRMFOGMODE, GetSceneFogMode)(THIS) PURE; | |
631 STDMETHOD(GetSceneFogParams)(THIS_ D3DVALUE *return_start, D3DVALUE *return_end, D3DVALUE *return_density) PURE; | |
632 STDMETHOD(SetSceneBackground)(THIS_ D3DCOLOR) PURE; | |
633 STDMETHOD(SetSceneBackgroundRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE; | |
634 STDMETHOD(SetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE; | |
635 STDMETHOD(SetSceneBackgroundImage)(THIS_ LPDIRECT3DRMTEXTURE) PURE; | |
636 STDMETHOD(SetSceneFogEnable)(THIS_ BOOL) PURE; | |
637 STDMETHOD(SetSceneFogColor)(THIS_ D3DCOLOR) PURE; | |
638 STDMETHOD(SetSceneFogMode)(THIS_ D3DRMFOGMODE) PURE; | |
639 STDMETHOD(SetSceneFogParams)(THIS_ D3DVALUE start, D3DVALUE end, D3DVALUE density) PURE; | |
640 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE; | |
641 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE; | |
642 STDMETHOD_(D3DRMZBUFFERMODE, GetZbufferMode)(THIS) PURE; | |
643 STDMETHOD(SetMaterialMode)(THIS_ D3DRMMATERIALMODE) PURE; | |
644 STDMETHOD(SetOrientation) | |
645 ( THIS_ LPDIRECT3DRMFRAME reference, | |
646 D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, | |
647 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz | |
648 ) PURE; | |
649 STDMETHOD(SetPosition)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
650 STDMETHOD(SetRotation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE; | |
651 STDMETHOD(SetSortMode)(THIS_ D3DRMSORTMODE) PURE; | |
652 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE; | |
653 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE; | |
654 STDMETHOD(SetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, BOOL with_rotation) PURE; | |
655 STDMETHOD(SetZbufferMode)(THIS_ D3DRMZBUFFERMODE) PURE; | |
656 STDMETHOD(Transform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE; | |
657 | |
658 /* | |
659 * IDirect3DRMFrame2 methods | |
660 */ | |
661 STDMETHOD(AddMoveCallback2)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg, DWORD dwFlags) PURE; | |
662 STDMETHOD(GetBox)(THIS_ LPD3DRMBOX) PURE; | |
663 STDMETHOD_(BOOL, GetBoxEnable)(THIS) PURE; | |
664 STDMETHOD(GetAxes)(THIS_ LPD3DVECTOR dir, LPD3DVECTOR up); | |
665 STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL *) PURE; | |
666 STDMETHOD_(BOOL, GetInheritAxes)(THIS); | |
667 STDMETHOD(GetHierarchyBox)(THIS_ LPD3DRMBOX) PURE; | |
668 | |
669 STDMETHOD(SetBox)(THIS_ LPD3DRMBOX) PURE; | |
670 STDMETHOD(SetBoxEnable)(THIS_ BOOL) PURE; | |
671 STDMETHOD(SetAxes)(THIS_ D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, | |
672 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz); | |
673 STDMETHOD(SetInheritAxes)(THIS_ BOOL inherit_from_parent); | |
674 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE; | |
675 STDMETHOD(SetQuaternion)(THIS_ LPDIRECT3DRMFRAME reference, D3DRMQUATERNION *q) PURE; | |
676 | |
677 STDMETHOD(RayPick)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DRMRAY ray, DWORD dwFlags, LPDIRECT3DRMPICKED2ARRAY *return_visuals) PURE; | |
678 STDMETHOD(Save)(THIS_ LPCSTR filename, D3DRMXOFFORMAT d3dFormat, | |
679 D3DRMSAVEOPTIONS d3dSaveFlags); | |
680 }; | |
681 | |
682 #undef INTERFACE | |
683 #define INTERFACE IDirect3DRMFrame3 | |
684 | |
685 DECLARE_INTERFACE_(IDirect3DRMFrame3, IDirect3DRMVisual) | |
686 { | |
687 IUNKNOWN_METHODS(PURE); | |
688 IDIRECT3DRMOBJECT_METHODS(PURE); | |
689 | |
690 /* | |
691 * IDirect3DRMFrame3 methods | |
692 */ | |
693 STDMETHOD(AddChild)(THIS_ LPDIRECT3DRMFRAME3 child) PURE; | |
694 STDMETHOD(AddLight)(THIS_ LPDIRECT3DRMLIGHT) PURE; | |
695 STDMETHOD(AddMoveCallback)(THIS_ D3DRMFRAME3MOVECALLBACK, VOID *arg, DWORD dwFlags) PURE; | |
696 STDMETHOD(AddTransform)(THIS_ D3DRMCOMBINETYPE, D3DRMMATRIX4D) PURE; | |
697 STDMETHOD(AddTranslation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
698 STDMETHOD(AddScale)(THIS_ D3DRMCOMBINETYPE, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE; | |
699 STDMETHOD(AddRotation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE; | |
700 STDMETHOD(AddVisual)(THIS_ LPUNKNOWN) PURE; | |
701 STDMETHOD(GetChildren)(THIS_ LPDIRECT3DRMFRAMEARRAY *children) PURE; | |
702 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE; | |
703 STDMETHOD(GetLights)(THIS_ LPDIRECT3DRMLIGHTARRAY *lights) PURE; | |
704 STDMETHOD_(D3DRMMATERIALMODE, GetMaterialMode)(THIS) PURE; | |
705 STDMETHOD(GetParent)(THIS_ LPDIRECT3DRMFRAME3 *) PURE; | |
706 STDMETHOD(GetPosition)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR return_position) PURE; | |
707 STDMETHOD(GetRotation)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR axis, LPD3DVALUE return_theta) PURE; | |
708 STDMETHOD(GetScene)(THIS_ LPDIRECT3DRMFRAME3 *) PURE; | |
709 STDMETHOD_(D3DRMSORTMODE, GetSortMode)(THIS) PURE; | |
710 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE3 *) PURE; | |
711 STDMETHOD(GetTransform)(THIS_ LPDIRECT3DRMFRAME3 reference, | |
712 D3DRMMATRIX4D rmMatrix) PURE; | |
713 STDMETHOD(GetVelocity)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR return_velocity, BOOL with_rotation) PURE; | |
714 STDMETHOD(GetOrientation)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR dir, LPD3DVECTOR up) PURE; | |
715 STDMETHOD(GetVisuals)(THIS_ LPDWORD lpdwCount, LPUNKNOWN *) PURE; | |
716 STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE; | |
717 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURE3CALLBACK, LPVOID lpArg)PURE; | |
718 STDMETHOD(LookAt)(THIS_ LPDIRECT3DRMFRAME3 target, LPDIRECT3DRMFRAME3 reference, D3DRMFRAMECONSTRAINT) PURE; | |
719 STDMETHOD(Move)(THIS_ D3DVALUE delta) PURE; | |
720 STDMETHOD(DeleteChild)(THIS_ LPDIRECT3DRMFRAME3) PURE; | |
721 STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DRMLIGHT) PURE; | |
722 STDMETHOD(DeleteMoveCallback)(THIS_ D3DRMFRAME3MOVECALLBACK, VOID *arg) PURE; | |
723 STDMETHOD(DeleteVisual)(THIS_ LPUNKNOWN) PURE; | |
724 STDMETHOD_(D3DCOLOR, GetSceneBackground)(THIS) PURE; | |
725 STDMETHOD(GetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *) PURE; | |
726 STDMETHOD_(D3DCOLOR, GetSceneFogColor)(THIS) PURE; | |
727 STDMETHOD_(BOOL, GetSceneFogEnable)(THIS) PURE; | |
728 STDMETHOD_(D3DRMFOGMODE, GetSceneFogMode)(THIS) PURE; | |
729 STDMETHOD(GetSceneFogParams)(THIS_ D3DVALUE *return_start, D3DVALUE *return_end, D3DVALUE *return_density) PURE; | |
730 STDMETHOD(SetSceneBackground)(THIS_ D3DCOLOR) PURE; | |
731 STDMETHOD(SetSceneBackgroundRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE; | |
732 STDMETHOD(SetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE; | |
733 STDMETHOD(SetSceneBackgroundImage)(THIS_ LPDIRECT3DRMTEXTURE3) PURE; | |
734 STDMETHOD(SetSceneFogEnable)(THIS_ BOOL) PURE; | |
735 STDMETHOD(SetSceneFogColor)(THIS_ D3DCOLOR) PURE; | |
736 STDMETHOD(SetSceneFogMode)(THIS_ D3DRMFOGMODE) PURE; | |
737 STDMETHOD(SetSceneFogParams)(THIS_ D3DVALUE start, D3DVALUE end, D3DVALUE density) PURE; | |
738 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE; | |
739 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE; | |
740 STDMETHOD_(D3DRMZBUFFERMODE, GetZbufferMode)(THIS) PURE; | |
741 STDMETHOD(SetMaterialMode)(THIS_ D3DRMMATERIALMODE) PURE; | |
742 STDMETHOD(SetOrientation) | |
743 ( THIS_ LPDIRECT3DRMFRAME3 reference, | |
744 D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, | |
745 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz | |
746 ) PURE; | |
747 STDMETHOD(SetPosition)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
748 STDMETHOD(SetRotation)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE; | |
749 STDMETHOD(SetSortMode)(THIS_ D3DRMSORTMODE) PURE; | |
750 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE; | |
751 STDMETHOD(SetVelocity)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, BOOL with_rotation) PURE; | |
752 STDMETHOD(SetZbufferMode)(THIS_ D3DRMZBUFFERMODE) PURE; | |
753 STDMETHOD(Transform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE; | |
754 STDMETHOD(GetBox)(THIS_ LPD3DRMBOX) PURE; | |
755 STDMETHOD_(BOOL, GetBoxEnable)(THIS) PURE; | |
756 STDMETHOD(GetAxes)(THIS_ LPD3DVECTOR dir, LPD3DVECTOR up); | |
757 STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2 *) PURE; | |
758 STDMETHOD_(BOOL, GetInheritAxes)(THIS); | |
759 STDMETHOD(GetHierarchyBox)(THIS_ LPD3DRMBOX) PURE; | |
760 | |
761 STDMETHOD(SetBox)(THIS_ LPD3DRMBOX) PURE; | |
762 STDMETHOD(SetBoxEnable)(THIS_ BOOL) PURE; | |
763 STDMETHOD(SetAxes)(THIS_ D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, | |
764 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz); | |
765 STDMETHOD(SetInheritAxes)(THIS_ BOOL inherit_from_parent); | |
766 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE; | |
767 STDMETHOD(SetQuaternion)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DRMQUATERNION *q) PURE; | |
768 | |
769 STDMETHOD(RayPick)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DRMRAY ray, DWORD dwFlags, LPDIRECT3DRMPICKED2ARRAY *return_visuals) PURE; | |
770 STDMETHOD(Save)(THIS_ LPCSTR filename, D3DRMXOFFORMAT d3dFormat, | |
771 D3DRMSAVEOPTIONS d3dSaveFlags); | |
772 STDMETHOD(TransformVectors)(THIS_ LPDIRECT3DRMFRAME3 reference, | |
773 DWORD dwNumVectors, | |
774 LPD3DVECTOR lpDstVectors, | |
775 LPD3DVECTOR lpSrcVectors) PURE; | |
776 STDMETHOD(InverseTransformVectors)(THIS_ LPDIRECT3DRMFRAME3 reference, | |
777 DWORD dwNumVectors, | |
778 LPD3DVECTOR lpDstVectors, | |
779 LPD3DVECTOR lpSrcVectors) PURE; | |
780 STDMETHOD(SetTraversalOptions)(THIS_ DWORD dwFlags) PURE; | |
781 STDMETHOD(GetTraversalOptions)(THIS_ LPDWORD lpdwFlags) PURE; | |
782 STDMETHOD(SetSceneFogMethod)(THIS_ DWORD dwFlags) PURE; | |
783 STDMETHOD(GetSceneFogMethod)(THIS_ LPDWORD lpdwFlags) PURE; | |
784 STDMETHOD(SetMaterialOverride)(THIS_ LPD3DRMMATERIALOVERRIDE) PURE; | |
785 STDMETHOD(GetMaterialOverride)(THIS_ LPD3DRMMATERIALOVERRIDE) PURE; | |
786 }; | |
787 | |
788 #undef INTERFACE | |
789 #define INTERFACE IDirect3DRMMesh | |
790 | |
791 DECLARE_INTERFACE_(IDirect3DRMMesh, IDirect3DRMVisual) | |
792 { | |
793 IUNKNOWN_METHODS(PURE); | |
794 IDIRECT3DRMOBJECT_METHODS(PURE); | |
795 | |
796 /* | |
797 * IDirect3DRMMesh methods | |
798 */ | |
799 STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE; | |
800 STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE; | |
801 STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE; | |
802 STDMETHOD(AddGroup)(THIS_ unsigned vCount, unsigned fCount, unsigned vPerFace, unsigned *fData, D3DRMGROUPINDEX *returnId) PURE; | |
803 STDMETHOD(SetVertices)(THIS_ D3DRMGROUPINDEX id, unsigned index, unsigned count, D3DRMVERTEX *values) PURE; | |
804 STDMETHOD(SetGroupColor)(THIS_ D3DRMGROUPINDEX id, D3DCOLOR value) PURE; | |
805 STDMETHOD(SetGroupColorRGB)(THIS_ D3DRMGROUPINDEX id, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE; | |
806 STDMETHOD(SetGroupMapping)(THIS_ D3DRMGROUPINDEX id, D3DRMMAPPING value) PURE; | |
807 STDMETHOD(SetGroupQuality)(THIS_ D3DRMGROUPINDEX id, D3DRMRENDERQUALITY value) PURE; | |
808 STDMETHOD(SetGroupMaterial)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMMATERIAL value) PURE; | |
809 STDMETHOD(SetGroupTexture)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMTEXTURE value) PURE; | |
810 | |
811 STDMETHOD_(unsigned, GetGroupCount)(THIS) PURE; | |
812 STDMETHOD(GetGroup)(THIS_ D3DRMGROUPINDEX id, unsigned *vCount, unsigned *fCount, unsigned *vPerFace, DWORD *fDataSize, unsigned *fData) PURE; | |
813 STDMETHOD(GetVertices)(THIS_ D3DRMGROUPINDEX id, DWORD index, DWORD count, D3DRMVERTEX *returnPtr) PURE; | |
814 STDMETHOD_(D3DCOLOR, GetGroupColor)(THIS_ D3DRMGROUPINDEX id) PURE; | |
815 STDMETHOD_(D3DRMMAPPING, GetGroupMapping)(THIS_ D3DRMGROUPINDEX id) PURE; | |
816 STDMETHOD_(D3DRMRENDERQUALITY, GetGroupQuality)(THIS_ D3DRMGROUPINDEX id) PURE; | |
817 STDMETHOD(GetGroupMaterial)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMMATERIAL *returnPtr) PURE; | |
818 STDMETHOD(GetGroupTexture)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMTEXTURE *returnPtr) PURE; | |
819 }; | |
820 | |
821 #undef INTERFACE | |
822 #define INTERFACE IDirect3DRMProgressiveMesh | |
823 | |
824 DECLARE_INTERFACE_(IDirect3DRMProgressiveMesh, IDirect3DRMVisual) | |
825 { | |
826 IUNKNOWN_METHODS(PURE); | |
827 IDIRECT3DRMOBJECT_METHODS(PURE); | |
828 | |
829 /* | |
830 * IDirect3DRMProgressiveMesh methods | |
831 */ | |
832 STDMETHOD(Load) (THIS_ LPVOID lpObjLocation, LPVOID lpObjId, | |
833 D3DRMLOADOPTIONS dloLoadflags, D3DRMLOADTEXTURECALLBACK lpCallback, | |
834 LPVOID lpArg) PURE; | |
835 STDMETHOD(GetLoadStatus) (THIS_ LPD3DRMPMESHLOADSTATUS lpStatus) PURE; | |
836 STDMETHOD(SetMinRenderDetail) (THIS_ D3DVALUE d3dVal) PURE; | |
837 STDMETHOD(Abort) (THIS_ DWORD dwFlags) PURE; | |
838 | |
839 STDMETHOD(GetFaceDetail) (THIS_ LPDWORD lpdwCount) PURE; | |
840 STDMETHOD(GetVertexDetail) (THIS_ LPDWORD lpdwCount) PURE; | |
841 STDMETHOD(SetFaceDetail) (THIS_ DWORD dwCount) PURE; | |
842 STDMETHOD(SetVertexDetail) (THIS_ DWORD dwCount) PURE; | |
843 STDMETHOD(GetFaceDetailRange) (THIS_ LPDWORD lpdwMin, LPDWORD lpdwMax) PURE; | |
844 STDMETHOD(GetVertexDetailRange) (THIS_ LPDWORD lpdwMin, LPDWORD lpdwMax) PURE; | |
845 STDMETHOD(GetDetail) (THIS_ D3DVALUE *lpdvVal) PURE; | |
846 STDMETHOD(SetDetail) (THIS_ D3DVALUE d3dVal) PURE; | |
847 | |
848 STDMETHOD(RegisterEvents) (THIS_ HANDLE hEvent, DWORD dwFlags, DWORD dwReserved) PURE; | |
849 STDMETHOD(CreateMesh) (THIS_ LPDIRECT3DRMMESH *lplpD3DRMMesh) PURE; | |
850 STDMETHOD(Duplicate) (THIS_ LPDIRECT3DRMPROGRESSIVEMESH *lplpD3DRMPMesh) PURE; | |
851 STDMETHOD(GetBox) (THIS_ LPD3DRMBOX lpBBox) PURE; | |
852 STDMETHOD(SetQuality) (THIS_ D3DRMRENDERQUALITY) PURE; | |
853 STDMETHOD(GetQuality) (THIS_ LPD3DRMRENDERQUALITY lpdwquality) PURE; | |
854 }; | |
855 | |
856 #undef INTERFACE | |
857 #define INTERFACE IDirect3DRMShadow | |
858 | |
859 DECLARE_INTERFACE_(IDirect3DRMShadow, IDirect3DRMVisual) | |
860 { | |
861 IUNKNOWN_METHODS(PURE); | |
862 IDIRECT3DRMOBJECT_METHODS(PURE); | |
863 | |
864 /* | |
865 * IDirect3DRMShadow methods | |
866 */ | |
867 STDMETHOD(Init) | |
868 ( THIS_ LPDIRECT3DRMVISUAL visual, LPDIRECT3DRMLIGHT light, | |
869 D3DVALUE px, D3DVALUE py, D3DVALUE pz, | |
870 D3DVALUE nx, D3DVALUE ny, D3DVALUE nz | |
871 ) PURE; | |
872 }; | |
873 | |
874 #undef INTERFACE | |
875 #define INTERFACE IDirect3DRMShadow2 | |
876 | |
877 DECLARE_INTERFACE_(IDirect3DRMShadow2, IDirect3DRMVisual) | |
878 { | |
879 IUNKNOWN_METHODS(PURE); | |
880 IDIRECT3DRMOBJECT_METHODS(PURE); | |
881 | |
882 /* | |
883 * IDirect3DRMShadow methods | |
884 */ | |
885 STDMETHOD(Init) | |
886 ( THIS_ LPUNKNOWN pUNK, LPDIRECT3DRMLIGHT light, | |
887 D3DVALUE px, D3DVALUE py, D3DVALUE pz, | |
888 D3DVALUE nx, D3DVALUE ny, D3DVALUE nz | |
889 ) PURE; | |
890 | |
891 /* | |
892 * IDirect3DRMShadow2 methods | |
893 */ | |
894 STDMETHOD(GetVisual)(THIS_ LPDIRECT3DRMVISUAL *) PURE; | |
895 STDMETHOD(SetVisual)(THIS_ LPUNKNOWN pUNK, DWORD) PURE; | |
896 STDMETHOD(GetLight)(THIS_ LPDIRECT3DRMLIGHT *) PURE; | |
897 STDMETHOD(SetLight)(THIS_ LPDIRECT3DRMLIGHT, DWORD) PURE; | |
898 STDMETHOD(GetPlane)(THIS_ LPD3DVALUE px, LPD3DVALUE py, LPD3DVALUE pz, | |
899 LPD3DVALUE nx, LPD3DVALUE ny, LPD3DVALUE nz) PURE; | |
900 STDMETHOD(SetPlane)(THIS_ D3DVALUE px, D3DVALUE py, D3DVALUE pz, | |
901 D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, DWORD) PURE; | |
902 STDMETHOD(GetOptions)(THIS_ LPDWORD) PURE; | |
903 STDMETHOD(SetOptions)(THIS_ DWORD) PURE; | |
904 }; | |
905 | |
906 #undef INTERFACE | |
907 #define INTERFACE IDirect3DRMFace | |
908 | |
909 DECLARE_INTERFACE_(IDirect3DRMFace, IDirect3DRMObject) | |
910 { | |
911 IUNKNOWN_METHODS(PURE); | |
912 IDIRECT3DRMOBJECT_METHODS(PURE); | |
913 | |
914 /* | |
915 * IDirect3DRMFace methods | |
916 */ | |
917 STDMETHOD(AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
918 STDMETHOD(AddVertexAndNormalIndexed)(THIS_ DWORD vertex, DWORD normal) PURE; | |
919 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE, D3DVALUE, D3DVALUE) PURE; | |
920 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE; | |
921 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE; | |
922 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE u, D3DVALUE v) PURE; | |
923 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE; | |
924 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE; | |
925 | |
926 STDMETHOD(GetVertex)(THIS_ DWORD index, D3DVECTOR *vertex, D3DVECTOR *normal) PURE; | |
927 STDMETHOD(GetVertices)(THIS_ DWORD *vertex_count, D3DVECTOR *coords, D3DVECTOR *normals); | |
928 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE *u, D3DVALUE *v) PURE; | |
929 STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE; | |
930 STDMETHOD(GetNormal)(THIS_ D3DVECTOR *) PURE; | |
931 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE *) PURE; | |
932 STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL *) PURE; | |
933 | |
934 STDMETHOD_(int, GetVertexCount)(THIS) PURE; | |
935 STDMETHOD_(int, GetVertexIndex)(THIS_ DWORD which) PURE; | |
936 STDMETHOD_(int, GetTextureCoordinateIndex)(THIS_ DWORD which) PURE; | |
937 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE; | |
938 }; | |
939 | |
940 #undef INTERFACE | |
941 #define INTERFACE IDirect3DRMFace2 | |
942 | |
943 DECLARE_INTERFACE_(IDirect3DRMFace2, IDirect3DRMObject) | |
944 { | |
945 IUNKNOWN_METHODS(PURE); | |
946 IDIRECT3DRMOBJECT_METHODS(PURE); | |
947 | |
948 /* | |
949 * IDirect3DRMFace methods | |
950 */ | |
951 STDMETHOD(AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
952 STDMETHOD(AddVertexAndNormalIndexed)(THIS_ DWORD vertex, DWORD normal) PURE; | |
953 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE, D3DVALUE, D3DVALUE) PURE; | |
954 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE; | |
955 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE; | |
956 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE u, D3DVALUE v) PURE; | |
957 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE; | |
958 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE; | |
959 | |
960 STDMETHOD(GetVertex)(THIS_ DWORD index, D3DVECTOR *vertex, D3DVECTOR *normal) PURE; | |
961 STDMETHOD(GetVertices)(THIS_ DWORD *vertex_count, D3DVECTOR *coords, D3DVECTOR *normals); | |
962 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE *u, D3DVALUE *v) PURE; | |
963 STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE; | |
964 STDMETHOD(GetNormal)(THIS_ D3DVECTOR *) PURE; | |
965 STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE3 *) PURE; | |
966 STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2 *) PURE; | |
967 | |
968 STDMETHOD_(int, GetVertexCount)(THIS) PURE; | |
969 STDMETHOD_(int, GetVertexIndex)(THIS_ DWORD which) PURE; | |
970 STDMETHOD_(int, GetTextureCoordinateIndex)(THIS_ DWORD which) PURE; | |
971 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE; | |
972 }; | |
973 | |
974 #undef INTERFACE | |
975 #define INTERFACE IDirect3DRMMeshBuilder | |
976 | |
977 DECLARE_INTERFACE_(IDirect3DRMMeshBuilder, IDirect3DRMVisual) | |
978 { | |
979 IUNKNOWN_METHODS(PURE); | |
980 IDIRECT3DRMOBJECT_METHODS(PURE); | |
981 | |
982 /* | |
983 * IDirect3DRMMeshBuilder methods | |
984 */ | |
985 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK, LPVOID lpArg) PURE; | |
986 STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE; | |
987 STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE; | |
988 STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE; | |
989 STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE; | |
990 STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE; | |
991 STDMETHOD(GenerateNormals)(THIS) PURE; | |
992 STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE; | |
993 | |
994 STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE; | |
995 STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER) PURE; | |
996 STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME) PURE; | |
997 STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE) PURE; | |
998 STDMETHOD(AddFaces) | |
999 ( THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, | |
1000 DWORD *data, LPDIRECT3DRMFACEARRAY* | |
1001 ) PURE; | |
1002 STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE; | |
1003 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE; | |
1004 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE; | |
1005 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE; | |
1006 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE; | |
1007 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE; | |
1008 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE; | |
1009 STDMETHOD(SetPerspective)(THIS_ BOOL) PURE; | |
1010 STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
1011 STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
1012 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE; | |
1013 STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE; | |
1014 STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE; | |
1015 | |
1016 STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE; | |
1017 STDMETHOD(GetVertices) | |
1018 ( THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals, DWORD *face_data_size, DWORD *face_data | |
1019 ) PURE; | |
1020 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE; | |
1021 | |
1022 STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
1023 STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
1024 STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE*) PURE; | |
1025 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE; | |
1026 STDMETHOD_(BOOL, GetPerspective)(THIS) PURE; | |
1027 STDMETHOD_(int, GetFaceCount)(THIS) PURE; | |
1028 STDMETHOD_(int, GetVertexCount)(THIS) PURE; | |
1029 STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE; | |
1030 | |
1031 STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE; | |
1032 }; | |
1033 | |
1034 #undef INTERFACE | |
1035 #define INTERFACE IDirect3DRMMeshBuilder2 | |
1036 | |
1037 DECLARE_INTERFACE_(IDirect3DRMMeshBuilder2, IDirect3DRMMeshBuilder) | |
1038 { | |
1039 IUNKNOWN_METHODS(PURE); | |
1040 IDIRECT3DRMOBJECT_METHODS(PURE); | |
1041 | |
1042 /* | |
1043 * IDirect3DRMMeshBuilder methods | |
1044 */ | |
1045 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK, LPVOID lpArg) PURE; | |
1046 STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE; | |
1047 STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE; | |
1048 STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE; | |
1049 STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE; | |
1050 STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE; | |
1051 STDMETHOD(GenerateNormals)(THIS) PURE; | |
1052 STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE; | |
1053 | |
1054 STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE; | |
1055 STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER) PURE; | |
1056 STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME) PURE; | |
1057 STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE) PURE; | |
1058 STDMETHOD(AddFaces) | |
1059 ( THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, | |
1060 DWORD *data, LPDIRECT3DRMFACEARRAY* | |
1061 ) PURE; | |
1062 STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE; | |
1063 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE; | |
1064 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE; | |
1065 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE; | |
1066 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE; | |
1067 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE; | |
1068 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE; | |
1069 STDMETHOD(SetPerspective)(THIS_ BOOL) PURE; | |
1070 STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
1071 STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
1072 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE; | |
1073 STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE; | |
1074 STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE; | |
1075 | |
1076 STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE; | |
1077 STDMETHOD(GetVertices) | |
1078 ( THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals, DWORD *face_data_size, DWORD *face_data | |
1079 ) PURE; | |
1080 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE; | |
1081 | |
1082 STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
1083 STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
1084 STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE*) PURE; | |
1085 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE; | |
1086 STDMETHOD_(BOOL, GetPerspective)(THIS) PURE; | |
1087 STDMETHOD_(int, GetFaceCount)(THIS) PURE; | |
1088 STDMETHOD_(int, GetVertexCount)(THIS) PURE; | |
1089 STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE; | |
1090 | |
1091 STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE; | |
1092 | |
1093 /* | |
1094 * IDirect3DRMMeshBuilder2 methods | |
1095 */ | |
1096 STDMETHOD(GenerateNormals2)(THIS_ D3DVALUE crease, DWORD dwFlags) PURE; | |
1097 STDMETHOD(GetFace)(THIS_ DWORD index, LPDIRECT3DRMFACE*) PURE; | |
1098 }; | |
1099 | |
1100 #undef INTERFACE | |
1101 #define INTERFACE IDirect3DRMMeshBuilder3 | |
1102 | |
1103 DECLARE_INTERFACE_(IDirect3DRMMeshBuilder3, IDirect3DRMVisual) | |
1104 { | |
1105 IUNKNOWN_METHODS(PURE); | |
1106 IDIRECT3DRMOBJECT_METHODS(PURE); | |
1107 | |
1108 /* | |
1109 * IDirect3DRMMeshBuilder3 methods | |
1110 */ | |
1111 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURE3CALLBACK, LPVOID lpArg) PURE; | |
1112 STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE; | |
1113 STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE; | |
1114 STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE; | |
1115 STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE; | |
1116 STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE; | |
1117 STDMETHOD(GenerateNormals)(THIS_ D3DVALUE crease, DWORD dwFlags) PURE; | |
1118 STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE; | |
1119 | |
1120 STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE; | |
1121 STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER3, DWORD dwFlags) PURE; | |
1122 STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME3) PURE; | |
1123 STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE2) PURE; | |
1124 STDMETHOD(AddFaces) | |
1125 ( THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, | |
1126 DWORD *data, LPDIRECT3DRMFACEARRAY* | |
1127 ) PURE; | |
1128 STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE; | |
1129 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE; | |
1130 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE; | |
1131 STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE; | |
1132 STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE; | |
1133 STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE; | |
1134 STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE; | |
1135 STDMETHOD(SetPerspective)(THIS_ BOOL) PURE; | |
1136 STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
1137 STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
1138 STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE; | |
1139 STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE; | |
1140 STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE; | |
1141 STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE; | |
1142 STDMETHOD(GetGeometry) | |
1143 ( THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals, DWORD *face_data_size, DWORD *face_data | |
1144 ) PURE; | |
1145 STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE; | |
1146 STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
1147 STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
1148 STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE2 *) PURE; | |
1149 STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE; | |
1150 STDMETHOD_(BOOL, GetPerspective)(THIS) PURE; | |
1151 STDMETHOD_(int, GetFaceCount)(THIS) PURE; | |
1152 STDMETHOD_(int, GetVertexCount)(THIS) PURE; | |
1153 STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE; | |
1154 STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE; | |
1155 STDMETHOD(GetFace)(THIS_ DWORD index, LPDIRECT3DRMFACE2 *) PURE; | |
1156 STDMETHOD(GetVertex)(THIS_ DWORD dwIndex, LPD3DVECTOR lpVector) PURE; | |
1157 STDMETHOD(GetNormal)(THIS_ DWORD dwIndex, LPD3DVECTOR lpVector) PURE; | |
1158 STDMETHOD(DeleteVertices)(THIS_ DWORD dwIndexFirst, DWORD dwCount) PURE; | |
1159 STDMETHOD(DeleteNormals)(THIS_ DWORD dwIndexFirst, DWORD dwCount) PURE; | |
1160 STDMETHOD(DeleteFace)(THIS_ LPDIRECT3DRMFACE2) PURE; | |
1161 STDMETHOD(Empty)(THIS_ DWORD dwFlags) PURE; | |
1162 STDMETHOD(Optimize)(THIS_ DWORD dwFlags) PURE; | |
1163 STDMETHOD(AddFacesIndexed)(THIS_ DWORD dwFlags, DWORD *lpdwvIndices, DWORD *dwIndexFirst, DWORD *dwCount) PURE; | |
1164 STDMETHOD(CreateSubMesh)(THIS_ LPUNKNOWN *) PURE; | |
1165 STDMETHOD(GetParentMesh)(THIS_ DWORD, LPUNKNOWN *) PURE; | |
1166 STDMETHOD(GetSubMeshes)(THIS_ LPDWORD lpdwCount, LPUNKNOWN *) PURE; | |
1167 STDMETHOD(DeleteSubMesh)(THIS_ LPUNKNOWN) PURE; | |
1168 STDMETHOD(Enable)(THIS_ DWORD) PURE; | |
1169 STDMETHOD(GetEnable)(THIS_ DWORD *) PURE; | |
1170 STDMETHOD(AddTriangles)(THIS_ DWORD dwFlags, DWORD dwFormat, | |
1171 DWORD dwVertexCount, LPVOID lpvData) PURE; | |
1172 STDMETHOD(SetVertices)(THIS_ DWORD dwIndexFirst, DWORD dwCount, LPD3DVECTOR) PURE; | |
1173 STDMETHOD(GetVertices)(THIS_ DWORD dwIndexFirst, LPDWORD lpdwCount, LPD3DVECTOR) PURE; | |
1174 STDMETHOD(SetNormals)(THIS_ DWORD dwIndexFirst, DWORD dwCount, LPD3DVECTOR) PURE; | |
1175 STDMETHOD(GetNormals)(THIS_ DWORD dwIndexFirst, LPDWORD lpdwCount, LPD3DVECTOR) PURE; | |
1176 STDMETHOD_(int, GetNormalCount)(THIS) PURE; | |
1177 }; | |
1178 | |
1179 #undef INTERFACE | |
1180 #define INTERFACE IDirect3DRMLight | |
1181 | |
1182 DECLARE_INTERFACE_(IDirect3DRMLight, IDirect3DRMObject) | |
1183 { | |
1184 IUNKNOWN_METHODS(PURE); | |
1185 IDIRECT3DRMOBJECT_METHODS(PURE); | |
1186 | |
1187 /* | |
1188 * IDirect3DRMLight methods | |
1189 */ | |
1190 STDMETHOD(SetType)(THIS_ D3DRMLIGHTTYPE) PURE; | |
1191 STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE; | |
1192 STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE; | |
1193 STDMETHOD(SetRange)(THIS_ D3DVALUE) PURE; | |
1194 STDMETHOD(SetUmbra)(THIS_ D3DVALUE) PURE; | |
1195 STDMETHOD(SetPenumbra)(THIS_ D3DVALUE) PURE; | |
1196 STDMETHOD(SetConstantAttenuation)(THIS_ D3DVALUE) PURE; | |
1197 STDMETHOD(SetLinearAttenuation)(THIS_ D3DVALUE) PURE; | |
1198 STDMETHOD(SetQuadraticAttenuation)(THIS_ D3DVALUE) PURE; | |
1199 | |
1200 STDMETHOD_(D3DVALUE, GetRange)(THIS) PURE; | |
1201 STDMETHOD_(D3DVALUE, GetUmbra)(THIS) PURE; | |
1202 STDMETHOD_(D3DVALUE, GetPenumbra)(THIS) PURE; | |
1203 STDMETHOD_(D3DVALUE, GetConstantAttenuation)(THIS) PURE; | |
1204 STDMETHOD_(D3DVALUE, GetLinearAttenuation)(THIS) PURE; | |
1205 STDMETHOD_(D3DVALUE, GetQuadraticAttenuation)(THIS) PURE; | |
1206 STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE; | |
1207 STDMETHOD_(D3DRMLIGHTTYPE, GetType)(THIS) PURE; | |
1208 | |
1209 STDMETHOD(SetEnableFrame)(THIS_ LPDIRECT3DRMFRAME) PURE; | |
1210 STDMETHOD(GetEnableFrame)(THIS_ LPDIRECT3DRMFRAME*) PURE; | |
1211 }; | |
1212 | |
1213 #undef INTERFACE | |
1214 #define INTERFACE IDirect3DRMTexture | |
1215 | |
1216 DECLARE_INTERFACE_(IDirect3DRMTexture, IDirect3DRMVisual) | |
1217 { | |
1218 IUNKNOWN_METHODS(PURE); | |
1219 IDIRECT3DRMOBJECT_METHODS(PURE); | |
1220 | |
1221 /* | |
1222 * IDirect3DRMTexture methods | |
1223 */ | |
1224 STDMETHOD(InitFromFile)(THIS_ const char *filename) PURE; | |
1225 STDMETHOD(InitFromSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDS) PURE; | |
1226 STDMETHOD(InitFromResource)(THIS_ HRSRC) PURE; | |
1227 STDMETHOD(Changed)(THIS_ BOOL pixels, BOOL palette) PURE; | |
1228 | |
1229 STDMETHOD(SetColors)(THIS_ DWORD) PURE; | |
1230 STDMETHOD(SetShades)(THIS_ DWORD) PURE; | |
1231 STDMETHOD(SetDecalSize)(THIS_ D3DVALUE width, D3DVALUE height) PURE; | |
1232 STDMETHOD(SetDecalOrigin)(THIS_ LONG x, LONG y) PURE; | |
1233 STDMETHOD(SetDecalScale)(THIS_ DWORD) PURE; | |
1234 STDMETHOD(SetDecalTransparency)(THIS_ BOOL) PURE; | |
1235 STDMETHOD(SetDecalTransparentColor)(THIS_ D3DCOLOR) PURE; | |
1236 | |
1237 STDMETHOD(GetDecalSize)(THIS_ D3DVALUE *width_return, D3DVALUE *height_return) PURE; | |
1238 STDMETHOD(GetDecalOrigin)(THIS_ LONG *x_return, LONG *y_return) PURE; | |
1239 | |
1240 STDMETHOD_(D3DRMIMAGE *, GetImage)(THIS) PURE; | |
1241 STDMETHOD_(DWORD, GetShades)(THIS) PURE; | |
1242 STDMETHOD_(DWORD, GetColors)(THIS) PURE; | |
1243 STDMETHOD_(DWORD, GetDecalScale)(THIS) PURE; | |
1244 STDMETHOD_(BOOL, GetDecalTransparency)(THIS) PURE; | |
1245 STDMETHOD_(D3DCOLOR, GetDecalTransparentColor)(THIS) PURE; | |
1246 }; | |
1247 | |
1248 #undef INTERFACE | |
1249 #define INTERFACE IDirect3DRMTexture2 | |
1250 | |
1251 DECLARE_INTERFACE_(IDirect3DRMTexture2, IDirect3DRMTexture) | |
1252 { | |
1253 IUNKNOWN_METHODS(PURE); | |
1254 IDIRECT3DRMOBJECT_METHODS(PURE); | |
1255 | |
1256 /* | |
1257 * IDirect3DRMTexture methods | |
1258 */ | |
1259 STDMETHOD(InitFromFile)(THIS_ const char *filename) PURE; | |
1260 STDMETHOD(InitFromSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDS) PURE; | |
1261 STDMETHOD(InitFromResource)(THIS_ HRSRC) PURE; | |
1262 STDMETHOD(Changed)(THIS_ BOOL pixels, BOOL palette) PURE; | |
1263 | |
1264 STDMETHOD(SetColors)(THIS_ DWORD) PURE; | |
1265 STDMETHOD(SetShades)(THIS_ DWORD) PURE; | |
1266 STDMETHOD(SetDecalSize)(THIS_ D3DVALUE width, D3DVALUE height) PURE; | |
1267 STDMETHOD(SetDecalOrigin)(THIS_ LONG x, LONG y) PURE; | |
1268 STDMETHOD(SetDecalScale)(THIS_ DWORD) PURE; | |
1269 STDMETHOD(SetDecalTransparency)(THIS_ BOOL) PURE; | |
1270 STDMETHOD(SetDecalTransparentColor)(THIS_ D3DCOLOR) PURE; | |
1271 | |
1272 STDMETHOD(GetDecalSize)(THIS_ D3DVALUE *width_return, D3DVALUE *height_return) PURE; | |
1273 STDMETHOD(GetDecalOrigin)(THIS_ LONG *x_return, LONG *y_return) PURE; | |
1274 | |
1275 STDMETHOD_(D3DRMIMAGE *, GetImage)(THIS) PURE; | |
1276 STDMETHOD_(DWORD, GetShades)(THIS) PURE; | |
1277 STDMETHOD_(DWORD, GetColors)(THIS) PURE; | |
1278 STDMETHOD_(DWORD, GetDecalScale)(THIS) PURE; | |
1279 STDMETHOD_(BOOL, GetDecalTransparency)(THIS) PURE; | |
1280 STDMETHOD_(D3DCOLOR, GetDecalTransparentColor)(THIS) PURE; | |
1281 | |
1282 /* | |
1283 * IDirect3DRMTexture2 methods | |
1284 */ | |
1285 STDMETHOD(InitFromImage)(THIS_ LPD3DRMIMAGE) PURE; | |
1286 STDMETHOD(InitFromResource2)(THIS_ HMODULE hModule, LPCTSTR strName, LPCTSTR strType) PURE; | |
1287 STDMETHOD(GenerateMIPMap)(THIS_ DWORD) PURE; | |
1288 }; | |
1289 | |
1290 #undef INTERFACE | |
1291 #define INTERFACE IDirect3DRMTexture3 | |
1292 | |
1293 DECLARE_INTERFACE_(IDirect3DRMTexture3, IDirect3DRMVisual) | |
1294 { | |
1295 IUNKNOWN_METHODS(PURE); | |
1296 IDIRECT3DRMOBJECT_METHODS(PURE); | |
1297 | |
1298 /* | |
1299 * IDirect3DRMTexture3 methods | |
1300 */ | |
1301 STDMETHOD(InitFromFile)(THIS_ const char *filename) PURE; | |
1302 STDMETHOD(InitFromSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDS) PURE; | |
1303 STDMETHOD(InitFromResource)(THIS_ HRSRC) PURE; | |
1304 STDMETHOD(Changed)(THIS_ DWORD dwFlags, DWORD dwcRects, LPRECT pRects) PURE; | |
1305 STDMETHOD(SetColors)(THIS_ DWORD) PURE; | |
1306 STDMETHOD(SetShades)(THIS_ DWORD) PURE; | |
1307 STDMETHOD(SetDecalSize)(THIS_ D3DVALUE width, D3DVALUE height) PURE; | |
1308 STDMETHOD(SetDecalOrigin)(THIS_ LONG x, LONG y) PURE; | |
1309 STDMETHOD(SetDecalScale)(THIS_ DWORD) PURE; | |
1310 STDMETHOD(SetDecalTransparency)(THIS_ BOOL) PURE; | |
1311 STDMETHOD(SetDecalTransparentColor)(THIS_ D3DCOLOR) PURE; | |
1312 | |
1313 STDMETHOD(GetDecalSize)(THIS_ D3DVALUE *width_return, D3DVALUE *height_return) PURE; | |
1314 STDMETHOD(GetDecalOrigin)(THIS_ LONG *x_return, LONG *y_return) PURE; | |
1315 | |
1316 STDMETHOD_(D3DRMIMAGE *, GetImage)(THIS) PURE; | |
1317 STDMETHOD_(DWORD, GetShades)(THIS) PURE; | |
1318 STDMETHOD_(DWORD, GetColors)(THIS) PURE; | |
1319 STDMETHOD_(DWORD, GetDecalScale)(THIS) PURE; | |
1320 STDMETHOD_(BOOL, GetDecalTransparency)(THIS) PURE; | |
1321 STDMETHOD_(D3DCOLOR, GetDecalTransparentColor)(THIS) PURE; | |
1322 STDMETHOD(InitFromImage)(THIS_ LPD3DRMIMAGE) PURE; | |
1323 STDMETHOD(InitFromResource2)(THIS_ HMODULE hModule, LPCTSTR strName, LPCTSTR strType) PURE; | |
1324 STDMETHOD(GenerateMIPMap)(THIS_ DWORD) PURE; | |
1325 STDMETHOD(GetSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE* lplpDDS) PURE; | |
1326 STDMETHOD(SetCacheOptions)(THIS_ LONG lImportance, DWORD dwFlags) PURE; | |
1327 STDMETHOD(GetCacheOptions)(THIS_ LPLONG lplImportance, LPDWORD lpdwFlags) PURE; | |
1328 STDMETHOD(SetDownsampleCallback)(THIS_ D3DRMDOWNSAMPLECALLBACK pCallback, LPVOID pArg) PURE; | |
1329 STDMETHOD(SetValidationCallback)(THIS_ D3DRMVALIDATIONCALLBACK pCallback, LPVOID pArg) PURE; | |
1330 }; | |
1331 | |
1332 | |
1333 #undef INTERFACE | |
1334 #define INTERFACE IDirect3DRMWrap | |
1335 | |
1336 DECLARE_INTERFACE_(IDirect3DRMWrap, IDirect3DRMObject) | |
1337 { | |
1338 IUNKNOWN_METHODS(PURE); | |
1339 IDIRECT3DRMOBJECT_METHODS(PURE); | |
1340 | |
1341 /* | |
1342 * IDirect3DRMWrap methods | |
1343 */ | |
1344 STDMETHOD(Init) | |
1345 ( THIS_ D3DRMWRAPTYPE, LPDIRECT3DRMFRAME ref, | |
1346 D3DVALUE ox, D3DVALUE oy, D3DVALUE oz, | |
1347 D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, | |
1348 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz, | |
1349 D3DVALUE ou, D3DVALUE ov, | |
1350 D3DVALUE su, D3DVALUE sv | |
1351 ) PURE; | |
1352 STDMETHOD(Apply)(THIS_ LPDIRECT3DRMOBJECT) PURE; | |
1353 STDMETHOD(ApplyRelative)(THIS_ LPDIRECT3DRMFRAME frame, LPDIRECT3DRMOBJECT) PURE; | |
1354 }; | |
1355 | |
1356 #undef INTERFACE | |
1357 #define INTERFACE IDirect3DRMMaterial | |
1358 | |
1359 DECLARE_INTERFACE_(IDirect3DRMMaterial, IDirect3DRMObject) | |
1360 { | |
1361 IUNKNOWN_METHODS(PURE); | |
1362 IDIRECT3DRMOBJECT_METHODS(PURE); | |
1363 | |
1364 /* | |
1365 * IDirect3DRMMaterial methods | |
1366 */ | |
1367 STDMETHOD(SetPower)(THIS_ D3DVALUE power) PURE; | |
1368 STDMETHOD(SetSpecular)(THIS_ D3DVALUE r, D3DVALUE g, D3DVALUE b) PURE; | |
1369 STDMETHOD(SetEmissive)(THIS_ D3DVALUE r, D3DVALUE g, D3DVALUE b) PURE; | |
1370 | |
1371 STDMETHOD_(D3DVALUE, GetPower)(THIS) PURE; | |
1372 STDMETHOD(GetSpecular)(THIS_ D3DVALUE* r, D3DVALUE* g, D3DVALUE* b) PURE; | |
1373 STDMETHOD(GetEmissive)(THIS_ D3DVALUE* r, D3DVALUE* g, D3DVALUE* b) PURE; | |
1374 }; | |
1375 | |
1376 | |
1377 #undef INTERFACE | |
1378 #define INTERFACE IDirect3DRMMaterial2 | |
1379 | |
1380 DECLARE_INTERFACE_(IDirect3DRMMaterial2, IDirect3DRMObject) | |
1381 { | |
1382 IUNKNOWN_METHODS(PURE); | |
1383 IDIRECT3DRMOBJECT_METHODS(PURE); | |
1384 | |
1385 /* | |
1386 * IDirect3DRMMaterial2 methods | |
1387 */ | |
1388 STDMETHOD(SetPower)(THIS_ D3DVALUE power) PURE; | |
1389 STDMETHOD(SetSpecular)(THIS_ D3DVALUE r, D3DVALUE g, D3DVALUE b) PURE; | |
1390 STDMETHOD(SetEmissive)(THIS_ D3DVALUE r, D3DVALUE g, D3DVALUE b) PURE; | |
1391 STDMETHOD_(D3DVALUE, GetPower)(THIS) PURE; | |
1392 STDMETHOD(GetSpecular)(THIS_ D3DVALUE* r, D3DVALUE* g, D3DVALUE* b) PURE; | |
1393 STDMETHOD(GetEmissive)(THIS_ D3DVALUE* r, D3DVALUE* g, D3DVALUE* b) PURE; | |
1394 STDMETHOD(GetAmbient)(THIS_ D3DVALUE* r, D3DVALUE* g, D3DVALUE* b) PURE; | |
1395 STDMETHOD(SetAmbient)(THIS_ D3DVALUE r, D3DVALUE g, D3DVALUE b) PURE; | |
1396 }; | |
1397 | |
1398 | |
1399 #undef INTERFACE | |
1400 #define INTERFACE IDirect3DRMAnimation | |
1401 | |
1402 DECLARE_INTERFACE_(IDirect3DRMAnimation, IDirect3DRMObject) | |
1403 { | |
1404 IUNKNOWN_METHODS(PURE); | |
1405 IDIRECT3DRMOBJECT_METHODS(PURE); | |
1406 | |
1407 /* | |
1408 * IDirect3DRMAnimation methods | |
1409 */ | |
1410 STDMETHOD(SetOptions)(THIS_ D3DRMANIMATIONOPTIONS flags) PURE; | |
1411 STDMETHOD(AddRotateKey)(THIS_ D3DVALUE time, D3DRMQUATERNION *q) PURE; | |
1412 STDMETHOD(AddPositionKey)(THIS_ D3DVALUE time, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
1413 STDMETHOD(AddScaleKey)(THIS_ D3DVALUE time, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
1414 STDMETHOD(DeleteKey)(THIS_ D3DVALUE time) PURE; | |
1415 STDMETHOD(SetFrame)(THIS_ LPDIRECT3DRMFRAME frame) PURE; | |
1416 STDMETHOD(SetTime)(THIS_ D3DVALUE time) PURE; | |
1417 | |
1418 STDMETHOD_(D3DRMANIMATIONOPTIONS, GetOptions)(THIS) PURE; | |
1419 }; | |
1420 | |
1421 #undef INTERFACE | |
1422 #define INTERFACE IDirect3DRMAnimation2 | |
1423 | |
1424 DECLARE_INTERFACE_(IDirect3DRMAnimation2, IDirect3DRMObject) | |
1425 { | |
1426 IUNKNOWN_METHODS(PURE); | |
1427 IDIRECT3DRMOBJECT_METHODS(PURE); | |
1428 | |
1429 /* | |
1430 * IDirect3DRMAnimation2 methods | |
1431 */ | |
1432 STDMETHOD(SetOptions)(THIS_ D3DRMANIMATIONOPTIONS flags) PURE; | |
1433 STDMETHOD(AddRotateKey)(THIS_ D3DVALUE time, D3DRMQUATERNION *q) PURE; | |
1434 STDMETHOD(AddPositionKey)(THIS_ D3DVALUE time, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
1435 STDMETHOD(AddScaleKey)(THIS_ D3DVALUE time, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE; | |
1436 STDMETHOD(DeleteKey)(THIS_ D3DVALUE time) PURE; | |
1437 STDMETHOD(SetFrame)(THIS_ LPDIRECT3DRMFRAME3 frame) PURE; | |
1438 STDMETHOD(SetTime)(THIS_ D3DVALUE time) PURE; | |
1439 | |
1440 STDMETHOD_(D3DRMANIMATIONOPTIONS, GetOptions)(THIS) PURE; | |
1441 STDMETHOD(GetFrame)(THIS_ LPDIRECT3DRMFRAME3 *lpD3DFrame) PURE; | |
1442 STDMETHOD(DeleteKeyByID)(THIS_ DWORD dwID) PURE; | |
1443 STDMETHOD(AddKey)(THIS_ LPD3DRMANIMATIONKEY lpKey) PURE; | |
1444 STDMETHOD(ModifyKey)(THIS_ LPD3DRMANIMATIONKEY lpKey) PURE; | |
1445 STDMETHOD(GetKeys)(THIS_ D3DVALUE dvTimeMin, | |
1446 D3DVALUE dvTimeMax, LPDWORD lpdwNumKeys, | |
1447 LPD3DRMANIMATIONKEY lpKey); | |
1448 }; | |
1449 | |
1450 #undef INTERFACE | |
1451 #define INTERFACE IDirect3DRMAnimationSet | |
1452 | |
1453 DECLARE_INTERFACE_(IDirect3DRMAnimationSet, IDirect3DRMObject) | |
1454 { | |
1455 IUNKNOWN_METHODS(PURE); | |
1456 IDIRECT3DRMOBJECT_METHODS(PURE); | |
1457 | |
1458 /* | |
1459 * IDirect3DRMAnimationSet methods | |
1460 */ | |
1461 STDMETHOD(AddAnimation)(THIS_ LPDIRECT3DRMANIMATION aid) PURE; | |
1462 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK, LPVOID lpArg, LPDIRECT3DRMFRAME parent)PURE; | |
1463 STDMETHOD(DeleteAnimation)(THIS_ LPDIRECT3DRMANIMATION aid) PURE; | |
1464 STDMETHOD(SetTime)(THIS_ D3DVALUE time) PURE; | |
1465 }; | |
1466 | |
1467 #undef INTERFACE | |
1468 #define INTERFACE IDirect3DRMAnimationSet2 | |
1469 | |
1470 DECLARE_INTERFACE_(IDirect3DRMAnimationSet2, IDirect3DRMObject) | |
1471 { | |
1472 IUNKNOWN_METHODS(PURE); | |
1473 IDIRECT3DRMOBJECT_METHODS(PURE); | |
1474 | |
1475 /* | |
1476 * IDirect3DRMAnimationSet2 methods | |
1477 */ | |
1478 STDMETHOD(AddAnimation)(THIS_ LPDIRECT3DRMANIMATION2 aid) PURE; | |
1479 STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURE3CALLBACK, LPVOID lpArg, LPDIRECT3DRMFRAME3 parent)PURE; | |
1480 STDMETHOD(DeleteAnimation)(THIS_ LPDIRECT3DRMANIMATION2 aid) PURE; | |
1481 STDMETHOD(SetTime)(THIS_ D3DVALUE time) PURE; | |
1482 STDMETHOD(GetAnimations)(THIS_ LPDIRECT3DRMANIMATIONARRAY *) PURE; | |
1483 }; | |
1484 | |
1485 | |
1486 #undef INTERFACE | |
1487 #define INTERFACE IDirect3DRMUserVisual | |
1488 | |
1489 DECLARE_INTERFACE_(IDirect3DRMUserVisual, IDirect3DRMVisual) | |
1490 { | |
1491 IUNKNOWN_METHODS(PURE); | |
1492 IDIRECT3DRMOBJECT_METHODS(PURE); | |
1493 | |
1494 /* | |
1495 * IDirect3DRMUserVisual methods | |
1496 */ | |
1497 STDMETHOD(Init)(THIS_ D3DRMUSERVISUALCALLBACK fn, void *arg) PURE; | |
1498 }; | |
1499 | |
1500 #undef INTERFACE | |
1501 #define INTERFACE IDirect3DRMArray | |
1502 | |
1503 DECLARE_INTERFACE_(IDirect3DRMArray, IUnknown) | |
1504 { | |
1505 IUNKNOWN_METHODS(PURE); | |
1506 | |
1507 STDMETHOD_(DWORD, GetSize)(THIS) PURE; | |
1508 /* No GetElement method as it would get overloaded | |
1509 * in derived classes, and overloading is | |
1510 * a no-no in COM | |
1511 */ | |
1512 }; | |
1513 | |
1514 #undef INTERFACE | |
1515 #define INTERFACE IDirect3DRMObjectArray | |
1516 | |
1517 DECLARE_INTERFACE_(IDirect3DRMObjectArray, IDirect3DRMArray) | |
1518 { | |
1519 IUNKNOWN_METHODS(PURE); | |
1520 | |
1521 STDMETHOD_(DWORD, GetSize)(THIS) PURE; | |
1522 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMOBJECT *) PURE; | |
1523 }; | |
1524 | |
1525 #undef INTERFACE | |
1526 #define INTERFACE IDirect3DRMDeviceArray | |
1527 | |
1528 DECLARE_INTERFACE_(IDirect3DRMDeviceArray, IDirect3DRMArray) | |
1529 { | |
1530 IUNKNOWN_METHODS(PURE); | |
1531 | |
1532 STDMETHOD_(DWORD, GetSize)(THIS) PURE; | |
1533 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMDEVICE *) PURE; | |
1534 }; | |
1535 | |
1536 #undef INTERFACE | |
1537 #define INTERFACE IDirect3DRMFrameArray | |
1538 | |
1539 DECLARE_INTERFACE_(IDirect3DRMFrameArray, IDirect3DRMArray) | |
1540 { | |
1541 IUNKNOWN_METHODS(PURE); | |
1542 | |
1543 STDMETHOD_(DWORD, GetSize)(THIS) PURE; | |
1544 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMFRAME *) PURE; | |
1545 }; | |
1546 | |
1547 #undef INTERFACE | |
1548 #define INTERFACE IDirect3DRMViewportArray | |
1549 | |
1550 DECLARE_INTERFACE_(IDirect3DRMViewportArray, IDirect3DRMArray) | |
1551 { | |
1552 IUNKNOWN_METHODS(PURE); | |
1553 | |
1554 STDMETHOD_(DWORD, GetSize)(THIS) PURE; | |
1555 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMVIEWPORT *) PURE; | |
1556 }; | |
1557 | |
1558 #undef INTERFACE | |
1559 #define INTERFACE IDirect3DRMVisualArray | |
1560 | |
1561 DECLARE_INTERFACE_(IDirect3DRMVisualArray, IDirect3DRMArray) | |
1562 { | |
1563 IUNKNOWN_METHODS(PURE); | |
1564 | |
1565 STDMETHOD_(DWORD, GetSize)(THIS) PURE; | |
1566 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMVISUAL *) PURE; | |
1567 }; | |
1568 | |
1569 #undef INTERFACE | |
1570 #define INTERFACE IDirect3DRMAnimationArray | |
1571 | |
1572 DECLARE_INTERFACE_(IDirect3DRMAnimationArray, IDirect3DRMArray) | |
1573 { | |
1574 IUNKNOWN_METHODS(PURE); | |
1575 | |
1576 STDMETHOD_(DWORD, GetSize)(THIS) PURE; | |
1577 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMANIMATION2 *) PURE; | |
1578 }; | |
1579 | |
1580 #undef INTERFACE | |
1581 #define INTERFACE IDirect3DRMPickedArray | |
1582 | |
1583 DECLARE_INTERFACE_(IDirect3DRMPickedArray, IDirect3DRMArray) | |
1584 { | |
1585 IUNKNOWN_METHODS(PURE); | |
1586 | |
1587 STDMETHOD_(DWORD, GetSize)(THIS) PURE; | |
1588 STDMETHOD(GetPick)(THIS_ DWORD index, LPDIRECT3DRMVISUAL *, LPDIRECT3DRMFRAMEARRAY *, LPD3DRMPICKDESC) PURE; | |
1589 }; | |
1590 | |
1591 #undef INTERFACE | |
1592 #define INTERFACE IDirect3DRMLightArray | |
1593 | |
1594 DECLARE_INTERFACE_(IDirect3DRMLightArray, IDirect3DRMArray) | |
1595 { | |
1596 IUNKNOWN_METHODS(PURE); | |
1597 | |
1598 STDMETHOD_(DWORD, GetSize)(THIS) PURE; | |
1599 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMLIGHT *) PURE; | |
1600 }; | |
1601 | |
1602 #undef INTERFACE | |
1603 #define INTERFACE IDirect3DRMFaceArray | |
1604 | |
1605 DECLARE_INTERFACE_(IDirect3DRMFaceArray, IDirect3DRMArray) | |
1606 { | |
1607 IUNKNOWN_METHODS(PURE); | |
1608 | |
1609 STDMETHOD_(DWORD, GetSize)(THIS) PURE; | |
1610 STDMETHOD(GetElement)(THIS_ DWORD index, LPDIRECT3DRMFACE *) PURE; | |
1611 }; | |
1612 | |
1613 #undef INTERFACE | |
1614 #define INTERFACE IDirect3DRMPicked2Array | |
1615 | |
1616 DECLARE_INTERFACE_(IDirect3DRMPicked2Array, IDirect3DRMArray) | |
1617 { | |
1618 IUNKNOWN_METHODS(PURE); | |
1619 | |
1620 STDMETHOD_(DWORD, GetSize)(THIS) PURE; | |
1621 STDMETHOD(GetPick)(THIS_ DWORD index, LPDIRECT3DRMVISUAL *, LPDIRECT3DRMFRAMEARRAY *, LPD3DRMPICKDESC2) PURE; | |
1622 }; | |
1623 | |
1624 #undef INTERFACE | |
1625 #define INTERFACE IDirect3DRMInterpolator | |
1626 | |
1627 DECLARE_INTERFACE_(IDirect3DRMInterpolator, IDirect3DRMObject) | |
1628 { | |
1629 IUNKNOWN_METHODS(PURE); | |
1630 IDIRECT3DRMOBJECT_METHODS(PURE); | |
1631 | |
1632 /* | |
1633 * IDirect3DRMInterpolator methods | |
1634 */ | |
1635 STDMETHOD(AttachObject)(THIS_ LPDIRECT3DRMOBJECT) PURE; | |
1636 STDMETHOD(GetAttachedObjects)(THIS_ LPDIRECT3DRMOBJECTARRAY *) PURE; | |
1637 STDMETHOD(DetachObject)(THIS_ LPDIRECT3DRMOBJECT) PURE; | |
1638 STDMETHOD(SetIndex)(THIS_ D3DVALUE) PURE; | |
1639 STDMETHOD_(D3DVALUE, GetIndex)(THIS) PURE; | |
1640 STDMETHOD(Interpolate)(THIS_ D3DVALUE, LPDIRECT3DRMOBJECT, D3DRMINTERPOLATIONOPTIONS) PURE; | |
1641 }; | |
1642 | |
1643 #undef INTERFACE | |
1644 #define INTERFACE IDirect3DRMClippedVisual | |
1645 | |
1646 DECLARE_INTERFACE_(IDirect3DRMClippedVisual, IDirect3DRMVisual) | |
1647 { | |
1648 IUNKNOWN_METHODS(PURE); | |
1649 IDIRECT3DRMOBJECT_METHODS(PURE); | |
1650 | |
1651 /* | |
1652 * IDirect3DRMClippedVisual methods | |
1653 */ | |
1654 STDMETHOD(Init) (THIS_ LPDIRECT3DRMVISUAL) PURE; | |
1655 STDMETHOD(AddPlane) (THIS_ LPDIRECT3DRMFRAME3, LPD3DVECTOR, LPD3DVECTOR, DWORD, LPDWORD) PURE; | |
1656 STDMETHOD(DeletePlane)(THIS_ DWORD, DWORD) PURE; | |
1657 STDMETHOD(GetPlaneIDs)(THIS_ LPDWORD, LPDWORD, DWORD) PURE; | |
1658 STDMETHOD(GetPlane) (THIS_ DWORD, LPDIRECT3DRMFRAME3, LPD3DVECTOR, LPD3DVECTOR, DWORD) PURE; | |
1659 STDMETHOD(SetPlane) (THIS_ DWORD, LPDIRECT3DRMFRAME3, LPD3DVECTOR, LPD3DVECTOR, DWORD) PURE; | |
1660 }; | |
1661 | |
1662 #ifdef __cplusplus | |
1663 }; | |
1664 #endif | |
1665 #endif /* _D3DRMOBJ_H_ */ | |
1666 |