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