windows-nt/Source/XPSP1/NT/multimedia/directx/dxvb/dx7vb/d3drmanimation2obj.h
2020-09-26 16:20:57 +08:00

141 lines
4.5 KiB
C++

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