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