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