//+------------------------------------------------------------------------- // // Microsoft Windows // // Copyright (C) Microsoft Corporation, 1998 - 1999 // // File: d3drmanimation2obj.h // //-------------------------------------------------------------------------- // d3drmAnimationObj.h : Declaration of the C_dxj_Direct3dRMAnimationObject #include "resource.h" // main symbols #include "d3drmObjectObj.h" #define typedef__dxj_Direct3dRMAnimation2 LPDIRECT3DRMANIMATION2 ///////////////////////////////////////////////////////////////////////////// // Direct //REVIEW -- using pointers to ID's is necessary because some compilers don't like //references as template arguments. class C_dxj_Direct3dRMAnimation2Object : public I_dxj_Direct3dRMAnimation2, public CComObjectRoot { public: C_dxj_Direct3dRMAnimation2Object() ; ~C_dxj_Direct3dRMAnimation2Object() ; DWORD InternalAddRef(); DWORD InternalRelease(); BEGIN_COM_MAP(C_dxj_Direct3dRMAnimation2Object) COM_INTERFACE_ENTRY(I_dxj_Direct3dRMAnimation2) END_COM_MAP() DECLARE_AGGREGATABLE(C_dxj_Direct3dRMAnimation2Object) // I_dxj_Direct3dRMAnimation public: /* [hidden] */ HRESULT STDMETHODCALLTYPE InternalSetObject( /* [in] */ IUnknown __RPC_FAR *lpdd) ; /* [hidden] */ HRESULT STDMETHODCALLTYPE InternalGetObject( /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *lpdd) ; HRESULT STDMETHODCALLTYPE addDestroyCallback( /* [in] */ I_dxj_Direct3dRMCallback __RPC_FAR *fn, /* [in] */ IUnknown __RPC_FAR *arg) ; HRESULT STDMETHODCALLTYPE deleteDestroyCallback( /* [in] */ I_dxj_Direct3dRMCallback __RPC_FAR *fn, /* [in] */ IUnknown __RPC_FAR *args) ; HRESULT STDMETHODCALLTYPE clone( /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retv) ; HRESULT STDMETHODCALLTYPE setAppData( /* [in] */ long data) ; HRESULT STDMETHODCALLTYPE getAppData( /* [retval][out] */ long __RPC_FAR *data) ; HRESULT STDMETHODCALLTYPE setName( /* [in] */ BSTR name) ; HRESULT STDMETHODCALLTYPE getName( /* [retval][out] */ BSTR __RPC_FAR *name) ; HRESULT STDMETHODCALLTYPE getClassName( /* [retval][out] */ BSTR __RPC_FAR *name) ; HRESULT STDMETHODCALLTYPE setOptions( /* [in] */ d3drmAnimationOptions flags) ; HRESULT STDMETHODCALLTYPE addRotateKey( /* [in] */ float time, /* [in] */ D3dRMQuaternion __RPC_FAR *q) ; HRESULT STDMETHODCALLTYPE addPositionKey( /* [in] */ float time, /* [in] */ float x, /* [in] */ float y, /* [in] */ float z) ; HRESULT STDMETHODCALLTYPE addScaleKey( /* [in] */ float time, /* [in] */ float x, /* [in] */ float y, /* [in] */ float z) ; HRESULT STDMETHODCALLTYPE deleteKey( /* [in] */ float time) ; HRESULT STDMETHODCALLTYPE setFrame( /* [in] */ I_dxj_Direct3dRMFrame3 __RPC_FAR *frame) ; HRESULT STDMETHODCALLTYPE getFrame( /* [in] */ I_dxj_Direct3dRMFrame3 __RPC_FAR **frame) ; HRESULT STDMETHODCALLTYPE setTime( /* [in] */ float time) ; HRESULT STDMETHODCALLTYPE getOptions( /* [retval][out] */ d3drmAnimationOptions __RPC_FAR *options) ; HRESULT STDMETHODCALLTYPE addKey( /* [in] */ D3DRMANIMATIONKEY_CDESC __RPC_FAR *key) ; HRESULT STDMETHODCALLTYPE deleteKeyById( /* [in] */ long id) ; HRESULT STDMETHODCALLTYPE getKeys( /* [in] */ float timeMin, /* [in] */ float timeMax, ///* [in] */ long count, /* [out][in] */ SAFEARRAY __RPC_FAR * __RPC_FAR *keyArray) ; HRESULT STDMETHODCALLTYPE getKeysCount( /* [in] */ float timeMin, /* [in] */ float timeMax, /* [retval][out] */ long __RPC_FAR *count) ; HRESULT STDMETHODCALLTYPE modifyKey( /* [in] */ D3DRMANIMATIONKEY_CDESC __RPC_FAR *key) ; //////////////////////////////////////////////////////////////////////////////////// // private: DECL_VARIABLE(_dxj_Direct3dRMAnimation2); public: DX3J_GLOBAL_LINKS( _dxj_Direct3dRMAnimation2) };