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