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 29 extern "C" { 30 #endif 31 32 /* Direct3DRM object CLSIDs */ 33 34 DEFINE_GUID(CLSID_CDirect3DRMDevice, 0x4fa3568e, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); 35 DEFINE_GUID(CLSID_CDirect3DRMViewport, 0x4fa3568f, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); 36 DEFINE_GUID(CLSID_CDirect3DRMFrame, 0x4fa35690, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); 37 DEFINE_GUID(CLSID_CDirect3DRMMesh, 0x4fa35691, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); 38 DEFINE_GUID(CLSID_CDirect3DRMMeshBuilder, 0x4fa35692, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); 39 DEFINE_GUID(CLSID_CDirect3DRMFace, 0x4fa35693, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); 40 DEFINE_GUID(CLSID_CDirect3DRMLight, 0x4fa35694, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); 41 DEFINE_GUID(CLSID_CDirect3DRMTexture, 0x4fa35695, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); 42 DEFINE_GUID(CLSID_CDirect3DRMWrap, 0x4fa35696, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); 43 DEFINE_GUID(CLSID_CDirect3DRMMaterial, 0x4fa35697, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); 44 DEFINE_GUID(CLSID_CDirect3DRMAnimation, 0x4fa35698, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); 45 DEFINE_GUID(CLSID_CDirect3DRMAnimationSet, 0x4fa35699, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); 46 DEFINE_GUID(CLSID_CDirect3DRMUserVisual, 0x4fa3569a, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); 47 DEFINE_GUID(CLSID_CDirect3DRMShadow, 0x4fa3569b, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1); 48 DEFINE_GUID(CLSID_CDirect3DRMViewportInterpolator, 0xde9eaa1, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3); 49 DEFINE_GUID(CLSID_CDirect3DRMFrameInterpolator, 0xde9eaa2, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3); 50 DEFINE_GUID(CLSID_CDirect3DRMMeshInterpolator, 0xde9eaa3, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3); 51 DEFINE_GUID(CLSID_CDirect3DRMLightInterpolator, 0xde9eaa6, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3); 52 DEFINE_GUID(CLSID_CDirect3DRMMaterialInterpolator, 0xde9eaa7, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3); 53 DEFINE_GUID(CLSID_CDirect3DRMTextureInterpolator, 0xde9eaa8, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3); 54 DEFINE_GUID(CLSID_CDirect3DRMProgressiveMesh, 0x4516ec40, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3); 55 DEFINE_GUID(CLSID_CDirect3DRMClippedVisual, 0x5434e72d, 0x6d66, 0x11d1, 0xbb, 0xb, 0x0, 0x0, 0xf8, 0x75, 0x86, 0x5a); 56 57 /* Direct3DRM object interface GUIDs */ 58 59 DEFINE_GUID(IID_IDirect3DRMObject, 0xeb16cb00, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 60 DEFINE_GUID(IID_IDirect3DRMObject2, 0x4516ec7c, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3); 61 DEFINE_GUID(IID_IDirect3DRMDevice, 0xe9e19280, 0x6e05, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 62 DEFINE_GUID(IID_IDirect3DRMDevice2, 0x4516ec78, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3); 63 DEFINE_GUID(IID_IDirect3DRMDevice3, 0x549f498b, 0xbfeb, 0x11d1, 0x8e, 0xd8, 0x00, 0xa0, 0xc9, 0x67, 0xa4, 0x82); 64 DEFINE_GUID(IID_IDirect3DRMViewport, 0xeb16cb02, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 65 DEFINE_GUID(IID_IDirect3DRMViewport2, 0x4a1b1be6, 0xbfed, 0x11d1, 0x8e, 0xd8, 0x00, 0xa0, 0xc9, 0x67, 0xa4, 0x82); 66 DEFINE_GUID(IID_IDirect3DRMFrame, 0xeb16cb03, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 67 DEFINE_GUID(IID_IDirect3DRMFrame2, 0xc3dfbd60, 0x3988, 0x11d0, 0x9e, 0xc2, 0x00, 0x00, 0xc0, 0x29, 0x1a, 0xc3); 68 DEFINE_GUID(IID_IDirect3DRMFrame3, 0xff6b7f70, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66); 69 DEFINE_GUID(IID_IDirect3DRMVisual, 0xeb16cb04, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 70 DEFINE_GUID(IID_IDirect3DRMMesh, 0xa3a80d01, 0x6e12, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 71 DEFINE_GUID(IID_IDirect3DRMMeshBuilder, 0xa3a80d02, 0x6e12, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 72 DEFINE_GUID(IID_IDirect3DRMMeshBuilder2, 0x4516ec77, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3); 73 DEFINE_GUID(IID_IDirect3DRMMeshBuilder3, 0x4516ec82, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3); 74 DEFINE_GUID(IID_IDirect3DRMFace, 0xeb16cb07, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 75 DEFINE_GUID(IID_IDirect3DRMFace2, 0x4516ec81, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3); 76 DEFINE_GUID(IID_IDirect3DRMLight, 0xeb16cb08, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 77 DEFINE_GUID(IID_IDirect3DRMTexture, 0xeb16cb09, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 78 DEFINE_GUID(IID_IDirect3DRMTexture2, 0x120f30c0, 0x1629, 0x11d0, 0x94, 0x1c, 0x00, 0x80, 0xc8, 0x0c, 0xfa, 0x7b); 79 DEFINE_GUID(IID_IDirect3DRMTexture3, 0xff6b7f73, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66); 80 DEFINE_GUID(IID_IDirect3DRMWrap, 0xeb16cb0a, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 81 DEFINE_GUID(IID_IDirect3DRMMaterial, 0xeb16cb0b, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 82 DEFINE_GUID(IID_IDirect3DRMMaterial2, 0xff6b7f75, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66); 83 DEFINE_GUID(IID_IDirect3DRMAnimation, 0xeb16cb0d, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 84 DEFINE_GUID(IID_IDirect3DRMAnimation2, 0xff6b7f77, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66); 85 DEFINE_GUID(IID_IDirect3DRMAnimationSet, 0xeb16cb0e, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 86 DEFINE_GUID(IID_IDirect3DRMAnimationSet2, 0xff6b7f79, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66); 87 DEFINE_GUID(IID_IDirect3DRMObjectArray, 0x242f6bc2, 0x3849, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3); 88 DEFINE_GUID(IID_IDirect3DRMDeviceArray, 0xeb16cb10, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 89 DEFINE_GUID(IID_IDirect3DRMViewportArray, 0xeb16cb11, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 90 DEFINE_GUID(IID_IDirect3DRMFrameArray, 0xeb16cb12, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 91 DEFINE_GUID(IID_IDirect3DRMVisualArray, 0xeb16cb13, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 92 DEFINE_GUID(IID_IDirect3DRMLightArray, 0xeb16cb14, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 93 DEFINE_GUID(IID_IDirect3DRMPickedArray, 0xeb16cb16, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 94 DEFINE_GUID(IID_IDirect3DRMFaceArray, 0xeb16cb17, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 95 DEFINE_GUID(IID_IDirect3DRMAnimationArray, 0xd5f1cae0, 0x4bd7, 0x11d1, 0xb9, 0x74, 0x00, 0x60, 0x08, 0x3e, 0x45, 0xf3); 96 DEFINE_GUID(IID_IDirect3DRMUserVisual, 0x59163de0, 0x6d43, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 97 DEFINE_GUID(IID_IDirect3DRMShadow, 0xaf359780, 0x6ba3, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1); 98 DEFINE_GUID(IID_IDirect3DRMShadow2, 0x86b44e25, 0x9c82, 0x11d1, 0xbb, 0x0b, 0x00, 0xa0, 0xc9, 0x81, 0xa0, 0xa6); 99 DEFINE_GUID(IID_IDirect3DRMInterpolator, 0x242f6bc1, 0x3849, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3); 100 DEFINE_GUID(IID_IDirect3DRMProgressiveMesh, 0x4516ec79, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3); 101 DEFINE_GUID(IID_IDirect3DRMPicked2Array, 0x4516ec7b, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3); 102 DEFINE_GUID(IID_IDirect3DRMClippedVisual, 0x5434e733, 0x6d66, 0x11d1, 0xbb, 0x0b, 0x00, 0x00, 0xf8, 0x75, 0x86, 0x5a); 103 104 /***************************************************************************** 105 * Predeclare the interfaces 106 */ 107 108 typedef struct IDirect3DRMObject *LPDIRECT3DRMOBJECT, **LPLPDIRECT3DRMOBJECT; 109 typedef struct IDirect3DRMObject2 *LPDIRECT3DRMOBJECT2, **LPLPDIRECT3DRMOBJECT2; 110 typedef struct IDirect3DRMDevice *LPDIRECT3DRMDEVICE, **LPLPDIRECT3DRMDEVICE; 111 typedef struct IDirect3DRMDevice2 *LPDIRECT3DRMDEVICE2, **LPLPDIRECT3DRMDEVICE2; 112 typedef struct IDirect3DRMDevice3 *LPDIRECT3DRMDEVICE3, **LPLPDIRECT3DRMDEVICE3; 113 typedef struct IDirect3DRMViewport *LPDIRECT3DRMVIEWPORT, **LPLPDIRECT3DRMVIEWPORT; 114 typedef struct IDirect3DRMViewport2 *LPDIRECT3DRMVIEWPORT2, **LPLPDIRECT3DRMVIEWPORT2; 115 typedef struct IDirect3DRMFrame *LPDIRECT3DRMFRAME, **LPLPDIRECT3DRMFRAME; 116 typedef struct IDirect3DRMFrame2 *LPDIRECT3DRMFRAME2, **LPLPDIRECT3DRMFRAME2; 117 typedef struct IDirect3DRMFrame3 *LPDIRECT3DRMFRAME3, **LPLPDIRECT3DRMFRAME3; 118 typedef struct IDirect3DRMVisual *LPDIRECT3DRMVISUAL, **LPLPDIRECT3DRMVISUAL; 119 typedef struct IDirect3DRMMesh *LPDIRECT3DRMMESH, **LPLPDIRECT3DRMMESH; 120 typedef struct IDirect3DRMMeshBuilder *LPDIRECT3DRMMESHBUILDER, **LPLPDIRECT3DRMMESHBUILDER; 121 typedef struct IDirect3DRMMeshBuilder2 *LPDIRECT3DRMMESHBUILDER2, **LPLPDIRECT3DRMMESHBUILDER2; 122 typedef struct IDirect3DRMMeshBuilder3 *LPDIRECT3DRMMESHBUILDER3, **LPLPDIRECT3DRMMESHBUILDER3; 123 typedef struct IDirect3DRMFace *LPDIRECT3DRMFACE, **LPLPDIRECT3DRMFACE; 124 typedef struct IDirect3DRMFace2 *LPDIRECT3DRMFACE2, **LPLPDIRECT3DRMFACE2; 125 typedef struct IDirect3DRMLight *LPDIRECT3DRMLIGHT, **LPLPDIRECT3DRMLIGHT; 126 typedef struct IDirect3DRMTexture *LPDIRECT3DRMTEXTURE, **LPLPDIRECT3DRMTEXTURE; 127 typedef struct IDirect3DRMTexture2 *LPDIRECT3DRMTEXTURE2, **LPLPDIRECT3DRMTEXTURE2; 128 typedef struct IDirect3DRMTexture3 *LPDIRECT3DRMTEXTURE3, **LPLPDIRECT3DRMTEXTURE3; 129 typedef struct IDirect3DRMWrap *LPDIRECT3DRMWRAP, **LPLPDIRECT3DRMWRAP; 130 typedef struct IDirect3DRMMaterial *LPDIRECT3DRMMATERIAL, **LPLPDIRECT3DRMMATERIAL; 131 typedef struct IDirect3DRMMaterial2 *LPDIRECT3DRMMATERIAL2, **LPLPDIRECT3DRMMATERIAL2; 132 typedef struct IDirect3DRMAnimation *LPDIRECT3DRMANIMATION, **LPLPDIRECT3DRMANIMATION; 133 typedef struct IDirect3DRMAnimation2 *LPDIRECT3DRMANIMATION2, **LPLPDIRECT3DRMANIMATION2; 134 typedef struct IDirect3DRMAnimationSet *LPDIRECT3DRMANIMATIONSET, **LPLPDIRECT3DRMANIMATIONSET; 135 typedef struct IDirect3DRMAnimationSet2 *LPDIRECT3DRMANIMATIONSET2, **LPLPDIRECT3DRMANIMATIONSET2; 136 typedef struct IDirect3DRMUserVisual *LPDIRECT3DRMUSERVISUAL, **LPLPDIRECT3DRMUSERVISUAL; 137 typedef struct IDirect3DRMShadow *LPDIRECT3DRMSHADOW, **LPLPDIRECT3DRMSHADOW; 138 typedef struct IDirect3DRMShadow2 *LPDIRECT3DRMSHADOW2, **LPLPDIRECT3DRMSHADOW2; 139 typedef struct IDirect3DRMArray *LPDIRECT3DRMARRAY, **LPLPDIRECT3DRMARRAY; 140 typedef struct IDirect3DRMObjectArray *LPDIRECT3DRMOBJECTARRAY, **LPLPDIRECT3DRMOBJECTARRAY; 141 typedef struct IDirect3DRMDeviceArray *LPDIRECT3DRMDEVICEARRAY, **LPLPDIRECT3DRMDEVICEARRAY; 142 typedef struct IDirect3DRMFaceArray *LPDIRECT3DRMFACEARRAY, **LPLPDIRECT3DRMFACEARRAY; 143 typedef struct IDirect3DRMViewportArray *LPDIRECT3DRMVIEWPORTARRAY, **LPLPDIRECT3DRMVIEWPORTARRAY; 144 typedef struct IDirect3DRMFrameArray *LPDIRECT3DRMFRAMEARRAY, **LPLPDIRECT3DRMFRAMEARRAY; 145 typedef struct IDirect3DRMAnimationArray *LPDIRECT3DRMANIMATIONARRAY, **LPLPDIRECT3DRMANIMATIONARRAY; 146 typedef struct IDirect3DRMVisualArray *LPDIRECT3DRMVISUALARRAY, **LPLPDIRECT3DRMVISUALARRAY; 147 typedef struct IDirect3DRMPickedArray *LPDIRECT3DRMPICKEDARRAY, **LPLPDIRECT3DRMPICKEDARRAY; 148 typedef struct IDirect3DRMPicked2Array *LPDIRECT3DRMPICKED2ARRAY, **LPLPDIRECT3DRMPICKED2ARRAY; 149 typedef struct IDirect3DRMLightArray *LPDIRECT3DRMLIGHTARRAY, **LPLPDIRECT3DRMLIGHTARRAY; 150 typedef struct IDirect3DRMProgressiveMesh *LPDIRECT3DRMPROGRESSIVEMESH, **LPLPDIRECT3DRMPROGRESSIVEMESH; 151 typedef struct IDirect3DRMClippedVisual *LPDIRECT3DRMCLIPPEDVISUAL, **LPLPDIRECT3DRMCLIPPEDVISUAL; 152 153 /* ******************************************************************** 154 Types and structures 155 ******************************************************************** */ 156 157 typedef void (__cdecl *D3DRMOBJECTCALLBACK)(struct IDirect3DRMObject *obj, void *arg); 158 typedef void (__cdecl *D3DRMFRAMEMOVECALLBACK)(struct IDirect3DRMFrame *frame, void *ctx, D3DVALUE delta); 159 typedef void (__cdecl *D3DRMFRAME3MOVECALLBACK)(struct IDirect3DRMFrame3 *frame, void *ctx, D3DVALUE delta); 160 typedef void (__cdecl *D3DRMUPDATECALLBACK)(struct IDirect3DRMDevice *device, void *ctx, int count, D3DRECT *rects); 161 typedef void (__cdecl *D3DRMDEVICE3UPDATECALLBACK)(struct IDirect3DRMDevice3 *device, void *ctx, 162 int count, D3DRECT *rects); 163 typedef int (__cdecl *D3DRMUSERVISUALCALLBACK)(struct IDirect3DRMUserVisual *visual, void *ctx, 164 D3DRMUSERVISUALREASON reason, struct IDirect3DRMDevice *device, struct IDirect3DRMViewport *viewport); 165 typedef HRESULT (__cdecl *D3DRMLOADTEXTURECALLBACK)(char *tex_name, void *arg, struct IDirect3DRMTexture **texture); 166 typedef HRESULT (__cdecl *D3DRMLOADTEXTURE3CALLBACK)(char *tex_name, void *arg, struct IDirect3DRMTexture3 **texture); 167 typedef void (__cdecl *D3DRMLOADCALLBACK)(struct IDirect3DRMObject *object, REFIID objectguid, void *arg); 168 typedef HRESULT (__cdecl *D3DRMDOWNSAMPLECALLBACK)(struct IDirect3DRMTexture3 *texture, void *ctx, 169 IDirectDrawSurface *src_surface, IDirectDrawSurface *dst_surface); 170 typedef HRESULT (__cdecl *D3DRMVALIDATIONCALLBACK)(struct IDirect3DRMTexture3 *texture, void *ctx, 171 DWORD flags, DWORD rect_count, RECT *rects); 172 173 typedef struct _D3DRMPICKDESC 174 { 175 ULONG ulFaceIdx; 176 LONG lGroupIdx; 177 D3DVECTOR vPosition; 178 } D3DRMPICKDESC, *LPD3DRMPICKDESC; 179 180 typedef 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 198 DECLARE_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 253 DECLARE_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 308 DECLARE_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 363 DECLARE_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 490 DECLARE_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 635 DECLARE_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 795 DECLARE_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 935 DECLARE_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 1083 DECLARE_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 1316 DECLARE_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 1598 DECLARE_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 1896 DECLARE_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 2011 DECLARE_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 2121 DECLARE_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 2180 DECLARE_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 2268 DECLARE_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 2378 DECLARE_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 2488 DECLARE_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 2660 DECLARE_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 2841 DECLARE_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 3078 DECLARE_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 3190 DECLARE_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 3302 DECLARE_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 3426 DECLARE_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 3562 DECLARE_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 3628 DECLARE_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 3701 DECLARE_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 3780 DECLARE_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 3859 DECLARE_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 3953 DECLARE_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 4021 DECLARE_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 4092 DECLARE_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 4150 DECLARE_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 4181 DECLARE_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 4218 DECLARE_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 4255 DECLARE_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 4292 DECLARE_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 4329 DECLARE_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 4366 DECLARE_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 4403 DECLARE_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 4441 DECLARE_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 4478 DECLARE_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 4515 DECLARE_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 4553 DECLARE_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 4626 DECLARE_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__ */ 4703