//+------------------------------------------------------------------------- // // 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, 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) };