This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/directx/d3drmobj.h

1420 lines
70 KiB
C

/*
* d3drmobj.h Direct3DRM object interfaces
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
#ifndef _D3DRMOBJ_H_
#define _D3DRMOBJ_H_
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#include <d3drmdef.h>
#include <d3d.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Macros to simplify various definitions in this file */
#define IUNKNOWN_METHODS( x ) \
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) x; \
STDMETHOD_( ULONG, AddRef )( THIS ) x; \
STDMETHOD_( ULONG, Release )( THIS ) x
#define IDIRECT3DRMOBJECT_METHODS( x ) \
STDMETHOD( Clone )( THIS_ LPUNKNOWN, REFIID, LPVOID * ) x; \
STDMETHOD( AddDestroyCallback )( THIS_ D3DRMOBJECTCALLBACK, LPVOID ) x; \
STDMETHOD( DeleteDestroyCallback )( THIS_ D3DRMOBJECTCALLBACK, LPVOID ) x; \
STDMETHOD( SetAppData )( THIS_ DWORD ) x; \
STDMETHOD_( DWORD, GetAppData )( THIS ) x; \
STDMETHOD( SetName )( THIS_ LPCSTR ) x; \
STDMETHOD( GetName )( THIS_ LPDWORD, LPSTR ) x; \
STDMETHOD( GetClassName )( THIS_ LPDWORD, LPSTR ) x
#define WIN_TYPES( p1, p2 ) \
typedef interface p1 *LP##p2; \
typedef interface p1 **LPLP##p2
/* Pointers to interface */
WIN_TYPES( IDirect3DRM, DIRECT3DRM );
WIN_TYPES( IDirect3DRMObject, DIRECT3DRMOBJECT );
WIN_TYPES( IDirect3DRMVisual, DIRECT3DRMVISUAL );
WIN_TYPES( IDirect3DRMDevice, DIRECT3DRMDEVICE );
WIN_TYPES( IDirect3DRMDevice2, DIRECT3DRMDEVICE2 );
WIN_TYPES( IDirect3DRMDevice3, DIRECT3DRMDEVICE3 );
WIN_TYPES( IDirect3DRMViewport, DIRECT3DRMVIEWPORT );
WIN_TYPES( IDirect3DRMViewport2, DIRECT3DRMVIEWPORT2 );
WIN_TYPES( IDirect3DRMFrame, DIRECT3DRMFRAME );
WIN_TYPES( IDirect3DRMFrame2, DIRECT3DRMFRAME2 );
WIN_TYPES( IDirect3DRMFrame3, DIRECT3DRMFRAME3 );
WIN_TYPES( IDirect3DRMMesh, DIRECT3DRMMESH );
WIN_TYPES( IDirect3DRMProgressiveMesh, DIRECT3DRMPROGRESSIVEMESH );
WIN_TYPES( IDirect3DRMShadow, DIRECT3DRMSHADOW );
WIN_TYPES( IDirect3DRMShadow2, DIRECT3DRMSHADOW2 );
WIN_TYPES( IDirect3DRMFace, DIRECT3DRMFACE );
WIN_TYPES( IDirect3DRMFace2, DIRECT3DRMFACE2 );
WIN_TYPES( IDirect3DRMMeshBuilder, DIRECT3DRMMESHBUILDER );
WIN_TYPES( IDirect3DRMMeshBuilder2, DIRECT3DRMMESHBUILDER2 );
WIN_TYPES( IDirect3DRMMeshBuilder3, DIRECT3DRMMESHBUILDER3 );
WIN_TYPES( IDirect3DRMLight, DIRECT3DRMLIGHT );
WIN_TYPES( IDirect3DRMTexture, DIRECT3DRMTEXTURE );
WIN_TYPES( IDirect3DRMTexture2, DIRECT3DRMTEXTURE2 );
WIN_TYPES( IDirect3DRMTexture3, DIRECT3DRMTEXTURE3 );
WIN_TYPES( IDirect3DRMWrap, DIRECT3DRMWRAP );
WIN_TYPES( IDirect3DRMMaterial, DIRECT3DRMMATERIAL );
WIN_TYPES( IDirect3DRMMaterial2, DIRECT3DRMMATERIAL2 );
WIN_TYPES( IDirect3DRMAnimation, DIRECT3DRMANIMATION );
WIN_TYPES( IDirect3DRMAnimation2, DIRECT3DRMANIMATION2 );
WIN_TYPES( IDirect3DRMAnimationSet, DIRECT3DRMANIMATIONSET );
WIN_TYPES( IDirect3DRMAnimationSet2, DIRECT3DRMANIMATIONSET2 );
WIN_TYPES( IDirect3DRMUserVisual, DIRECT3DRMUSERVISUAL );
WIN_TYPES( IDirect3DRMArray, DIRECT3DRMARRAY );
WIN_TYPES( IDirect3DRMObjectArray, DIRECT3DRMOBJECTARRAY );
WIN_TYPES( IDirect3DRMDeviceArray, DIRECT3DRMDEVICEARRAY );
WIN_TYPES( IDirect3DRMFrameArray, DIRECT3DRMFRAMEARRAY );
WIN_TYPES( IDirect3DRMViewportArray, DIRECT3DRMVIEWPORTARRAY );
WIN_TYPES( IDirect3DRMVisualArray, DIRECT3DRMVISUALARRAY );
WIN_TYPES( IDirect3DRMAnimationArray, DIRECT3DRMANIMATIONARRAY );
WIN_TYPES( IDirect3DRMPickedArray, DIRECT3DRMPICKEDARRAY );
WIN_TYPES( IDirect3DRMLightArray, DIRECT3DRMLIGHTARRAY );
WIN_TYPES( IDirect3DRMFaceArray, DIRECT3DRMFACEARRAY );
WIN_TYPES( IDirect3DRMPicked2Array, DIRECT3DRMPICKED2ARRAY );
WIN_TYPES( IDirect3DRMInterpolator, DIRECT3DRMINTERPOLATOR );
WIN_TYPES( IDirect3DRMClippedVisual, DIRECT3DRMCLIPPEDVISUAL );
/* Direct3DRM callbacks */
typedef void (__cdecl *D3DRMOBJECTCALLBACK)( LPDIRECT3DRMOBJECT, LPVOID );
typedef void (__cdecl *D3DRMFRAMEMOVECALLBACK)( LPDIRECT3DRMOBJECT, LPVOID, D3DVALUE );
typedef void (__cdecl *D3DRMFRAME3MOVECALLBACK)( LPDIRECT3DRMFRAME3, LPVOID, D3DVALUE );
typedef void (__cdecl *D3DRMUPDATECALLBACK)( LPDIRECT3DRMDEVICE, LPVOID, int, LPD3DRECT );
typedef int (__cdecl *D3DRMUSERVISUALCALLBACK)( LPDIRECT3DRMUSERVISUAL, LPVOID, D3DRMUSERVISUALREASON, LPDIRECT3DRMDEVICE, LPDIRECT3DRMVIEWPORT );
typedef HRESULT (__cdecl *D3DRMLOADTEXTURECALLBACK)( char *, void *, LPDIRECT3DRMTEXTURE * );
typedef HRESULT (__cdecl *D3DRMLOADTEXTURE3CALLBACK)( char *, void *, LPDIRECT3DRMTEXTURE3 * );
typedef void (__cdecl *D3DRMLOADCALLBACK)( LPDIRECT3DRMOBJECT, REFIID, LPVOID );
typedef HRESULT (__cdecl *D3DRMDOWNSAMPLECALLBACK)( LPDIRECT3DRMTEXTURE3, LPVOID, LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE );
typedef HRESULT (__cdecl *D3DRMVALIDATIONCALLBACK)( LPDIRECT3DRMTEXTURE3, LPVOID, DWORD, DWORD, LPRECT );
/* Direct3DRM pick description */
typedef struct _D3DRMPICKDESC {
ULONG ulFaceIdx;
LONG lGroupIdx;
D3DVECTOR vPosition;
} D3DRMPICKDESC;
typedef D3DRMPICKDESC *LPD3DRMPICKDESC;
/* Direct3DRM pick description (version 2) */
typedef struct _D3DRMPICKDESC2 {
ULONG ulFaceIdx;
LONG lGroupIdx;
D3DVECTOR dvPosition;
D3DVALUE tu;
D3DVALUE tv;
D3DVECTOR dvNormal;
D3DCOLOR dcColor;
} D3DRMPICKDESC2;
typedef D3DRMPICKDESC2 *LPD3DRMPICKDESC2;
/* GUIDs */
EXTERN_C const IID IID_IDirect3DRMObject;
EXTERN_C const IID IID_IDirect3DRMObject2;
EXTERN_C const IID IID_IDirect3DRMVisual;
EXTERN_C const IID IID_IDirect3DRMDevice;
EXTERN_C const IID IID_IDirect3DRMDevice2;
EXTERN_C const IID IID_IDirect3DRMDevice3;
EXTERN_C const IID IID_IDirect3DRMViewport;
EXTERN_C const IID IID_IDirect3DRMViewport2;
EXTERN_C const IID IID_IDirect3DRMFrame;
EXTERN_C const IID IID_IDirect3DRMFrame2;
EXTERN_C const IID IID_IDirect3DRMFrame3;
EXTERN_C const IID IID_IDirect3DRMMesh;
EXTERN_C const IID IID_IDirect3DRMProgressiveMesh;
EXTERN_C const IID IID_IDirect3DRMShadow;
EXTERN_C const IID IID_IDirect3DRMShadow2;
EXTERN_C const IID IID_IDirect3DRMFace;
EXTERN_C const IID IID_IDirect3DRMFace2;
EXTERN_C const IID IID_IDirect3DRMMeshBuilder;
EXTERN_C const IID IID_IDirect3DRMMeshBuilder2;
EXTERN_C const IID IID_IDirect3DRMMeshBuilder3;
EXTERN_C const IID IID_IDirect3DRMLight;
EXTERN_C const IID IID_IDirect3DRMTexture;
EXTERN_C const IID IID_IDirect3DRMTexture2;
EXTERN_C const IID IID_IDirect3DRMTexture3;
EXTERN_C const IID IID_IDirect3DRMWrap;
EXTERN_C const IID IID_IDirect3DRMMaterial;
EXTERN_C const IID IID_IDirect3DRMMaterial2;
EXTERN_C const IID IID_IDirect3DRMAnimation;
EXTERN_C const IID IID_IDirect3DRMAnimation2;
EXTERN_C const IID IID_IDirect3DRMAnimationSet;
EXTERN_C const IID IID_IDirect3DRMAnimationSet2;
EXTERN_C const IID IID_IDirect3DRMUserVisual;
EXTERN_C const IID IID_IDirect3DRMArray;
EXTERN_C const IID IID_IDirect3DRMObjectArray;
EXTERN_C const IID IID_IDirect3DRMDeviceArray;
EXTERN_C const IID IID_IDirect3DRMFrameArray;
EXTERN_C const IID IID_IDirect3DRMViewportArray;
EXTERN_C const IID IID_IDirect3DRMVisualArray;
EXTERN_C const IID IID_IDirect3DRMAnimationArray;
EXTERN_C const IID IID_IDirect3DRMPickedArray;
EXTERN_C const IID IID_IDirect3DRMLightArray;
EXTERN_C const IID IID_IDirect3DRMFaceArray;
EXTERN_C const IID IID_IDirect3DRMPicked2Array;
EXTERN_C const IID IID_IDirect3DRMInterpolator;
EXTERN_C const IID IID_IDirect3DRMClippedVisual;
EXTERN_C const CLSID CLSID_CDirect3DRMDevice;
EXTERN_C const CLSID CLSID_CDirect3DRMViewport;
EXTERN_C const CLSID CLSID_CDirect3DRMFrame;
EXTERN_C const CLSID CLSID_CDirect3DRMMesh;
EXTERN_C const CLSID CLSID_CDirect3DRMMeshBuilder;
EXTERN_C const CLSID CLSID_CDirect3DRMFace;
EXTERN_C const CLSID CLSID_CDirect3DRMLight;
EXTERN_C const CLSID CLSID_CDirect3DRMTexture;
EXTERN_C const CLSID CLSID_CDirect3DRMWrap;
EXTERN_C const CLSID CLSID_CDirect3DRMMaterial;
EXTERN_C const CLSID CLSID_CDirect3DRMAnimation;
EXTERN_C const CLSID CLSID_CDirect3DRMAnimationSet;
EXTERN_C const CLSID CLSID_CDirect3DRMUserVisual;
EXTERN_C const CLSID CLSID_CDirect3DRMShadow;
EXTERN_C const CLSID CLSID_CDirect3DRMViewportInterpolator;
EXTERN_C const CLSID CLSID_CDirect3DRMFrameInterpolator;
EXTERN_C const CLSID CLSID_CDirect3DRMMeshInterpolator;
EXTERN_C const CLSID CLSID_CDirect3DRMLightInterpolator;
EXTERN_C const CLSID CLSID_CDirect3DRMMaterialInterpolator;
EXTERN_C const CLSID CLSID_CDirect3DRMTextureInterpolator;
EXTERN_C const CLSID CLSID_CDirect3DRMProgressiveMesh;
EXTERN_C const CLSID CLSID_CDirect3DRMClippedVisual;
/* IDirect3DRMObject interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMObject
DECLARE_INTERFACE_( IDirect3DRMObject, IUnknown ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
};
/* IDirect3DRMObject2 interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMObject2
DECLARE_INTERFACE_( IDirect3DRMObject2, IUnknown ) {
IUNKNOWN_METHODS( PURE );
/* IDirect3DRMObject2 methods */
STDMETHOD( AddDestroyCallback )( THIS_ D3DRMOBJECTCALLBACK, LPVOID ) PURE;
STDMETHOD( Clone )( THIS_ LPUNKNOWN, REFIID, LPVOID * ) PURE;
STDMETHOD( DeleteDestroyCallback )( THIS_ D3DRMOBJECTCALLBACK, LPVOID ) PURE;
STDMETHOD( GetClientData )( THIS_ DWORD, LPVOID * ) PURE;
STDMETHOD( GetDirect3DRM )( THIS_ LPDIRECT3DRM * ) PURE;
STDMETHOD( GetName )( THIS_ LPDWORD, LPSTR ) PURE;
STDMETHOD( SetClientData )( THIS_ DWORD, LPVOID, DWORD ) PURE;
STDMETHOD( SetName )( THIS_ LPCSTR ) PURE;
STDMETHOD( GetAge )( THIS_ DWORD, LPDWORD ) PURE;
};
/* IDirect3DRMVisual interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMVisual
DECLARE_INTERFACE_( IDirect3DRMVisual, IDirect3DRMObject ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
};
/* IDirect3DRMDevice interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMDevice
DECLARE_INTERFACE_( IDirect3DRMDevice, IDirect3DRMObject ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMDevice methods */
STDMETHOD( Init )( THIS_ ULONG, ULONG ) PURE;
STDMETHOD( InitFromD3D )( THIS_ LPDIRECT3D, LPDIRECT3DDEVICE ) PURE;
STDMETHOD( InitFromClipper )( THIS_ LPDIRECTDRAWCLIPPER, LPGUID, int, int ) PURE;
STDMETHOD( Update )( THIS ) PURE;
STDMETHOD( AddUpdateCallback )( THIS_ D3DRMUPDATECALLBACK, LPVOID ) PURE;
STDMETHOD( DeleteUpdateCallback )( THIS_ D3DRMUPDATECALLBACK, LPVOID ) PURE;
STDMETHOD( SetBufferCount )( THIS_ DWORD ) PURE;
STDMETHOD_( DWORD, GetBufferCount )( THIS ) PURE;
STDMETHOD( SetDither )( THIS_ BOOL ) PURE;
STDMETHOD( SetShades )( THIS_ DWORD ) PURE;
STDMETHOD( SetQuality )( THIS_ D3DRMRENDERQUALITY ) PURE;
STDMETHOD( SetTextureQuality )( THIS_ D3DRMTEXTUREQUALITY ) PURE;
STDMETHOD( GetViewports )( THIS_ LPDIRECT3DRMVIEWPORTARRAY * ) PURE;
STDMETHOD_( BOOL, GetDither )( THIS ) PURE;
STDMETHOD_( DWORD, GetShades )( THIS ) PURE;
STDMETHOD_( DWORD, GetHeight )( THIS ) PURE;
STDMETHOD_( DWORD, GetWidth )( THIS ) PURE;
STDMETHOD_( DWORD, GetTrianglesDrawn )( THIS ) PURE;
STDMETHOD_( DWORD, GetWireframeOptions )( THIS ) PURE;
STDMETHOD_( D3DRMRENDERQUALITY, GetQuality )( THIS ) PURE;
STDMETHOD_( D3DCOLORMODEL, GetColorModel )( THIS ) PURE;
STDMETHOD_( D3DRMTEXTUREQUALITY, GetTextureQuality )( THIS ) PURE;
STDMETHOD( GetDirect3DDevice )( THIS_ LPDIRECT3DDEVICE * ) PURE;
};
/* IDirect3DRMDevice2 interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMDevice2
DECLARE_INTERFACE_( IDirect3DRMDevice2, IDirect3DRMDevice ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMDevice methods */
STDMETHOD( Init )( THIS_ ULONG, ULONG ) PURE;
STDMETHOD( InitFromD3D )( THIS_ LPDIRECT3D, LPDIRECT3DDEVICE ) PURE;
STDMETHOD( InitFromClipper )( THIS_ LPDIRECTDRAWCLIPPER, LPGUID, int, int ) PURE;
STDMETHOD( Update )( THIS ) PURE;
STDMETHOD( AddUpdateCallback )( THIS_ D3DRMUPDATECALLBACK, LPVOID ) PURE;
STDMETHOD( DeleteUpdateCallback )( THIS_ D3DRMUPDATECALLBACK, LPVOID ) PURE;
STDMETHOD( SetBufferCount )( THIS_ DWORD ) PURE;
STDMETHOD_( DWORD, GetBufferCount )( THIS ) PURE;
STDMETHOD( SetDither )( THIS_ BOOL ) PURE;
STDMETHOD( SetShades )( THIS_ DWORD ) PURE;
STDMETHOD( SetQuality )( THIS_ D3DRMRENDERQUALITY ) PURE;
STDMETHOD( SetTextureQuality )( THIS_ D3DRMTEXTUREQUALITY ) PURE;
STDMETHOD( GetViewports )( THIS_ LPDIRECT3DRMVIEWPORTARRAY * ) PURE;
STDMETHOD_( BOOL, GetDither )( THIS ) PURE;
STDMETHOD_( DWORD, GetShades )( THIS ) PURE;
STDMETHOD_( DWORD, GetHeight )( THIS ) PURE;
STDMETHOD_( DWORD, GetWidth )( THIS ) PURE;
STDMETHOD_( DWORD, GetTrianglesDrawn )( THIS ) PURE;
STDMETHOD_( DWORD, GetWireframeOptions )( THIS ) PURE;
STDMETHOD_( D3DRMRENDERQUALITY, GetQuality )( THIS ) PURE;
STDMETHOD_( D3DCOLORMODEL, GetColorModel )( THIS ) PURE;
STDMETHOD_( D3DRMTEXTUREQUALITY, GetTextureQuality )( THIS ) PURE;
STDMETHOD( GetDirect3DDevice )( THIS_ LPDIRECT3DDEVICE * ) PURE;
/* IDirect3DRMDevice2 methods */
STDMETHOD( InitFromD3D2 )( THIS_ LPDIRECT3D2, LPDIRECT3DDEVICE2 ) PURE;
STDMETHOD( InitFromSurface )( THIS_ LPGUID, LPDIRECTDRAW, LPDIRECTDRAWSURFACE ) PURE;
STDMETHOD( SetRenderMode )( THIS_ DWORD ) PURE;
STDMETHOD_( DWORD, GetRenderMode )( THIS ) PURE;
STDMETHOD( GetDirect3DDevice2 )( THIS_ LPDIRECT3DDEVICE2 * ) PURE;
};
/* IDirect3DRMDevice3 interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMDevice3
DECLARE_INTERFACE_( IDirect3DRMDevice3, IDirect3DRMObject ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMDevice methods */
STDMETHOD( Init )( THIS_ ULONG, ULONG ) PURE;
STDMETHOD( InitFromD3D )( THIS_ LPDIRECT3D, LPDIRECT3DDEVICE ) PURE;
STDMETHOD( InitFromClipper )( THIS_ LPDIRECTDRAWCLIPPER, LPGUID, int, int ) PURE;
STDMETHOD( Update )( THIS ) PURE;
STDMETHOD( AddUpdateCallback )( THIS_ D3DRMUPDATECALLBACK, LPVOID ) PURE;
STDMETHOD( DeleteUpdateCallback )( THIS_ D3DRMUPDATECALLBACK, LPVOID ) PURE;
STDMETHOD( SetBufferCount )( THIS_ DWORD ) PURE;
STDMETHOD_( DWORD, GetBufferCount )( THIS ) PURE;
STDMETHOD( SetDither )( THIS_ BOOL ) PURE;
STDMETHOD( SetShades )( THIS_ DWORD ) PURE;
STDMETHOD( SetQuality )( THIS_ D3DRMRENDERQUALITY ) PURE;
STDMETHOD( SetTextureQuality )( THIS_ D3DRMTEXTUREQUALITY ) PURE;
STDMETHOD( GetViewports )( THIS_ LPDIRECT3DRMVIEWPORTARRAY * ) PURE;
STDMETHOD_( BOOL, GetDither )( THIS ) PURE;
STDMETHOD_( DWORD, GetShades )( THIS ) PURE;
STDMETHOD_( DWORD, GetHeight )( THIS ) PURE;
STDMETHOD_( DWORD, GetWidth )( THIS ) PURE;
STDMETHOD_( DWORD, GetTrianglesDrawn )( THIS ) PURE;
STDMETHOD_( DWORD, GetWireframeOptions )( THIS ) PURE;
STDMETHOD_( D3DRMRENDERQUALITY, GetQuality )( THIS ) PURE;
STDMETHOD_( D3DCOLORMODEL, GetColorModel )( THIS ) PURE;
STDMETHOD_( D3DRMTEXTUREQUALITY, GetTextureQuality )( THIS ) PURE;
STDMETHOD( GetDirect3DDevice )( THIS_ LPDIRECT3DDEVICE * ) PURE;
/* IDirect3DRMDevice2 methods */
STDMETHOD( InitFromD3D2 )( THIS_ LPDIRECT3D2, LPDIRECT3DDEVICE2 ) PURE;
STDMETHOD( InitFromSurface )( THIS_ LPGUID, LPDIRECTDRAW, LPDIRECTDRAWSURFACE ) PURE;
STDMETHOD( SetRenderMode )( THIS_ DWORD ) PURE;
STDMETHOD_( DWORD, GetRenderMode )( THIS ) PURE;
STDMETHOD( GetDirect3DDevice2 )( THIS_ LPDIRECT3DDEVICE2 * ) PURE;
/* IDirect3DRMDevice3 methods */
STDMETHOD( FindPreferredTextureFormat )( THIS_ DWORD, DWORD, LPDDPIXELFORMAT ) PURE;
STDMETHOD( RenderStateChange )( THIS_ D3DRENDERSTATETYPE, DWORD, DWORD ) PURE;
STDMETHOD( LightStateChange )( THIS_ D3DLIGHTSTATETYPE, DWORD, DWORD ) PURE;
STDMETHOD( GetStateChangeOptions )( THIS_ DWORD, DWORD, LPDWORD ) PURE;
STDMETHOD( SetStateChangeOptions )( THIS_ DWORD, DWORD, DWORD ) PURE;
};
/* IDirect3DRMViewport interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMViewport
DECLARE_INTERFACE_( IDirect3DRMViewport, IDirect3DRMObject ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMViewport methods */
STDMETHOD( Init )( THIS_ LPDIRECT3DRMDEVICE, LPDIRECT3DRMFRAME, DWORD, DWORD, DWORD, DWORD ) PURE;
STDMETHOD( Clear )( THIS ) PURE;
STDMETHOD( Render )( THIS_ LPDIRECT3DRMFRAME ) PURE;
STDMETHOD( SetFront )( THIS_ D3DVALUE ) PURE;
STDMETHOD( SetBack )( THIS_ D3DVALUE ) PURE;
STDMETHOD( SetField )( THIS_ D3DVALUE ) PURE;
STDMETHOD( SetUniformScaling )( THIS_ BOOL ) PURE;
STDMETHOD( SetCamera )( THIS_ LPDIRECT3DRMFRAME ) PURE;
STDMETHOD( SetProjection )( THIS_ D3DRMPROJECTIONTYPE ) PURE;
STDMETHOD( Transform )( THIS_ D3DRMVECTOR4D *, D3DVECTOR * ) PURE;
STDMETHOD( InverseTransform )( THIS_ D3DVECTOR *, D3DRMVECTOR4D * ) PURE;
STDMETHOD( Configure )( THIS_ LONG, LONG, DWORD, DWORD ) PURE;
STDMETHOD( ForceUpdate )( THIS_ DWORD, DWORD, DWORD, DWORD ) PURE;
STDMETHOD( SetPlane )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( GetCamera )( THIS_ LPDIRECT3DRMFRAME * ) PURE;
STDMETHOD( GetDevice )( THIS_ LPDIRECT3DRMDEVICE * ) PURE;
STDMETHOD( GetPlane )( THIS_ D3DVALUE *, D3DVALUE *, D3DVALUE *, D3DVALUE * ) PURE;
STDMETHOD( Pick )( THIS_ LONG, LONG, LPDIRECT3DRMPICKEDARRAY * ) PURE;
STDMETHOD_( BOOL, GetUniformScaling )( THIS ) PURE;
STDMETHOD_( LONG, GetX )( THIS ) PURE;
STDMETHOD_( LONG, GetY )( THIS ) PURE;
STDMETHOD_( DWORD, GetWidth )( THIS ) PURE;
STDMETHOD_( DWORD, GetHeight )( THIS ) PURE;
STDMETHOD_( D3DVALUE, GetField )( THIS ) PURE;
STDMETHOD_( D3DVALUE, GetBack )( THIS ) PURE;
STDMETHOD_( D3DVALUE, GetFront )( THIS ) PURE;
STDMETHOD_( D3DRMPROJECTIONTYPE, GetProjection )( THIS ) PURE;
STDMETHOD( GetDirect3DViewport )( THIS_ LPDIRECT3DVIEWPORT * ) PURE;
};
/* IDirect3DRMViewport2 interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMViewport2
DECLARE_INTERFACE_( IDirect3DRMViewport2, IDirect3DRMObject ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMViewport2 methods */
STDMETHOD( Init )( THIS_ LPDIRECT3DRMDEVICE3, LPDIRECT3DRMFRAME3, DWORD, DWORD, DWORD, DWORD ) PURE;
STDMETHOD( Clear )( THIS_ DWORD ) PURE;
STDMETHOD( Render )( THIS_ LPDIRECT3DRMFRAME3 ) PURE;
STDMETHOD( SetFront )( THIS_ D3DVALUE ) PURE;
STDMETHOD( SetBack )( THIS_ D3DVALUE ) PURE;
STDMETHOD( SetField )( THIS_ D3DVALUE ) PURE;
STDMETHOD( SetUniformScaling )( THIS_ BOOL ) PURE;
STDMETHOD( SetCamera )( THIS_ LPDIRECT3DRMFRAME3 ) PURE;
STDMETHOD( SetProjection )( THIS_ D3DRMPROJECTIONTYPE ) PURE;
STDMETHOD( Transform )( THIS_ D3DRMVECTOR4D *, D3DVECTOR * ) PURE;
STDMETHOD( InverseTransform )( THIS_ D3DVECTOR *, D3DRMVECTOR4D * ) PURE;
STDMETHOD( Configure )( THIS_ LONG, LONG, DWORD, DWORD ) PURE;
STDMETHOD( ForceUpdate )( THIS_ DWORD, DWORD, DWORD, DWORD ) PURE;
STDMETHOD( SetPlane )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( GetCamera )( THIS_ LPDIRECT3DRMFRAME3 * ) PURE;
STDMETHOD( GetDevice )( THIS_ LPDIRECT3DRMDEVICE3 * ) PURE;
STDMETHOD( GetPlane )( THIS_ D3DVALUE *, D3DVALUE *, D3DVALUE *, D3DVALUE * ) PURE;
STDMETHOD( Pick )( THIS_ LONG, LONG, LPDIRECT3DRMPICKEDARRAY * ) PURE;
STDMETHOD_( BOOL, GetUniformScaling )( THIS ) PURE;
STDMETHOD_( LONG, GetX )( THIS ) PURE;
STDMETHOD_( LONG, GetY )( THIS ) PURE;
STDMETHOD_( DWORD, GetWidth )( THIS ) PURE;
STDMETHOD_( DWORD, GetHeight )( THIS ) PURE;
STDMETHOD_( D3DVALUE, GetField )( THIS ) PURE;
STDMETHOD_( D3DVALUE, GetBack )( THIS ) PURE;
STDMETHOD_( D3DVALUE, GetFront )( THIS ) PURE;
STDMETHOD_( D3DRMPROJECTIONTYPE, GetProjection )( THIS ) PURE;
STDMETHOD( GetDirect3DViewport )( THIS_ LPDIRECT3DVIEWPORT * ) PURE;
STDMETHOD( TransformVectors )( THIS_ DWORD, LPD3DRMVECTOR4D, LPD3DVECTOR ) PURE;
STDMETHOD( InverseTransformVectors )( THIS_ DWORD, LPD3DVECTOR, LPD3DRMVECTOR4D ) PURE;
};
/* IDirect3DRMFrame interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMFrame
DECLARE_INTERFACE_( IDirect3DRMFrame, IDirect3DRMVisual ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMFrame methods */
STDMETHOD( AddChild )( THIS_ LPDIRECT3DRMFRAME ) PURE;
STDMETHOD( AddLight )( THIS_ LPDIRECT3DRMLIGHT ) PURE;
STDMETHOD( AddMoveCallback )( THIS_ D3DRMFRAMEMOVECALLBACK, VOID * ) PURE;
STDMETHOD( AddTransform )( THIS_ D3DRMCOMBINETYPE, D3DRMMATRIX4D ) PURE;
STDMETHOD( AddTranslation )( THIS_ D3DRMCOMBINETYPE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( AddScale )( THIS_ D3DRMCOMBINETYPE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( AddRotation )( THIS_ D3DRMCOMBINETYPE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( AddVisual )( THIS_ LPDIRECT3DRMVISUAL ) PURE;
STDMETHOD( GetChildren )( THIS_ LPDIRECT3DRMFRAMEARRAY * ) PURE;
STDMETHOD_( D3DCOLOR, GetColor )( THIS ) PURE;
STDMETHOD( GetLights )( THIS_ LPDIRECT3DRMLIGHTARRAY * ) PURE;
STDMETHOD_( D3DRMMATERIALMODE, GetMaterialMode )( THIS ) PURE;
STDMETHOD( GetParent )( THIS_ LPDIRECT3DRMFRAME * ) PURE;
STDMETHOD( GetPosition )( THIS_ LPDIRECT3DRMFRAME, LPD3DVECTOR ) PURE;
STDMETHOD( GetRotation )( THIS_ LPDIRECT3DRMFRAME, LPD3DVECTOR, LPD3DVALUE ) PURE;
STDMETHOD( GetScene )( THIS_ LPDIRECT3DRMFRAME * ) PURE;
STDMETHOD_( D3DRMSORTMODE, GetSortMode )( THIS ) PURE;
STDMETHOD( GetTexture )( THIS_ LPDIRECT3DRMTEXTURE * ) PURE;
STDMETHOD( GetTransform )( THIS_ D3DRMMATRIX4D ) PURE;
STDMETHOD( GetVelocity )( THIS_ LPDIRECT3DRMFRAME, LPD3DVECTOR, BOOL ) PURE;
STDMETHOD( GetOrientation )( THIS_ LPDIRECT3DRMFRAME, LPD3DVECTOR, LPD3DVECTOR ) PURE;
STDMETHOD( GetVisuals )( THIS_ LPDIRECT3DRMVISUALARRAY * ) PURE;
STDMETHOD( GetTextureTopology )( THIS_ BOOL *, BOOL * ) PURE;
STDMETHOD( InverseTransform )( THIS_ D3DVECTOR *, D3DVECTOR * ) PURE;
STDMETHOD( Load )( THIS_ LPVOID, LPVOID, D3DRMLOADOPTIONS, D3DRMLOADTEXTURECALLBACK, LPVOID ) PURE;
STDMETHOD( LookAt )( THIS_ LPDIRECT3DRMFRAME, LPDIRECT3DRMFRAME, D3DRMFRAMECONSTRAINT ) PURE;
STDMETHOD( Move )( THIS_ D3DVALUE ) PURE;
STDMETHOD( DeleteChild )( THIS_ LPDIRECT3DRMFRAME ) PURE;
STDMETHOD( DeleteLight )( THIS_ LPDIRECT3DRMLIGHT ) PURE;
STDMETHOD( DeleteMoveCallback )( THIS_ D3DRMFRAMEMOVECALLBACK, VOID * ) PURE;
STDMETHOD( DeleteVisual )( THIS_ LPDIRECT3DRMVISUAL ) PURE;
STDMETHOD_( D3DCOLOR, GetSceneBackground )( THIS ) PURE;
STDMETHOD( GetSceneBackgroundDepth )( THIS_ LPDIRECTDRAWSURFACE * ) PURE;
STDMETHOD_( D3DCOLOR, GetSceneFogColor )( THIS ) PURE;
STDMETHOD_( BOOL, GetSceneFogEnable )( THIS ) PURE;
STDMETHOD_( D3DRMFOGMODE, GetSceneFogMode )( THIS ) PURE;
STDMETHOD( GetSceneFogParams )( THIS_ D3DVALUE *, D3DVALUE *, D3DVALUE * ) PURE;
STDMETHOD( SetSceneBackground )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( SetSceneBackgroundRGB )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetSceneBackgroundDepth )( THIS_ LPDIRECTDRAWSURFACE ) PURE;
STDMETHOD( SetSceneBackgroundImage )( THIS_ LPDIRECT3DRMTEXTURE ) PURE;
STDMETHOD( SetSceneFogEnable )( THIS_ BOOL ) PURE;
STDMETHOD( SetSceneFogColor )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( SetSceneFogMode )( THIS_ D3DRMFOGMODE ) PURE;
STDMETHOD( SetSceneFogParams )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetColor )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( SetColorRGB )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD_( D3DRMZBUFFERMODE, GetZbufferMode )( THIS ) PURE;
STDMETHOD( SetMaterialMode )( THIS_ D3DRMMATERIALMODE ) PURE;
STDMETHOD( SetOrientation )( THIS_ LPDIRECT3DRMFRAME, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetPosition )( THIS_ LPDIRECT3DRMFRAME, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetRotation )( THIS_ LPDIRECT3DRMFRAME, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetSortMode )( THIS_ D3DRMSORTMODE ) PURE;
STDMETHOD( SetTexture )( THIS_ LPDIRECT3DRMTEXTURE ) PURE;
STDMETHOD( SetTextureTopology )( THIS_ BOOL, BOOL ) PURE;
STDMETHOD( SetVelocity )( THIS_ LPDIRECT3DRMFRAME, D3DVALUE, D3DVALUE, D3DVALUE, BOOL ) PURE;
STDMETHOD( SetZbufferMode )( THIS_ D3DRMZBUFFERMODE ) PURE;
STDMETHOD( Transform )( THIS_ D3DVECTOR *, D3DVECTOR * ) PURE;
};
/* IDirect3DRMFrame2 interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMFrame2
DECLARE_INTERFACE_( IDirect3DRMFrame2, IDirect3DRMFrame ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMFrame methods */
STDMETHOD( AddChild )( THIS_ LPDIRECT3DRMFRAME ) PURE;
STDMETHOD( AddLight )( THIS_ LPDIRECT3DRMLIGHT ) PURE;
STDMETHOD( AddMoveCallback )( THIS_ D3DRMFRAMEMOVECALLBACK, VOID * ) PURE;
STDMETHOD( AddTransform )( THIS_ D3DRMCOMBINETYPE, D3DRMMATRIX4D ) PURE;
STDMETHOD( AddTranslation )( THIS_ D3DRMCOMBINETYPE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( AddScale )( THIS_ D3DRMCOMBINETYPE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( AddRotation )( THIS_ D3DRMCOMBINETYPE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( AddVisual )( THIS_ LPDIRECT3DRMVISUAL ) PURE;
STDMETHOD( GetChildren )( THIS_ LPDIRECT3DRMFRAMEARRAY * ) PURE;
STDMETHOD_( D3DCOLOR, GetColor )( THIS ) PURE;
STDMETHOD( GetLights )( THIS_ LPDIRECT3DRMLIGHTARRAY * ) PURE;
STDMETHOD_( D3DRMMATERIALMODE, GetMaterialMode )( THIS ) PURE;
STDMETHOD( GetParent )( THIS_ LPDIRECT3DRMFRAME * ) PURE;
STDMETHOD( GetPosition )( THIS_ LPDIRECT3DRMFRAME, LPD3DVECTOR ) PURE;
STDMETHOD( GetRotation )( THIS_ LPDIRECT3DRMFRAME, LPD3DVECTOR, LPD3DVALUE ) PURE;
STDMETHOD( GetScene )( THIS_ LPDIRECT3DRMFRAME * ) PURE;
STDMETHOD_( D3DRMSORTMODE, GetSortMode )( THIS ) PURE;
STDMETHOD( GetTexture )( THIS_ LPDIRECT3DRMTEXTURE * ) PURE;
STDMETHOD( GetTransform )( THIS_ D3DRMMATRIX4D ) PURE;
STDMETHOD( GetVelocity )( THIS_ LPDIRECT3DRMFRAME, LPD3DVECTOR, BOOL ) PURE;
STDMETHOD( GetOrientation )( THIS_ LPDIRECT3DRMFRAME, LPD3DVECTOR, LPD3DVECTOR ) PURE;
STDMETHOD( GetVisuals )( THIS_ LPDIRECT3DRMVISUALARRAY * ) PURE;
STDMETHOD( GetTextureTopology )( THIS_ BOOL *, BOOL * ) PURE;
STDMETHOD( InverseTransform )( THIS_ D3DVECTOR *, D3DVECTOR * ) PURE;
STDMETHOD( Load )( THIS_ LPVOID, LPVOID, D3DRMLOADOPTIONS, D3DRMLOADTEXTURECALLBACK, LPVOID ) PURE;
STDMETHOD( LookAt )( THIS_ LPDIRECT3DRMFRAME, LPDIRECT3DRMFRAME, D3DRMFRAMECONSTRAINT ) PURE;
STDMETHOD( Move )( THIS_ D3DVALUE ) PURE;
STDMETHOD( DeleteChild )( THIS_ LPDIRECT3DRMFRAME ) PURE;
STDMETHOD( DeleteLight )( THIS_ LPDIRECT3DRMLIGHT ) PURE;
STDMETHOD( DeleteMoveCallback )( THIS_ D3DRMFRAMEMOVECALLBACK, VOID * ) PURE;
STDMETHOD( DeleteVisual )( THIS_ LPDIRECT3DRMVISUAL ) PURE;
STDMETHOD_( D3DCOLOR, GetSceneBackground )( THIS ) PURE;
STDMETHOD( GetSceneBackgroundDepth )( THIS_ LPDIRECTDRAWSURFACE * ) PURE;
STDMETHOD_( D3DCOLOR, GetSceneFogColor )( THIS ) PURE;
STDMETHOD_( BOOL, GetSceneFogEnable )( THIS ) PURE;
STDMETHOD_( D3DRMFOGMODE, GetSceneFogMode )( THIS ) PURE;
STDMETHOD( GetSceneFogParams )( THIS_ D3DVALUE *, D3DVALUE *, D3DVALUE * ) PURE;
STDMETHOD( SetSceneBackground )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( SetSceneBackgroundRGB )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetSceneBackgroundDepth )( THIS_ LPDIRECTDRAWSURFACE ) PURE;
STDMETHOD( SetSceneBackgroundImage )( THIS_ LPDIRECT3DRMTEXTURE ) PURE;
STDMETHOD( SetSceneFogEnable )( THIS_ BOOL ) PURE;
STDMETHOD( SetSceneFogColor )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( SetSceneFogMode )( THIS_ D3DRMFOGMODE ) PURE;
STDMETHOD( SetSceneFogParams )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetColor )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( SetColorRGB )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD_( D3DRMZBUFFERMODE, GetZbufferMode )( THIS ) PURE;
STDMETHOD( SetMaterialMode )( THIS_ D3DRMMATERIALMODE ) PURE;
STDMETHOD( SetOrientation )( THIS_ LPDIRECT3DRMFRAME, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetPosition )( THIS_ LPDIRECT3DRMFRAME, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetRotation )( THIS_ LPDIRECT3DRMFRAME, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetSortMode )( THIS_ D3DRMSORTMODE ) PURE;
STDMETHOD( SetTexture )( THIS_ LPDIRECT3DRMTEXTURE ) PURE;
STDMETHOD( SetTextureTopology )( THIS_ BOOL, BOOL ) PURE;
STDMETHOD( SetVelocity )( THIS_ LPDIRECT3DRMFRAME, D3DVALUE, D3DVALUE, D3DVALUE, BOOL ) PURE;
STDMETHOD( SetZbufferMode )( THIS_ D3DRMZBUFFERMODE ) PURE;
STDMETHOD( Transform )( THIS_ D3DVECTOR *, D3DVECTOR * ) PURE;
/* IDirect3DRMFrame2 methods */
STDMETHOD( AddMoveCallback2 )( THIS_ D3DRMFRAMEMOVECALLBACK, VOID *, DWORD ) PURE;
STDMETHOD( GetBox )( THIS_ LPD3DRMBOX ) PURE;
STDMETHOD_( BOOL, GetBoxEnable )( THIS ) PURE;
STDMETHOD( GetAxes )( THIS_ LPD3DVECTOR, LPD3DVECTOR ) PURE;
STDMETHOD( GetMaterial )( THIS_ LPDIRECT3DRMMATERIAL * ) PURE;
STDMETHOD_( BOOL, GetInheritAxes )( THIS ) PURE;
STDMETHOD( GetHierarchyBox )( THIS_ LPD3DRMBOX ) PURE;
STDMETHOD( SetBox )( THIS_ LPD3DRMBOX ) PURE;
STDMETHOD( SetBoxEnable )( THIS_ BOOL ) PURE;
STDMETHOD( SetAxes )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetInheritAxes )( THIS_ BOOL ) PURE;
STDMETHOD( SetMaterial )( THIS_ LPDIRECT3DRMMATERIAL ) PURE;
STDMETHOD( SetQuaternion )( THIS_ LPDIRECT3DRMFRAME, D3DRMQUATERNION * ) PURE;
STDMETHOD( RayPick )( THIS_ LPDIRECT3DRMFRAME, LPD3DRMRAY, DWORD, LPDIRECT3DRMPICKED2ARRAY * ) PURE;
STDMETHOD( Save )( THIS_ LPCSTR, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS ) PURE;
};
/* IDirect3DRMFrame3 interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMFrame3
DECLARE_INTERFACE_( IDirect3DRMFrame3, IDirect3DRMVisual ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMFrame3 methods */
STDMETHOD( AddChild )( THIS_ LPDIRECT3DRMFRAME3 ) PURE;
STDMETHOD( AddLight )( THIS_ LPDIRECT3DRMLIGHT ) PURE;
STDMETHOD( AddMoveCallback )( THIS_ D3DRMFRAME3MOVECALLBACK, VOID *, DWORD ) PURE;
STDMETHOD( AddTransform )( THIS_ D3DRMCOMBINETYPE, D3DRMMATRIX4D ) PURE;
STDMETHOD( AddTranslation )( THIS_ D3DRMCOMBINETYPE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( AddScale )( THIS_ D3DRMCOMBINETYPE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( AddRotation )( THIS_ D3DRMCOMBINETYPE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( AddVisual )( THIS_ LPUNKNOWN ) PURE;
STDMETHOD( GetChildren )( THIS_ LPDIRECT3DRMFRAMEARRAY * ) PURE;
STDMETHOD_( D3DCOLOR, GetColor )( THIS ) PURE;
STDMETHOD( GetLights )( THIS_ LPDIRECT3DRMLIGHTARRAY * ) PURE;
STDMETHOD_( D3DRMMATERIALMODE, GetMaterialMode )( THIS ) PURE;
STDMETHOD( GetParent )( THIS_ LPDIRECT3DRMFRAME3 * ) PURE;
STDMETHOD( GetPosition )( THIS_ LPDIRECT3DRMFRAME3, LPD3DVECTOR ) PURE;
STDMETHOD( GetRotation )( THIS_ LPDIRECT3DRMFRAME3, LPD3DVECTOR, LPD3DVALUE ) PURE;
STDMETHOD( GetScene )( THIS_ LPDIRECT3DRMFRAME3 * ) PURE;
STDMETHOD_( D3DRMSORTMODE, GetSortMode )( THIS ) PURE;
STDMETHOD( GetTexture )( THIS_ LPDIRECT3DRMTEXTURE3 * ) PURE;
STDMETHOD( GetTransform )( THIS_ LPDIRECT3DRMFRAME3, D3DRMMATRIX4D ) PURE;
STDMETHOD( GetVelocity )( THIS_ LPDIRECT3DRMFRAME3, LPD3DVECTOR, BOOL ) PURE;
STDMETHOD( GetOrientation )( THIS_ LPDIRECT3DRMFRAME3, LPD3DVECTOR, LPD3DVECTOR ) PURE;
STDMETHOD( GetVisuals )( THIS_ LPDWORD, LPUNKNOWN * ) PURE;
STDMETHOD( InverseTransform )( THIS_ D3DVECTOR *, D3DVECTOR * ) PURE;
STDMETHOD( Load )( THIS_ LPVOID, LPVOID, D3DRMLOADOPTIONS, D3DRMLOADTEXTURE3CALLBACK, LPVOID ) PURE;
STDMETHOD( LookAt )( THIS_ LPDIRECT3DRMFRAME3, LPDIRECT3DRMFRAME3, D3DRMFRAMECONSTRAINT ) PURE;
STDMETHOD( Move )( THIS_ D3DVALUE ) PURE;
STDMETHOD( DeleteChild )( THIS_ LPDIRECT3DRMFRAME3 ) PURE;
STDMETHOD( DeleteLight )( THIS_ LPDIRECT3DRMLIGHT ) PURE;
STDMETHOD( DeleteMoveCallback )( THIS_ D3DRMFRAME3MOVECALLBACK, VOID * ) PURE;
STDMETHOD( DeleteVisual )( THIS_ LPUNKNOWN ) PURE;
STDMETHOD_( D3DCOLOR, GetSceneBackground )( THIS ) PURE;
STDMETHOD( GetSceneBackgroundDepth )( THIS_ LPDIRECTDRAWSURFACE * ) PURE;
STDMETHOD_( D3DCOLOR, GetSceneFogColor )( THIS ) PURE;
STDMETHOD_( BOOL, GetSceneFogEnable )( THIS ) PURE;
STDMETHOD_( D3DRMFOGMODE, GetSceneFogMode )( THIS ) PURE;
STDMETHOD( GetSceneFogParams )( THIS_ D3DVALUE *, D3DVALUE *, D3DVALUE * ) PURE;
STDMETHOD( SetSceneBackground )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( SetSceneBackgroundRGB )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetSceneBackgroundDepth )( THIS_ LPDIRECTDRAWSURFACE ) PURE;
STDMETHOD( SetSceneBackgroundImage )( THIS_ LPDIRECT3DRMTEXTURE3 ) PURE;
STDMETHOD( SetSceneFogEnable )( THIS_ BOOL ) PURE;
STDMETHOD( SetSceneFogColor )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( SetSceneFogMode )( THIS_ D3DRMFOGMODE ) PURE;
STDMETHOD( SetSceneFogParams )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetColor )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( SetColorRGB )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD_( D3DRMZBUFFERMODE, GetZbufferMode )( THIS ) PURE;
STDMETHOD( SetMaterialMode )( THIS_ D3DRMMATERIALMODE ) PURE;
STDMETHOD( SetOrientation )( THIS_ LPDIRECT3DRMFRAME3, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetPosition )( THIS_ LPDIRECT3DRMFRAME3, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetRotation )( THIS_ LPDIRECT3DRMFRAME3, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetSortMode )( THIS_ D3DRMSORTMODE ) PURE;
STDMETHOD( SetTexture )( THIS_ LPDIRECT3DRMTEXTURE3 ) PURE;
STDMETHOD( SetVelocity )( THIS_ LPDIRECT3DRMFRAME3, D3DVALUE, D3DVALUE, D3DVALUE, BOOL ) PURE;
STDMETHOD( SetZbufferMode )( THIS_ D3DRMZBUFFERMODE ) PURE;
STDMETHOD( Transform )( THIS_ D3DVECTOR *, D3DVECTOR * ) PURE;
STDMETHOD( GetBox )( THIS_ LPD3DRMBOX ) PURE;
STDMETHOD_( BOOL, GetBoxEnable )( THIS ) PURE;
STDMETHOD( GetAxes )( THIS_ LPD3DVECTOR, LPD3DVECTOR ) PURE;
STDMETHOD( GetMaterial )( THIS_ LPDIRECT3DRMMATERIAL2 * ) PURE;
STDMETHOD_( BOOL, GetInheritAxes )( THIS ) PURE;
STDMETHOD( GetHierarchyBox )( THIS_ LPD3DRMBOX ) PURE;
STDMETHOD( SetBox )( THIS_ LPD3DRMBOX ) PURE;
STDMETHOD( SetBoxEnable )( THIS_ BOOL ) PURE;
STDMETHOD( SetAxes )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetInheritAxes )( THIS_ BOOL ) PURE;
STDMETHOD( SetMaterial )( THIS_ LPDIRECT3DRMMATERIAL2 ) PURE;
STDMETHOD( SetQuaternion )( THIS_ LPDIRECT3DRMFRAME3, D3DRMQUATERNION * ) PURE;
STDMETHOD( RayPick )( THIS_ LPDIRECT3DRMFRAME3, LPD3DRMRAY, DWORD, LPDIRECT3DRMPICKED2ARRAY * ) PURE;
STDMETHOD( Save )( THIS_ LPCSTR, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS ) PURE;
STDMETHOD( TransformVectors )( THIS_ LPDIRECT3DRMFRAME3, DWORD, LPD3DVECTOR, LPD3DVECTOR ) PURE;
STDMETHOD( InverseTransformVectors )( THIS_ LPDIRECT3DRMFRAME3, DWORD, LPD3DVECTOR, LPD3DVECTOR ) PURE;
STDMETHOD( SetTraversalOptions )( THIS_ DWORD ) PURE;
STDMETHOD( GetTraversalOptions )( THIS_ LPDWORD ) PURE;
STDMETHOD( SetSceneFogMethod )( THIS_ DWORD ) PURE;
STDMETHOD( GetSceneFogMethod )( THIS_ LPDWORD ) PURE;
STDMETHOD( SetMaterialOverride )( THIS_ LPD3DRMMATERIALOVERRIDE ) PURE;
STDMETHOD( GetMaterialOverride )( THIS_ LPD3DRMMATERIALOVERRIDE ) PURE;
};
/* IDirect3DRMMesh interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMMesh
DECLARE_INTERFACE_( IDirect3DRMMesh, IDirect3DRMVisual ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMMesh methods */
STDMETHOD( Scale )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( Translate )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( GetBox )( THIS_ D3DRMBOX * ) PURE;
STDMETHOD( AddGroup )( THIS_ unsigned, unsigned, unsigned, unsigned *, D3DRMGROUPINDEX * ) PURE;
STDMETHOD( SetVertices )( THIS_ D3DRMGROUPINDEX, unsigned, unsigned, D3DRMVERTEX * ) PURE;
STDMETHOD( SetGroupColor )( THIS_ D3DRMGROUPINDEX, D3DCOLOR ) PURE;
STDMETHOD( SetGroupColorRGB )( THIS_ D3DRMGROUPINDEX, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetGroupMapping )( THIS_ D3DRMGROUPINDEX, D3DRMMAPPING ) PURE;
STDMETHOD( SetGroupQuality )( THIS_ D3DRMGROUPINDEX, D3DRMRENDERQUALITY ) PURE;
STDMETHOD( SetGroupMaterial )( THIS_ D3DRMGROUPINDEX, LPDIRECT3DRMMATERIAL ) PURE;
STDMETHOD( SetGroupTexture )( THIS_ D3DRMGROUPINDEX, LPDIRECT3DRMTEXTURE ) PURE;
STDMETHOD_( unsigned, GetGroupCount )( THIS ) PURE;
STDMETHOD( GetGroup )( THIS_ D3DRMGROUPINDEX, unsigned *, unsigned *, unsigned *, DWORD *, unsigned * ) PURE;
STDMETHOD( GetVertices )( THIS_ D3DRMGROUPINDEX, DWORD, DWORD, D3DRMVERTEX * ) PURE;
STDMETHOD_( D3DCOLOR, GetGroupColor )( THIS_ D3DRMGROUPINDEX ) PURE;
STDMETHOD_( D3DRMMAPPING, GetGroupMapping )( THIS_ D3DRMGROUPINDEX ) PURE;
STDMETHOD_( D3DRMRENDERQUALITY, GetGroupQuality )( THIS_ D3DRMGROUPINDEX ) PURE;
STDMETHOD( GetGroupMaterial )( THIS_ D3DRMGROUPINDEX, LPDIRECT3DRMMATERIAL * ) PURE;
STDMETHOD( GetGroupTexture )( THIS_ D3DRMGROUPINDEX, LPDIRECT3DRMTEXTURE * ) PURE;
};
/* IDirect3DRMProgressiveMesh interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMProgressiveMesh
DECLARE_INTERFACE_( IDirect3DRMProgressiveMesh, IDirect3DRMVisual ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMProgressiveMesh methods */
STDMETHOD( Load )( THIS_ LPVOID, LPVOID, D3DRMLOADOPTIONS, D3DRMLOADTEXTURECALLBACK, LPVOID ) PURE;
STDMETHOD( GetLoadStatus )( THIS_ LPD3DRMPMESHLOADSTATUS ) PURE;
STDMETHOD( SetMinRenderDetail )( THIS_ D3DVALUE ) PURE;
STDMETHOD( Abort )( THIS_ DWORD ) PURE;
STDMETHOD( GetFaceDetail )( THIS_ LPDWORD ) PURE;
STDMETHOD( GetVertexDetail )( THIS_ LPDWORD ) PURE;
STDMETHOD( SetFaceDetail )( THIS_ DWORD ) PURE;
STDMETHOD( SetVertexDetail )( THIS_ DWORD ) PURE;
STDMETHOD( GetFaceDetailRange )( THIS_ LPDWORD, LPDWORD ) PURE;
STDMETHOD( GetVertexDetailRange )( THIS_ LPDWORD, LPDWORD ) PURE;
STDMETHOD( GetDetail )( THIS_ D3DVALUE * ) PURE;
STDMETHOD( SetDetail )( THIS_ D3DVALUE ) PURE;
STDMETHOD( RegisterEvents )( THIS_ HANDLE, DWORD, DWORD ) PURE;
STDMETHOD( CreateMesh )( THIS_ LPDIRECT3DRMMESH * ) PURE;
STDMETHOD( Duplicate )( THIS_ LPDIRECT3DRMPROGRESSIVEMESH * ) PURE;
STDMETHOD( GetBox )( THIS_ LPD3DRMBOX ) PURE;
STDMETHOD( SetQuality )( THIS_ D3DRMRENDERQUALITY ) PURE;
STDMETHOD( GetQuality )( THIS_ LPD3DRMRENDERQUALITY ) PURE;
};
/* IDirect3DRMShadow interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMShadow
DECLARE_INTERFACE_( IDirect3DRMShadow, IDirect3DRMVisual ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMShadow methods */
STDMETHOD( Init )( THIS_ LPDIRECT3DRMVISUAL, LPDIRECT3DRMLIGHT, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
};
/* IDirect3DRMShadow2 interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMShadow2
DECLARE_INTERFACE_( IDirect3DRMShadow2, IDirect3DRMVisual ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMShadow methods */
STDMETHOD( Init )( THIS_ LPDIRECT3DRMVISUAL, LPDIRECT3DRMLIGHT, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
/* IDirect3DRMShadow2 methods */
STDMETHOD( GetVisual )( THIS_ LPDIRECT3DRMVISUAL * ) PURE;
STDMETHOD( SetVisual )( THIS_ LPUNKNOWN, DWORD ) PURE;
STDMETHOD( GetLight )( THIS_ LPDIRECT3DRMLIGHT * ) PURE;
STDMETHOD( SetLight )( THIS_ LPDIRECT3DRMLIGHT, DWORD ) PURE;
STDMETHOD( GetPlane )( THIS_ LPD3DVALUE, LPD3DVALUE, LPD3DVALUE, LPD3DVALUE, LPD3DVALUE, LPD3DVALUE ) PURE;
STDMETHOD( SetPlane )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, DWORD ) PURE;
STDMETHOD( GetOptions )( THIS_ LPDWORD ) PURE;
STDMETHOD( SetOptions )( THIS_ DWORD ) PURE;
};
/* IDirect3DRMFace interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMFace
DECLARE_INTERFACE_( IDirect3DRMFace, IDirect3DRMObject ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMFace methods */
STDMETHOD( AddVertex )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( AddVertexAndNormalIndexed )( THIS_ DWORD, DWORD ) PURE;
STDMETHOD( SetColorRGB )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetColor )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( SetTexture )( THIS_ LPDIRECT3DRMTEXTURE ) PURE;
STDMETHOD( SetTextureCoordinates )( THIS_ DWORD, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetMaterial )( THIS_ LPDIRECT3DRMMATERIAL ) PURE;
STDMETHOD( SetTextureTopology )( THIS_ BOOL, BOOL ) PURE;
STDMETHOD( GetVertex )( THIS_ DWORD, D3DVECTOR *, D3DVECTOR * ) PURE;
STDMETHOD( GetVertices )( THIS_ DWORD *, D3DVECTOR *, D3DVECTOR * ) PURE;
STDMETHOD( GetTextureCoordinates )( THIS_ DWORD, D3DVALUE *, D3DVALUE * ) PURE;
STDMETHOD( GetTextureTopology )( THIS_ BOOL *, BOOL * ) PURE;
STDMETHOD( GetNormal )( THIS_ D3DVECTOR * ) PURE;
STDMETHOD( GetTexture )( THIS_ LPDIRECT3DRMTEXTURE * ) PURE;
STDMETHOD( GetMaterial )( THIS_ LPDIRECT3DRMMATERIAL * ) PURE;
STDMETHOD_( int, GetVertexCount )( THIS ) PURE;
STDMETHOD_( int, GetVertexIndex )( THIS_ DWORD ) PURE;
STDMETHOD_( int, GetTextureCoordinateIndex )( THIS_ DWORD ) PURE;
STDMETHOD_( D3DCOLOR, GetColor )( THIS ) PURE;
};
/* IDirect3DRMFace2 interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMFace2
DECLARE_INTERFACE_( IDirect3DRMFace2, IDirect3DRMObject ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMFace2 methods */
STDMETHOD( AddVertex )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( AddVertexAndNormalIndexed )( THIS_ DWORD, DWORD ) PURE;
STDMETHOD( SetColorRGB )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetColor )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( SetTexture )( THIS_ LPDIRECT3DRMTEXTURE3 ) PURE;
STDMETHOD( SetTextureCoordinates )( THIS_ DWORD, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetMaterial )( THIS_ LPDIRECT3DRMMATERIAL2 ) PURE;
STDMETHOD( SetTextureTopology )( THIS_ BOOL, BOOL ) PURE;
STDMETHOD( GetVertex )( THIS_ DWORD, D3DVECTOR *, D3DVECTOR * ) PURE;
STDMETHOD( GetVertices )( THIS_ DWORD *, D3DVECTOR *, D3DVECTOR * ) PURE;
STDMETHOD( GetTextureCoordinates )( THIS_ DWORD, D3DVALUE *, D3DVALUE * ) PURE;
STDMETHOD( GetTextureTopology )( THIS_ BOOL *, BOOL * ) PURE;
STDMETHOD( GetNormal )( THIS_ D3DVECTOR * ) PURE;
STDMETHOD( GetTexture )( THIS_ LPDIRECT3DRMTEXTURE3 * ) PURE;
STDMETHOD( GetMaterial )( THIS_ LPDIRECT3DRMMATERIAL2 * ) PURE;
STDMETHOD_( int, GetVertexCount )( THIS ) PURE;
STDMETHOD_( int, GetVertexIndex )( THIS_ DWORD ) PURE;
STDMETHOD_( int, GetTextureCoordinateIndex )( THIS_ DWORD ) PURE;
STDMETHOD_( D3DCOLOR, GetColor )( THIS ) PURE;
};
/* IDirect3DRMMeshBuilder interfaces */
#undef INTERFACE
#define INTERFACE IDirect3DRMMeshBuilder
DECLARE_INTERFACE_( IDirect3DRMMeshBuilder, IDirect3DRMVisual ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMMeshBuilder methods */
STDMETHOD( Load )( THIS_ LPVOID, LPVOID, D3DRMLOADOPTIONS, D3DRMLOADTEXTURECALLBACK, LPVOID ) PURE;
STDMETHOD( Save )( THIS_ const char *, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS ) PURE;
STDMETHOD( Scale )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( Translate )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetColorSource )( THIS_ D3DRMCOLORSOURCE ) PURE;
STDMETHOD( GetBox )( THIS_ D3DRMBOX * ) PURE;
STDMETHOD( GenerateNormals )( THIS ) PURE;
STDMETHOD_( D3DRMCOLORSOURCE, GetColorSource )( THIS ) PURE;
STDMETHOD( AddMesh )( THIS_ LPDIRECT3DRMMESH ) PURE;
STDMETHOD( AddMeshBuilder )( THIS_ LPDIRECT3DRMMESHBUILDER ) PURE;
STDMETHOD( AddFrame )( THIS_ LPDIRECT3DRMFRAME ) PURE;
STDMETHOD( AddFace )( THIS_ LPDIRECT3DRMFACE ) PURE;
STDMETHOD( AddFaces )( THIS_ DWORD, D3DVECTOR *, DWORD, D3DVECTOR *, DWORD *, LPDIRECT3DRMFACEARRAY * ) PURE;
STDMETHOD( ReserveSpace )( THIS_ DWORD, DWORD, DWORD ) PURE;
STDMETHOD( SetColorRGB )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetColor )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( SetTexture )( THIS_ LPDIRECT3DRMTEXTURE ) PURE;
STDMETHOD( SetMaterial )( THIS_ LPDIRECT3DRMMATERIAL ) PURE;
STDMETHOD( SetTextureTopology )( THIS_ BOOL, BOOL ) PURE;
STDMETHOD( SetQuality )( THIS_ D3DRMRENDERQUALITY ) PURE;
STDMETHOD( SetPerspective )( THIS_ BOOL ) PURE;
STDMETHOD( SetVertex )( THIS_ DWORD, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetNormal )( THIS_ DWORD, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetTextureCoordinates )( THIS_ DWORD, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetVertexColor )( THIS_ DWORD, D3DCOLOR ) PURE;
STDMETHOD( SetVertexColorRGB )( THIS_ DWORD, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( GetFaces )( THIS_ LPDIRECT3DRMFACEARRAY * ) PURE;
STDMETHOD( GetVertices )( THIS_ DWORD *, D3DVECTOR *, DWORD *, D3DVECTOR *, DWORD *, DWORD * ) PURE;
STDMETHOD( GetTextureCoordinates )( THIS_ DWORD, D3DVALUE *, D3DVALUE * ) PURE;
STDMETHOD_( int, AddVertex )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD_( int, AddNormal )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( CreateFace )( THIS_ LPDIRECT3DRMFACE * ) PURE;
STDMETHOD_( D3DRMRENDERQUALITY, GetQuality )( THIS ) PURE;
STDMETHOD_( BOOL, GetPerspective )( THIS ) PURE;
STDMETHOD_( int, GetFaceCount )( THIS ) PURE;
STDMETHOD_( int, GetVertexCount )( THIS ) PURE;
STDMETHOD_( D3DCOLOR, GetVertexColor )( THIS_ DWORD ) PURE;
STDMETHOD( CreateMesh )( THIS_ LPDIRECT3DRMMESH * ) PURE;
};
/* IDirect3DRMMeshBuilder2 interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMMeshBuilder2
DECLARE_INTERFACE_( IDirect3DRMMeshBuilder2, IDirect3DRMMeshBuilder ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMMeshBuilder methods */
STDMETHOD( Load )( THIS_ LPVOID, LPVOID, D3DRMLOADOPTIONS, D3DRMLOADTEXTURECALLBACK, LPVOID ) PURE;
STDMETHOD( Save )( THIS_ const char *, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS ) PURE;
STDMETHOD( Scale )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( Translate )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetColorSource )( THIS_ D3DRMCOLORSOURCE ) PURE;
STDMETHOD( GetBox )( THIS_ D3DRMBOX * ) PURE;
STDMETHOD( GenerateNormals )( THIS ) PURE;
STDMETHOD_( D3DRMCOLORSOURCE, GetColorSource )( THIS ) PURE;
STDMETHOD( AddMesh )( THIS_ LPDIRECT3DRMMESH ) PURE;
STDMETHOD( AddMeshBuilder )( THIS_ LPDIRECT3DRMMESHBUILDER ) PURE;
STDMETHOD( AddFrame )( THIS_ LPDIRECT3DRMFRAME ) PURE;
STDMETHOD( AddFace )( THIS_ LPDIRECT3DRMFACE ) PURE;
STDMETHOD( AddFaces )( THIS_ DWORD, D3DVECTOR *, DWORD, D3DVECTOR *, DWORD *, LPDIRECT3DRMFACEARRAY * ) PURE;
STDMETHOD( ReserveSpace )( THIS_ DWORD, DWORD, DWORD ) PURE;
STDMETHOD( SetColorRGB )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetColor )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( SetTexture )( THIS_ LPDIRECT3DRMTEXTURE ) PURE;
STDMETHOD( SetMaterial )( THIS_ LPDIRECT3DRMMATERIAL ) PURE;
STDMETHOD( SetTextureTopology )( THIS_ BOOL, BOOL ) PURE;
STDMETHOD( SetQuality )( THIS_ D3DRMRENDERQUALITY ) PURE;
STDMETHOD( SetPerspective )( THIS_ BOOL ) PURE;
STDMETHOD( SetVertex )( THIS_ DWORD, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetNormal )( THIS_ DWORD, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetTextureCoordinates )( THIS_ DWORD, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetVertexColor )( THIS_ DWORD, D3DCOLOR ) PURE;
STDMETHOD( SetVertexColorRGB )( THIS_ DWORD, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( GetFaces )( THIS_ LPDIRECT3DRMFACEARRAY * ) PURE;
STDMETHOD( GetVertices )( THIS_ DWORD *, D3DVECTOR *, DWORD *, D3DVECTOR *, DWORD *, DWORD * ) PURE;
STDMETHOD( GetTextureCoordinates )( THIS_ DWORD, D3DVALUE *, D3DVALUE * ) PURE;
STDMETHOD_( int, AddVertex )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD_( int, AddNormal )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( CreateFace )( THIS_ LPDIRECT3DRMFACE * ) PURE;
STDMETHOD_( D3DRMRENDERQUALITY, GetQuality )( THIS ) PURE;
STDMETHOD_( BOOL, GetPerspective )( THIS ) PURE;
STDMETHOD_( int, GetFaceCount )( THIS ) PURE;
STDMETHOD_( int, GetVertexCount )( THIS ) PURE;
STDMETHOD_( D3DCOLOR, GetVertexColor )( THIS_ DWORD ) PURE;
STDMETHOD( CreateMesh )( THIS_ LPDIRECT3DRMMESH * ) PURE;
/* IDirect3DRMMeshBuilder2 methods */
STDMETHOD( GenerateNormals2 )( THIS_ D3DVALUE, DWORD ) PURE;
STDMETHOD( GetFace )( THIS_ DWORD, LPDIRECT3DRMFACE * ) PURE;
};
/* IDirect3DRMMeshBuilder3 interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMMeshBuilder3
DECLARE_INTERFACE_( IDirect3DRMMeshBuilder3, IDirect3DRMVisual ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMMeshBuilder3 methods */
STDMETHOD( Load )( THIS_ LPVOID, LPVOID, D3DRMLOADOPTIONS, D3DRMLOADTEXTURE3CALLBACK, LPVOID ) PURE;
STDMETHOD( Save )( THIS_ const char *, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS ) PURE;
STDMETHOD( Scale )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( Translate )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetColorSource )( THIS_ D3DRMCOLORSOURCE ) PURE;
STDMETHOD( GetBox )( THIS_ D3DRMBOX * ) PURE;
STDMETHOD( GenerateNormals )( THIS_ D3DVALUE, DWORD ) PURE;
STDMETHOD_( D3DRMCOLORSOURCE, GetColorSource )( THIS ) PURE;
STDMETHOD( AddMesh )( THIS_ LPDIRECT3DRMMESH ) PURE;
STDMETHOD( AddMeshBuilder )( THIS_ LPDIRECT3DRMMESHBUILDER, DWORD ) PURE;
STDMETHOD( AddFrame )( THIS_ LPDIRECT3DRMFRAME3 ) PURE;
STDMETHOD( AddFace )( THIS_ LPDIRECT3DRMFACE2 ) PURE;
STDMETHOD( AddFaces )( THIS_ DWORD, D3DVECTOR *, DWORD, D3DVECTOR *, DWORD *, LPDIRECT3DRMFACEARRAY * ) PURE;
STDMETHOD( ReserveSpace )( THIS_ DWORD, DWORD, DWORD ) PURE;
STDMETHOD( SetColorRGB )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetColor )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( SetTexture )( THIS_ LPDIRECT3DRMTEXTURE3 ) PURE;
STDMETHOD( SetMaterial )( THIS_ LPDIRECT3DRMMATERIAL2 ) PURE;
STDMETHOD( SetTextureTopology )( THIS_ BOOL, BOOL ) PURE;
STDMETHOD( SetQuality )( THIS_ D3DRMRENDERQUALITY ) PURE;
STDMETHOD( SetPerspective )( THIS_ BOOL ) PURE;
STDMETHOD( SetVertex )( THIS_ DWORD, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetNormal )( THIS_ DWORD, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetTextureCoordinates )( THIS_ DWORD, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetVertexColor )( THIS_ DWORD, D3DCOLOR ) PURE;
STDMETHOD( SetVertexColorRGB )( THIS_ DWORD, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( GetFaces )( THIS_ LPDIRECT3DRMFACEARRAY * ) PURE;
STDMETHOD( GetGeometry )( THIS_ DWORD *, D3DVECTOR *, DWORD *, D3DVECTOR *, DWORD *, DWORD * ) PURE;
STDMETHOD( GetTextureCoordinates )( THIS_ DWORD, D3DVALUE *, D3DVALUE * ) PURE;
STDMETHOD_( int, AddVertex )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD_( int, AddNormal )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( CreateFace )( THIS_ LPDIRECT3DRMFACE2 * ) PURE;
STDMETHOD_( D3DRMRENDERQUALITY, GetQuality )( THIS ) PURE;
STDMETHOD_( BOOL, GetPerspective )( THIS ) PURE;
STDMETHOD_( int, GetFaceCount )( THIS ) PURE;
STDMETHOD_( int, GetVertexCount )( THIS ) PURE;
STDMETHOD_( D3DCOLOR, GetVertexColor )( THIS_ DWORD ) PURE;
STDMETHOD( CreateMesh )( THIS_ LPDIRECT3DRMMESH * ) PURE;
STDMETHOD( GetFace )( THIS_ DWORD, LPDIRECT3DRMFACE2 * ) PURE;
STDMETHOD( GetVertex )( THIS_ DWORD, LPD3DVECTOR ) PURE;
STDMETHOD( GetNormal )( THIS_ DWORD, LPD3DVECTOR ) PURE;
STDMETHOD( DeleteVertices )( THIS_ DWORD, DWORD ) PURE;
STDMETHOD( DeleteNormals )( THIS_ DWORD, DWORD ) PURE;
STDMETHOD( DeleteFace )( THIS_ LPDIRECT3DRMFACE2 ) PURE;
STDMETHOD( Empty )( THIS_ DWORD ) PURE;
STDMETHOD( Optimize )( THIS_ DWORD ) PURE;
STDMETHOD( AddFacesIndexed )( THIS_ DWORD, DWORD *, DWORD *, DWORD * ) PURE;
STDMETHOD( CreateSubMesh )( THIS_ LPUNKNOWN * ) PURE;
STDMETHOD( GetParentMesh )( THIS_ DWORD, LPUNKNOWN * ) PURE;
STDMETHOD( GetSubMeshes )( THIS_ LPDWORD, LPUNKNOWN * ) PURE;
STDMETHOD( DeleteSubMesh )( THIS_ LPUNKNOWN ) PURE;
STDMETHOD( Enable )( THIS_ DWORD ) PURE;
STDMETHOD( GetEnable )( THIS_ DWORD * ) PURE;
STDMETHOD( AddTriangles )( THIS_ DWORD, DWORD, DWORD, LPVOID ) PURE;
STDMETHOD( SetVertices )( THIS_ DWORD, DWORD, LPD3DVECTOR ) PURE;
STDMETHOD( GetVertices )( THIS_ DWORD, LPDWORD, LPD3DVECTOR ) PURE;
STDMETHOD( SetNormals )( THIS_ DWORD, DWORD, LPD3DVECTOR ) PURE;
STDMETHOD( GetNormals )( THIS_ DWORD, LPDWORD, LPD3DVECTOR ) PURE;
STDMETHOD_( int, GetNormalCount )( THIS ) PURE;
};
/* IDirect3DRMLight interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMLight
DECLARE_INTERFACE_( IDirect3DRMLight, IDirect3DRMObject ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMLight methods */
STDMETHOD( SetType )( THIS_ D3DRMLIGHTTYPE ) PURE;
STDMETHOD( SetColor )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( SetColorRGB )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetRange )( THIS_ D3DVALUE ) PURE;
STDMETHOD( SetUmbra )( THIS_ D3DVALUE ) PURE;
STDMETHOD( SetPenumbra )( THIS_ D3DVALUE ) PURE;
STDMETHOD( SetConstantAttenuation )( THIS_ D3DVALUE ) PURE;
STDMETHOD( SetLinearAttenuation )( THIS_ D3DVALUE ) PURE;
STDMETHOD( SetQuadraticAttenuation )( THIS_ D3DVALUE ) PURE;
STDMETHOD_( D3DVALUE, GetRange )( THIS ) PURE;
STDMETHOD_( D3DVALUE, GetUmbra )( THIS ) PURE;
STDMETHOD_( D3DVALUE, GetPenumbra )( THIS ) PURE;
STDMETHOD_( D3DVALUE, GetConstantAttenuation )( THIS ) PURE;
STDMETHOD_( D3DVALUE, GetLinearAttenuation )( THIS ) PURE;
STDMETHOD_( D3DVALUE, GetQuadraticAttenuation )( THIS ) PURE;
STDMETHOD_( D3DCOLOR, GetColor )( THIS ) PURE;
STDMETHOD_( D3DRMLIGHTTYPE, GetType )( THIS ) PURE;
STDMETHOD( SetEnableFrame )( THIS_ LPDIRECT3DRMFRAME ) PURE;
STDMETHOD( GetEnableFrame )( THIS_ LPDIRECT3DRMFRAME * ) PURE;
};
/* IDirect3DRMTexture interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMTexture
DECLARE_INTERFACE_( IDirect3DRMTexture, IDirect3DRMVisual ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMTexture methods */
STDMETHOD( InitFromFile )( THIS_ const char * ) PURE;
STDMETHOD( InitFromSurface )( THIS_ LPDIRECTDRAWSURFACE ) PURE;
STDMETHOD( InitFromResource )( THIS_ HRSRC ) PURE;
STDMETHOD( Changed )( THIS_ BOOL, BOOL ) PURE;
STDMETHOD( SetColors )( THIS_ DWORD ) PURE;
STDMETHOD( SetShades )( THIS_ DWORD ) PURE;
STDMETHOD( SetDecalSize )( THIS_ D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetDecalOrigin )( THIS_ LONG, LONG ) PURE;
STDMETHOD( SetDecalScale )( THIS_ DWORD ) PURE;
STDMETHOD( SetDecalTransparency )( THIS_ BOOL ) PURE;
STDMETHOD( SetDecalTransparentColor )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( GetDecalSize )( THIS_ D3DVALUE *, D3DVALUE * ) PURE;
STDMETHOD( GetDecalOrigin )( THIS_ LONG *, LONG * ) PURE;
STDMETHOD_( D3DRMIMAGE *, GetImage )( THIS ) PURE;
STDMETHOD_( DWORD, GetShades )( THIS ) PURE;
STDMETHOD_( DWORD, GetColors )( THIS ) PURE;
STDMETHOD_( DWORD, GetDecalScale )( THIS ) PURE;
STDMETHOD_( BOOL, GetDecalTransparency )( THIS ) PURE;
STDMETHOD_( D3DCOLOR, GetDecalTransparentColor )( THIS ) PURE;
};
/* IDirect3DRMTexture2 interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMTexture2
DECLARE_INTERFACE_( IDirect3DRMTexture2, IDirect3DRMTexture ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMTexture methods */
STDMETHOD( InitFromFile )( THIS_ const char * ) PURE;
STDMETHOD( InitFromSurface )( THIS_ LPDIRECTDRAWSURFACE ) PURE;
STDMETHOD( InitFromResource )( THIS_ HRSRC ) PURE;
STDMETHOD( Changed )( THIS_ BOOL, BOOL ) PURE;
STDMETHOD( SetColors )( THIS_ DWORD ) PURE;
STDMETHOD( SetShades )( THIS_ DWORD ) PURE;
STDMETHOD( SetDecalSize )( THIS_ D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetDecalOrigin )( THIS_ LONG, LONG ) PURE;
STDMETHOD( SetDecalScale )( THIS_ DWORD ) PURE;
STDMETHOD( SetDecalTransparency )( THIS_ BOOL ) PURE;
STDMETHOD( SetDecalTransparentColor )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( GetDecalSize )( THIS_ D3DVALUE *, D3DVALUE * ) PURE;
STDMETHOD( GetDecalOrigin )( THIS_ LONG *, LONG * ) PURE;
STDMETHOD_( D3DRMIMAGE *, GetImage )( THIS ) PURE;
STDMETHOD_( DWORD, GetShades )( THIS ) PURE;
STDMETHOD_( DWORD, GetColors )( THIS ) PURE;
STDMETHOD_( DWORD, GetDecalScale )( THIS ) PURE;
STDMETHOD_( BOOL, GetDecalTransparency )( THIS ) PURE;
STDMETHOD_( D3DCOLOR, GetDecalTransparentColor )( THIS ) PURE;
/* IDirect3DRMTexture2 methods */
STDMETHOD( InitFromImage )( THIS_ LPD3DRMIMAGE ) PURE;
STDMETHOD( InitFromResource2 )( THIS_ HMODULE, LPCTSTR, LPCTSTR ) PURE;
STDMETHOD( GenerateMIPMap )( THIS_ DWORD ) PURE;
};
/* IDirect3DRMTexture3 interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMTexture3
DECLARE_INTERFACE_( IDirect3DRMTexture3, IDirect3DRMVisual ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMTexture3 methods */
STDMETHOD( InitFromFile )( THIS_ const char * ) PURE;
STDMETHOD( InitFromSurface )( THIS_ LPDIRECTDRAWSURFACE ) PURE;
STDMETHOD( InitFromResource )( THIS_ HRSRC ) PURE;
STDMETHOD( Changed )( THIS_ DWORD, DWORD, LPRECT ) PURE;
STDMETHOD( SetColors )( THIS_ DWORD ) PURE;
STDMETHOD( SetShades )( THIS_ DWORD ) PURE;
STDMETHOD( SetDecalSize )( THIS_ D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetDecalOrigin )( THIS_ LONG, LONG ) PURE;
STDMETHOD( SetDecalScale )( THIS_ DWORD ) PURE;
STDMETHOD( SetDecalTransparency )( THIS_ BOOL ) PURE;
STDMETHOD( SetDecalTransparentColor )( THIS_ D3DCOLOR ) PURE;
STDMETHOD( GetDecalSize )( THIS_ D3DVALUE *, D3DVALUE * ) PURE;
STDMETHOD( GetDecalOrigin )( THIS_ LONG *, LONG * ) PURE;
STDMETHOD_( D3DRMIMAGE *, GetImage )( THIS ) PURE;
STDMETHOD_( DWORD, GetShades )( THIS ) PURE;
STDMETHOD_( DWORD, GetColors )( THIS ) PURE;
STDMETHOD_( DWORD, GetDecalScale )( THIS ) PURE;
STDMETHOD_( BOOL, GetDecalTransparency )( THIS ) PURE;
STDMETHOD_( D3DCOLOR, GetDecalTransparentColor )( THIS ) PURE;
STDMETHOD( InitFromImage )( THIS_ LPD3DRMIMAGE ) PURE;
STDMETHOD( InitFromResource2 )( THIS_ HMODULE, LPCTSTR, LPCTSTR ) PURE;
STDMETHOD( GenerateMIPMap )( THIS_ DWORD ) PURE;
STDMETHOD( GetSurface )( THIS_ DWORD, LPDIRECTDRAWSURFACE * ) PURE;
STDMETHOD( SetCacheOptions )( THIS_ LONG, DWORD ) PURE;
STDMETHOD( GetCacheOptions )( THIS_ LPLONG, LPDWORD ) PURE;
STDMETHOD( SetDownsampleCallback )( THIS_ D3DRMDOWNSAMPLECALLBACK, LPVOID ) PURE;
STDMETHOD( SetValidationCallback )( THIS_ D3DRMVALIDATIONCALLBACK, LPVOID ) PURE;
};
/* IDirect3DRMWrap interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMWrap
DECLARE_INTERFACE_( IDirect3DRMWrap, IDirect3DRMObject ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMWrap methods */
STDMETHOD( Init )( THIS_ D3DRMWRAPTYPE, LPDIRECT3DRMFRAME, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( Apply )( THIS_ LPDIRECT3DRMOBJECT ) PURE;
STDMETHOD( ApplyRelative )( THIS_ LPDIRECT3DRMOBJECT, LPDIRECT3DRMOBJECT ) PURE;
};
/* IDirect3DRMMaterial interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMMaterial
DECLARE_INTERFACE_( IDirect3DRMMaterial, IDirect3DRMObject ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMMaterial methods */
STDMETHOD( SetPower )( THIS_ D3DVALUE ) PURE;
STDMETHOD( SetSpecular )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetEmissive )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD_( D3DVALUE, GetPower )( THIS ) PURE;
STDMETHOD( GetSpecular )( THIS_ D3DVALUE *, D3DVALUE *, D3DVALUE * ) PURE;
STDMETHOD( GetEmissive )( THIS_ D3DVALUE *, D3DVALUE *, D3DVALUE * ) PURE;
};
/* IDirect3DRMMaterial2 interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMMaterial2
DECLARE_INTERFACE_( IDirect3DRMMaterial2, IDirect3DRMObject ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMMaterial2 methods */
STDMETHOD( SetPower )( THIS_ D3DVALUE ) PURE;
STDMETHOD( SetSpecular )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( SetEmissive )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD_( D3DVALUE, GetPower )( THIS ) PURE;
STDMETHOD( GetSpecular )( THIS_ D3DVALUE *, D3DVALUE *, D3DVALUE * ) PURE;
STDMETHOD( GetEmissive )( THIS_ D3DVALUE *, D3DVALUE *, D3DVALUE * ) PURE;
STDMETHOD( GetAmbient )( THIS_ D3DVALUE *, D3DVALUE *, D3DVALUE * ) PURE;
STDMETHOD( SetAmbient )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
};
/* IDirect3DRMAnimation interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMAnimation
DECLARE_INTERFACE_( IDirect3DRMAnimation, IDirect3DRMObject ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMAnimation methods */
STDMETHOD( SetOptions )( THIS_ D3DRMANIMATIONOPTIONS ) PURE;
STDMETHOD( AddRotateKey )( THIS_ D3DVALUE, D3DRMQUATERNION * ) PURE;
STDMETHOD( AddPositiveKey )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( AddScaleKey )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( DeleteKey )( THIS_ D3DVALUE ) PURE;
STDMETHOD( SetFrame )( THIS_ LPDIRECT3DRMFRAME ) PURE;
STDMETHOD( SetTime )( THIS_ D3DVALUE ) PURE;
STDMETHOD_( D3DRMANIMATIONOPTIONS, GetOptions )( THIS ) PURE;
};
/* IDirect3DRMAnimation2 interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMAnimation2
DECLARE_INTERFACE_( IDirect3DRMAnimation2, IDirect3DRMObject ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMAnimation2 methods */
STDMETHOD( SetOptions )( THIS_ D3DRMANIMATIONOPTIONS ) PURE;
STDMETHOD( AddRotateKey )( THIS_ D3DVALUE, D3DRMQUATERNION * ) PURE;
STDMETHOD( AddPositiveKey )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( AddScaleKey )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE ) PURE;
STDMETHOD( DeleteKey )( THIS_ D3DVALUE ) PURE;
STDMETHOD( SetFrame )( THIS_ LPDIRECT3DRMFRAME3 ) PURE;
STDMETHOD( SetTime )( THIS_ D3DVALUE ) PURE;
STDMETHOD_( D3DRMANIMATIONOPTIONS, GetOptions )( THIS ) PURE;
STDMETHOD( GetFrame )( THIS_ LPDIRECT3DRMFRAME3 * ) PURE;
STDMETHOD( DeleteKeyByID )( THIS_ DWORD ) PURE;
STDMETHOD( AddKey )( THIS_ LPD3DRMANIMATIONKEY ) PURE;
STDMETHOD( ModifyKey )( THIS_ LPD3DRMANIMATIONKEY ) PURE;
STDMETHOD( GetKeys )( THIS_ D3DVALUE, D3DVALUE, LPDWORD, LPD3DRMANIMATIONKEY ) PURE;
};
/* IDirect3DRMAnimationSet interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMAnimationSet
DECLARE_INTERFACE_( IDirect3DRMAnimationSet, IDirect3DRMObject ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMAnimationSet methods */
STDMETHOD( AddAnimation )( THIS_ LPDIRECT3DRMANIMATION ) PURE;
STDMETHOD( Load )( THIS_ LPVOID, LPVOID, D3DRMLOADOPTIONS, D3DRMLOADTEXTURECALLBACK, LPVOID, LPDIRECT3DRMFRAME ) PURE;
STDMETHOD( DeleteAnimation )( THIS_ LPDIRECT3DRMANIMATION ) PURE;
STDMETHOD( SetTime )( THIS_ D3DVALUE ) PURE;
};
/* IDirect3DRMAnimationSet2 interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMAnimationSet2
DECLARE_INTERFACE_( IDirect3DRMAnimationSet2, IDirect3DRMObject ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMAnimationSet2 methods */
STDMETHOD( AddAnimation )( THIS_ LPDIRECT3DRMANIMATION2 ) PURE;
STDMETHOD( Load )( THIS_ LPVOID, LPVOID, D3DRMLOADOPTIONS, D3DRMLOADTEXTURE3CALLBACK, LPVOID, LPDIRECT3DRMFRAME3 ) PURE;
STDMETHOD( DeleteAnimation )( THIS_ LPDIRECT3DRMANIMATION2 ) PURE;
STDMETHOD( SetTime )( THIS_ D3DVALUE ) PURE;
STDMETHOD( GetAnimations )( THIS_ LPDIRECT3DRMANIMATIONARRAY * ) PURE;
};
/* IDirect3DRMUserVisual interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMUserVisual
DECLARE_INTERFACE_( IDirect3DRMUserVisual, IDirect3DRMVisual ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMUserVisual methods */
STDMETHOD( Init )( THIS_ D3DRMUSERVISUALCALLBACK, void * ) PURE;
};
/* IDirect3DRMArray interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMArray
DECLARE_INTERFACE_( IDirect3DRMArray, IUnknown ) {
IUNKNOWN_METHODS( PURE );
/* IDirect3DRMArray methods */
STDMETHOD_( DWORD, GetSize )( THIS ) PURE;
};
/* IDirect3DRMObjectArray interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMObjectArray
DECLARE_INTERFACE_( IDirect3DRMObjectArray, IDirect3DRMArray ) {
IUNKNOWN_METHODS( PURE );
/* IDirect3DRMArray methods */
STDMETHOD_( DWORD, GetSize )( THIS ) PURE;
/* IDirect3DRMObjectArray methods */
STDMETHOD( GetElement )( THIS_ DWORD, LPDIRECT3DRMOBJECT * ) PURE;
};
/* IDirect3DRMDeviceArray interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMDeviceArray
DECLARE_INTERFACE_( IDirect3DRMDeviceArray, IDirect3DRMArray ) {
IUNKNOWN_METHODS( PURE );
/* IDirect3DRMArray methods */
STDMETHOD_( DWORD, GetSize )( THIS ) PURE;
/* IDirect3DRMDeviceArray methods */
STDMETHOD( GetElement )( THIS_ DWORD, LPDIRECT3DRMDEVICE * ) PURE;
};
/* IDirect3DRMFrameArray interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMFrameArray
DECLARE_INTERFACE_( IDirect3DRMFrameArray, IDirect3DRMArray ) {
IUNKNOWN_METHODS( PURE );
/* IDirect3DRMArray methods */
STDMETHOD_( DWORD, GetSize )( THIS ) PURE;
/* IDirect3DRMFrameArray methods */
STDMETHOD( GetElement )( THIS_ DWORD, LPDIRECT3DRMFRAME * ) PURE;
};
/* IDirect3DRMViewportArray interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMViewportArray
DECLARE_INTERFACE_( IDirect3DRMViewportArray, IDirect3DRMArray ) {
IUNKNOWN_METHODS( PURE );
/* IDirect3DRMArray methods */
STDMETHOD_( DWORD, GetSize )( THIS ) PURE;
/* IDirect3DRMViewportArray methods */
STDMETHOD( GetElement )( THIS_ DWORD, LPDIRECT3DRMVIEWPORT * ) PURE;
};
/* IDirect3DRMVisualArray interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMVisualArray
DECLARE_INTERFACE_( IDirect3DRMVisualArray, IDirect3DRMArray ) {
IUNKNOWN_METHODS( PURE );
/* IDirect3DRMArray methods */
STDMETHOD_( DWORD, GetSize )( THIS ) PURE;
/* IDirect3DRMVisualArray methods */
STDMETHOD( GetElement )( THIS_ DWORD, LPDIRECT3DRMVISUAL * ) PURE;
};
/* IDirect3DRMAnimationArray interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMAnimationArray
DECLARE_INTERFACE_( IDirect3DRMAnimationArray, IDirect3DRMArray ) {
IUNKNOWN_METHODS( PURE );
/* IDirect3DRMArray methods */
STDMETHOD_( DWORD, GetSize )( THIS ) PURE;
/* IDirect3DRMAnimationArray methods */
STDMETHOD( GetElement )( THIS_ DWORD, LPDIRECT3DRMANIMATION2 * ) PURE;
};
/* IDirect3DRMPickedArray interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMPickedArray
DECLARE_INTERFACE_( IDirect3DRMPickedArray, IDirect3DRMArray ) {
IUNKNOWN_METHODS( PURE );
/* IDirect3DRMArray methods */
STDMETHOD_( DWORD, GetSize )( THIS ) PURE;
/* IDirect3DRMPickedArray methods */
STDMETHOD( GetPick )( THIS_ DWORD, LPDIRECT3DRMVISUAL *, LPDIRECT3DRMFRAMEARRAY *, LPD3DRMPICKDESC ) PURE;
};
/* IDirect3DRMLightArray interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMLightArray
DECLARE_INTERFACE_( IDirect3DRMLightArray, IDirect3DRMArray ) {
IUNKNOWN_METHODS( PURE );
/* IDirect3DRMArray methods */
STDMETHOD_( DWORD, GetSize )( THIS ) PURE;
/* IDirect3DRMLightArray methods */
STDMETHOD( GetElement )( THIS_ DWORD, LPDIRECT3DRMLIGHT * ) PURE;
};
/* IDirect3DRMFaceArray interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMFaceArray
DECLARE_INTERFACE_( IDirect3DRMFaceArray, IDirect3DRMArray ) {
IUNKNOWN_METHODS( PURE );
/* IDirect3DRMArray methods */
STDMETHOD_( DWORD, GetSize )( THIS ) PURE;
/* IDirect3DRMFaceArray methods */
STDMETHOD( GetElement )( THIS_ DWORD, LPDIRECT3DRMFACE * ) PURE;
};
/* IDirect3DRMPicked2Array interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMPicked2Array
DECLARE_INTERFACE_( IDirect3DRMPicked2Array, IDirect3DRMArray ) {
IUNKNOWN_METHODS( PURE );
/* IDirect3DRMArray methods */
STDMETHOD_( DWORD, GetSize )( THIS ) PURE;
/* IDirect3DRMPicked2Array methods */
STDMETHOD( GetPick )( THIS_ DWORD, LPDIRECT3DRMVISUAL *, LPDIRECT3DRMFRAMEARRAY *, LPD3DRMPICKDESC2 ) PURE;
};
/* IDirect3DRMInterpolator interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMInterpolator
DECLARE_INTERFACE_( IDirect3DRMInterpolator, IDirect3DRMObject ) {
IUNKNOWN_METHODS( PURE );
/* IDirect3DRMArray methods */
STDMETHOD_( DWORD, GetSize )( THIS ) PURE;
/* IDirect3DRMInterpolator methods */
STDMETHOD( AttachObject )( THIS_ LPDIRECT3DRMOBJECT ) PURE;
STDMETHOD( GetAttachedObjects )( THIS_ LPDIRECT3DRMOBJECTARRAY * ) PURE;
STDMETHOD( DetachObject )( THIS_ LPDIRECT3DRMOBJECT ) PURE;
STDMETHOD( SetIndex )( THIS_ D3DVALUE ) PURE;
STDMETHOD_( D3DVALUE, GetIndex )( THIS ) PURE;
STDMETHOD( Interpolate )( THIS_ D3DVALUE, LPDIRECT3DRMOBJECT, D3DRMINTERPOLATIONOPTIONS ) PURE;
};
/* IDirect3DRMClippedVisual interface */
#undef INTERFACE
#define INTERFACE IDirect3DRMClippedVisual
DECLARE_INTERFACE_( IDirect3DRMClippedVisual, IDirect3DRMVisual ) {
IUNKNOWN_METHODS( PURE );
IDIRECT3DRMOBJECT_METHODS( PURE );
/* IDirect3DRMClippedVisual methods */
STDMETHOD( Init )( THIS_ LPDIRECT3DRMVISUAL ) PURE;
STDMETHOD( AddPlane )( THIS_ LPDIRECT3DRMFRAME3, LPD3DVECTOR, LPD3DVECTOR, DWORD, LPDWORD ) PURE;
STDMETHOD( DeletePlane )( THIS_ DWORD, DWORD ) PURE;
STDMETHOD( GetPlaneIDs )( THIS_ LPDWORD, LPDWORD, DWORD ) PURE;
STDMETHOD( GetPlane )( THIS_ DWORD, LPDIRECT3DRMFRAME3, LPD3DVECTOR, LPD3DVECTOR, DWORD ) PURE;
STDMETHOD( SetPlane )( THIS_ DWORD, LPDIRECT3DRMFRAME3, LPD3DVECTOR, LPD3DVECTOR, DWORD ) PURE;
};
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* _D3DRMOBJ_H_ */