|
|
//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1998 - 1999
//
// File: d3drm3obj.h
//
//--------------------------------------------------------------------------
// d3drmObj.h : Declaration of the C_dxj_Direct3dRMObject
#include "resource.h" // main symbols
#define typedef__dxj_Direct3dRM3 LPDIRECT3DRM3
/////////////////////////////////////////////////////////////////////////////
// Direct
//REVIEW -- using pointers to ID's is necessary because some compilers don't like
//references as template arguments.
class C_dxj_Direct3dRM3Object : public I_dxj_Direct3dRM3, public CComObjectRoot // public CComCoClass<C_dxj_Direct3dRM3Object, &CLSID__dxj_Direct3dRM3>, public CComObjectRoot
{ public: void doCreateObj(); void doDeleteObj();
C_dxj_Direct3dRM3Object(); virtual ~C_dxj_Direct3dRM3Object();
BEGIN_COM_MAP(C_dxj_Direct3dRM3Object) COM_INTERFACE_ENTRY(I_dxj_Direct3dRM3) END_COM_MAP()
DECLARE_AGGREGATABLE(C_dxj_Direct3dRM3Object)
// I_dxj_Direct3dRM
public:
/* [hidden] */ HRESULT STDMETHODCALLTYPE InternalSetObject( /* [in] */ IUnknown __RPC_FAR *lpdd); /* [hidden] */ HRESULT STDMETHODCALLTYPE InternalGetObject( /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *lpdd); HRESULT STDMETHODCALLTYPE createDeviceFromClipper( /* [in] */ I_dxj_DirectDrawClipper __RPC_FAR *lpDDClipper, /* [in] */ BSTR guid, /* [in] */ int width, /* [in] */ int height, /* [retval][out] */ I_dxj_Direct3dRMDevice3 __RPC_FAR *__RPC_FAR *retv); HRESULT STDMETHODCALLTYPE createFrame( /* [in] */ I_dxj_Direct3dRMFrame3 __RPC_FAR *parent, /* [retval][out] */ I_dxj_Direct3dRMFrame3 __RPC_FAR *__RPC_FAR *retv); HRESULT STDMETHODCALLTYPE createLightRGB( /* [in] */ d3drmLightType lt, /* [in] */ float vred, /* [in] */ float vgreen, /* [in] */ float vblue, /* [retval][out] */ I_dxj_Direct3dRMLight __RPC_FAR *__RPC_FAR *retv); HRESULT STDMETHODCALLTYPE createLight( /* [in] */ d3drmLightType lt, /* [in] */ long color, /* [retval][out] */ I_dxj_Direct3dRMLight __RPC_FAR *__RPC_FAR *retv); HRESULT STDMETHODCALLTYPE createMeshBuilder( /* [retval][out] */ I_dxj_Direct3dRMMeshBuilder3 __RPC_FAR *__RPC_FAR *retv); HRESULT STDMETHODCALLTYPE createMaterial( /* [in] */ float d, /* [retval][out] */ I_dxj_Direct3dRMMaterial2 __RPC_FAR *__RPC_FAR *val); HRESULT STDMETHODCALLTYPE loadTexture( /* [in] */ BSTR name, /* [retval][out] */ I_dxj_Direct3dRMTexture3 __RPC_FAR *__RPC_FAR *retval); HRESULT STDMETHODCALLTYPE createViewport( /* [in] */ I_dxj_Direct3dRMDevice3 __RPC_FAR *dev, /* [in] */ I_dxj_Direct3dRMFrame3 __RPC_FAR *fr, /* [in] */ long l, /* [in] */ long t, /* [in] */ long w, /* [in] */ long h, /* [retval][out] */ I_dxj_Direct3dRMViewport2 __RPC_FAR *__RPC_FAR *retval); HRESULT STDMETHODCALLTYPE setDefaultTextureColors( /* [in] */ long ds); HRESULT STDMETHODCALLTYPE setDefaultTextureShades( /* [in] */ long ds); HRESULT STDMETHODCALLTYPE createAnimationSet( /* [retval][out] */ I_dxj_Direct3dRMAnimationSet2 __RPC_FAR *__RPC_FAR *retval); HRESULT STDMETHODCALLTYPE createMesh( /* [retval][out] */ I_dxj_Direct3dRMMesh __RPC_FAR *__RPC_FAR *retv); HRESULT STDMETHODCALLTYPE createFace( /* [retval][out] */ I_dxj_Direct3dRMFace2 __RPC_FAR *__RPC_FAR *retv); HRESULT STDMETHODCALLTYPE createAnimation( /* [retval][out] */ I_dxj_Direct3dRMAnimation2 __RPC_FAR *__RPC_FAR *retv); HRESULT STDMETHODCALLTYPE tick( /* [in] */ float tic); // HRESULT STDMETHODCALLTYPE createDevice(
// /* [in] */ long v1,
// /* [in] */ long v2,
// /* [retval][out] */ I_dxj_Direct3dRMDevice3 __RPC_FAR *__RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE createDeviceFromSurface( /* [in] */ BSTR g, /* [in] */ I_dxj_DirectDraw4 __RPC_FAR *dd, /* [in] */ I_dxj_DirectDrawSurface4 __RPC_FAR *dds, /* [in] */ long flags, /* [retval][out] */ I_dxj_Direct3dRMDevice3 __RPC_FAR *__RPC_FAR *retval); //HRESULT STDMETHODCALLTYPE createDeviceFromD3D(
// /* [in] */ I_dxj_Direct3d3 __RPC_FAR *D3D,
// /* [in] */ I_dxj_Direct3dDevice3 __RPC_FAR *dev,
// /* [retval][out] */ I_dxj_Direct3dRMDevice3 __RPC_FAR *__RPC_FAR *val);
HRESULT STDMETHODCALLTYPE createTextureFromSurface( /* [in] */ I_dxj_DirectDrawSurface4 __RPC_FAR *dds, /* [retval][out] */ I_dxj_Direct3dRMTexture3 __RPC_FAR *__RPC_FAR *retv); HRESULT STDMETHODCALLTYPE createWrap( /* [in] */ d3drmWrapType t, /* [in] */ I_dxj_Direct3dRMFrame3 __RPC_FAR *f, /* [in] */ float ox, /* [in] */ float oy, /* [in] */ float oz, /* [in] */ float dx, /* [in] */ float dy, /* [in] */ float dz, /* [in] */ float ux, /* [in] */ float uy, /* [in] */ float uz, /* [in] */ float ou, /* [in] */ float ov, /* [in] */ float su, /* [in] */ float sv, /* [retval][out] */ I_dxj_Direct3dRMWrap __RPC_FAR *__RPC_FAR *retv); HRESULT STDMETHODCALLTYPE getSearchPath( /* [retval][out] */ BSTR __RPC_FAR *name); HRESULT STDMETHODCALLTYPE getDevices( /* [retval][out] */ I_dxj_Direct3dRMDeviceArray __RPC_FAR *__RPC_FAR *retval); HRESULT STDMETHODCALLTYPE getNamedObject( /* [in] */ BSTR name, /* [retval][out] */ I_dxj_Direct3dRMObject __RPC_FAR *__RPC_FAR *retval); HRESULT STDMETHODCALLTYPE setSearchPath( /* [in] */ BSTR name); HRESULT STDMETHODCALLTYPE addSearchPath( /* [in] */ BSTR name); // HRESULT STDMETHODCALLTYPE createUserVisual(
// /* [in] */ I_dxj_Direct3dRMUserVisualCallback __RPC_FAR *fn,
// /* [in] */ IUnknown __RPC_FAR *arg,
// /* [retval][out] */ I_dxj_Direct3dRMUserVisual __RPC_FAR *__RPC_FAR *f);
HRESULT STDMETHODCALLTYPE enumerateObjects( /* [in] */ I_dxj_Direct3dRMEnumerateObjectsCallback __RPC_FAR *fn, /* [in] */ IUnknown __RPC_FAR *pargs);
HRESULT STDMETHODCALLTYPE loadFromFile( /* [in] */ BSTR filename, /* [in] */ VARIANT id, /* [in] */ SAFEARRAY __RPC_FAR * __RPC_FAR *guidArray, /* [in] */ long cnt, /* [in] */ d3drmLoadFlags options, /* [in] */ I_dxj_Direct3dRMLoadCallback __RPC_FAR *fn1, /* [in] */ IUnknown __RPC_FAR *arg1, /* [in] */ I_dxj_Direct3dRMLoadTextureCallback3 __RPC_FAR *fn2, /* [in] */ IUnknown __RPC_FAR *arg2, /* [in] */ I_dxj_Direct3dRMFrame3 __RPC_FAR *f); HRESULT STDMETHODCALLTYPE createShadow( /* [in] */ I_dxj_Direct3dRMVisual __RPC_FAR *visual, /* [in] */ I_dxj_Direct3dRMLight __RPC_FAR *light, /* [in] */ float px, /* [in] */ float py, /* [in] */ float pz, /* [in] */ float nx, /* [in] */ float ny, /* [in] */ float nz, /* [retval][out] */ I_dxj_Direct3dRMShadow2 __RPC_FAR *__RPC_FAR *retv); HRESULT STDMETHODCALLTYPE createProgressiveMesh( /* [retval][out] */ I_dxj_Direct3dRMProgressiveMesh __RPC_FAR *__RPC_FAR *retv); HRESULT STDMETHODCALLTYPE createClippedVisual( /* [in] */ I_dxj_Direct3dRMVisual __RPC_FAR *vis, /* [retval][out] */ I_dxj_Direct3dRMClippedVisual __RPC_FAR *__RPC_FAR *ret); HRESULT STDMETHODCALLTYPE getOptions( /* [retval][out] */ long __RPC_FAR *options); HRESULT STDMETHODCALLTYPE setOptions( /* [in] */ long options);
// HRESULT STDMETHODCALLTYPE createInterpolator(
// /* [retval][out] */ I_dxj_Direct3dRMInterpolator __RPC_FAR *__RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE createInterpolatorMesh( /* [retval][out] */ I_dxj_Direct3dRMMeshInterpolator __RPC_FAR *__RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE createInterpolatorTexture( /* [retval][out] */ I_dxj_Direct3dRMTextureInterpolator __RPC_FAR *__RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE createInterpolatorMaterial( /* [retval][out] */ I_dxj_Direct3dRMMaterialInterpolator __RPC_FAR *__RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE createInterpolatorFrame( /* [retval][out] */ I_dxj_Direct3dRMFrameInterpolator __RPC_FAR *__RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE createInterpolatorViewport( /* [retval][out] */ I_dxj_Direct3dRMViewportInterpolator __RPC_FAR *__RPC_FAR *retv);
HRESULT STDMETHODCALLTYPE createInterpolatorLight( /* [retval][out] */ I_dxj_Direct3dRMLightInterpolator __RPC_FAR *__RPC_FAR *retv);
////////////////////////////////////////////////////////////////////////////////////
// note: this is public for the callbacks
DECL_VARIABLE(_dxj_Direct3dRM3);
private: HINSTANCE hinstLib;
public: DX3J_GLOBAL_LINKS( _dxj_Direct3dRM3) };
|