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