Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

140 lines
4.6 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1998 - 1999
  6. //
  7. // File: d3drmanimation2obj.h
  8. //
  9. //--------------------------------------------------------------------------
  10. // d3drmAnimationObj.h : Declaration of the C_dxj_Direct3dRMAnimationObject
  11. #include "resource.h" // main symbols
  12. #include "d3drmObjectObj.h"
  13. #define typedef__dxj_Direct3dRMAnimation2 LPDIRECT3DRMANIMATION2
  14. /////////////////////////////////////////////////////////////////////////////
  15. // Direct
  16. //REVIEW -- using pointers to ID's is necessary because some compilers don't like
  17. //references as template arguments.
  18. class C_dxj_Direct3dRMAnimation2Object :
  19. public I_dxj_Direct3dRMAnimation2,
  20. public CComObjectRoot
  21. {
  22. public:
  23. C_dxj_Direct3dRMAnimation2Object() ;
  24. ~C_dxj_Direct3dRMAnimation2Object() ;
  25. DWORD InternalAddRef();
  26. DWORD InternalRelease();
  27. BEGIN_COM_MAP(C_dxj_Direct3dRMAnimation2Object)
  28. COM_INTERFACE_ENTRY(I_dxj_Direct3dRMAnimation2)
  29. END_COM_MAP()
  30. DECLARE_AGGREGATABLE(C_dxj_Direct3dRMAnimation2Object)
  31. // I_dxj_Direct3dRMAnimation
  32. public:
  33. /* [hidden] */ HRESULT STDMETHODCALLTYPE InternalSetObject(
  34. /* [in] */ IUnknown __RPC_FAR *lpdd) ;
  35. /* [hidden] */ HRESULT STDMETHODCALLTYPE InternalGetObject(
  36. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *lpdd) ;
  37. HRESULT STDMETHODCALLTYPE addDestroyCallback(
  38. /* [in] */ I_dxj_Direct3dRMCallback __RPC_FAR *fn,
  39. /* [in] */ IUnknown __RPC_FAR *arg) ;
  40. HRESULT STDMETHODCALLTYPE deleteDestroyCallback(
  41. /* [in] */ I_dxj_Direct3dRMCallback __RPC_FAR *fn,
  42. /* [in] */ IUnknown __RPC_FAR *args) ;
  43. HRESULT STDMETHODCALLTYPE clone(
  44. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retv) ;
  45. HRESULT STDMETHODCALLTYPE setAppData(
  46. /* [in] */ long data) ;
  47. HRESULT STDMETHODCALLTYPE getAppData(
  48. /* [retval][out] */ long __RPC_FAR *data) ;
  49. HRESULT STDMETHODCALLTYPE setName(
  50. /* [in] */ BSTR name) ;
  51. HRESULT STDMETHODCALLTYPE getName(
  52. /* [retval][out] */ BSTR __RPC_FAR *name) ;
  53. HRESULT STDMETHODCALLTYPE getClassName(
  54. /* [retval][out] */ BSTR __RPC_FAR *name) ;
  55. HRESULT STDMETHODCALLTYPE setOptions(
  56. /* [in] */ d3drmAnimationOptions flags) ;
  57. HRESULT STDMETHODCALLTYPE addRotateKey(
  58. /* [in] */ float time,
  59. /* [in] */ D3dRMQuaternion __RPC_FAR *q) ;
  60. HRESULT STDMETHODCALLTYPE addPositionKey(
  61. /* [in] */ float time,
  62. /* [in] */ float x,
  63. /* [in] */ float y,
  64. /* [in] */ float z) ;
  65. HRESULT STDMETHODCALLTYPE addScaleKey(
  66. /* [in] */ float time,
  67. /* [in] */ float x,
  68. /* [in] */ float y,
  69. /* [in] */ float z) ;
  70. HRESULT STDMETHODCALLTYPE deleteKey(
  71. /* [in] */ float time) ;
  72. HRESULT STDMETHODCALLTYPE setFrame(
  73. /* [in] */ I_dxj_Direct3dRMFrame3 __RPC_FAR *frame) ;
  74. HRESULT STDMETHODCALLTYPE getFrame(
  75. /* [in] */ I_dxj_Direct3dRMFrame3 __RPC_FAR **frame) ;
  76. HRESULT STDMETHODCALLTYPE setTime(
  77. /* [in] */ float time) ;
  78. HRESULT STDMETHODCALLTYPE getOptions(
  79. /* [retval][out] */ d3drmAnimationOptions __RPC_FAR *options) ;
  80. HRESULT STDMETHODCALLTYPE addKey(
  81. /* [in] */ D3DRMANIMATIONKEY_CDESC __RPC_FAR *key) ;
  82. HRESULT STDMETHODCALLTYPE deleteKeyById(
  83. /* [in] */ long id) ;
  84. HRESULT STDMETHODCALLTYPE getKeys(
  85. /* [in] */ float timeMin,
  86. /* [in] */ float timeMax,
  87. ///* [in] */ long count,
  88. /* [out][in] */ SAFEARRAY __RPC_FAR * __RPC_FAR *keyArray) ;
  89. HRESULT STDMETHODCALLTYPE getKeysCount(
  90. /* [in] */ float timeMin,
  91. /* [in] */ float timeMax,
  92. /* [retval][out] */ long __RPC_FAR *count) ;
  93. HRESULT STDMETHODCALLTYPE modifyKey(
  94. /* [in] */ D3DRMANIMATIONKEY_CDESC __RPC_FAR *key) ;
  95. ////////////////////////////////////////////////////////////////////////////////////
  96. //
  97. private:
  98. DECL_VARIABLE(_dxj_Direct3dRMAnimation2);
  99. public:
  100. DX3J_GLOBAL_LINKS( _dxj_Direct3dRMAnimation2)
  101. };