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.

149 lines
5.2 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1998 - 1999
  6. //
  7. // File: d3drmprogressivemeshobj.h
  8. //
  9. //--------------------------------------------------------------------------
  10. // d3dRMProgressiveMeshObj.h : Declaration of the C_dxj_Direct3dRMProgressiveMeshObject
  11. #include "resource.h" // main symbols
  12. #include "d3drmObjectObj.h"
  13. #define typedef__dxj_Direct3dRMProgressiveMesh LPDIRECT3DRMPROGRESSIVEMESH
  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_Direct3dRMProgressiveMeshObject :
  19. public I_dxj_Direct3dRMProgressiveMesh,
  20. public I_dxj_Direct3dRMObject,
  21. public I_dxj_Direct3dRMVisual,
  22. public CComObjectRoot
  23. {
  24. public:
  25. C_dxj_Direct3dRMProgressiveMeshObject() ;
  26. virtual ~C_dxj_Direct3dRMProgressiveMeshObject() ;
  27. BEGIN_COM_MAP(C_dxj_Direct3dRMProgressiveMeshObject)
  28. COM_INTERFACE_ENTRY(I_dxj_Direct3dRMProgressiveMesh)
  29. COM_INTERFACE_ENTRY(I_dxj_Direct3dRMObject)
  30. COM_INTERFACE_ENTRY(I_dxj_Direct3dRMVisual)
  31. END_COM_MAP()
  32. DECLARE_AGGREGATABLE(C_dxj_Direct3dRMProgressiveMeshObject)
  33. // I_dxj_Direct3dRMProgressiveMesh
  34. public:
  35. // updated
  36. /* [hidden] */ HRESULT STDMETHODCALLTYPE InternalSetObject(
  37. /* [in] */ IUnknown __RPC_FAR *lpdd);
  38. /* [hidden] */ HRESULT STDMETHODCALLTYPE InternalGetObject(
  39. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *lpdd);
  40. HRESULT STDMETHODCALLTYPE addDestroyCallback(
  41. /* [in] */ I_dxj_Direct3dRMCallback __RPC_FAR *fn,
  42. /* [in] */ IUnknown __RPC_FAR *arg);
  43. HRESULT STDMETHODCALLTYPE deleteDestroyCallback(
  44. /* [in] */ I_dxj_Direct3dRMCallback __RPC_FAR *fn,
  45. /* [in] */ IUnknown __RPC_FAR *args);
  46. HRESULT STDMETHODCALLTYPE clone(
  47. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retv);
  48. HRESULT STDMETHODCALLTYPE setAppData(
  49. /* [in] */ long data);
  50. HRESULT STDMETHODCALLTYPE getAppData(
  51. /* [retval][out] */ long __RPC_FAR *retv);
  52. HRESULT STDMETHODCALLTYPE setName(
  53. /* [in] */ BSTR name);
  54. HRESULT STDMETHODCALLTYPE getName(
  55. /* [retval][out] */ BSTR __RPC_FAR *name);
  56. HRESULT STDMETHODCALLTYPE getClassName(
  57. /* [retval][out] */ BSTR __RPC_FAR *name);
  58. HRESULT STDMETHODCALLTYPE loadFromFile(
  59. /* [in] */ BSTR sFile,
  60. /* [in] */ VARIANT id,
  61. /* [in] */ long options,
  62. /* [in] */ I_dxj_Direct3dRMLoadTextureCallback3 __RPC_FAR *cb,
  63. /* [in] */ IUnknown __RPC_FAR *args);
  64. HRESULT STDMETHODCALLTYPE getLoadStatus( D3DRMPMESHLOADSTATUS_CDESC *status);
  65. HRESULT STDMETHODCALLTYPE setMinRenderDetail(
  66. /* [in] */ float val);
  67. HRESULT STDMETHODCALLTYPE abort(
  68. ///* [in] */ long flags
  69. );
  70. HRESULT STDMETHODCALLTYPE getFaceDetail(
  71. /* [retval][out] */ long __RPC_FAR *count);
  72. HRESULT STDMETHODCALLTYPE getVertexDetail(
  73. /* [retval][out] */ long __RPC_FAR *count);
  74. HRESULT STDMETHODCALLTYPE setFaceDetail(
  75. /* [in] */ long count);
  76. HRESULT STDMETHODCALLTYPE setVertexDetail(
  77. /* [in] */ long count);
  78. HRESULT STDMETHODCALLTYPE getFaceDetailRange(
  79. /* [out][in] */ long __RPC_FAR *min,
  80. /* [out][in] */ long __RPC_FAR *max);
  81. HRESULT STDMETHODCALLTYPE getVertexDetailRange(
  82. /* [out][in] */ long __RPC_FAR *min,
  83. /* [out][in] */ long __RPC_FAR *max);
  84. HRESULT STDMETHODCALLTYPE getDetail(
  85. /* [retval][out] */ float __RPC_FAR *detail);
  86. HRESULT STDMETHODCALLTYPE setDetail(
  87. /* [in] */ float detail);
  88. HRESULT STDMETHODCALLTYPE registerEvents(
  89. /* [in] */ long hEvent,
  90. /* [in] */ long flags,
  91. /* [in] */ long reserved);
  92. HRESULT STDMETHODCALLTYPE createMesh(
  93. /* [retval][out] */ I_dxj_Direct3dRMMesh __RPC_FAR *__RPC_FAR *mesh);
  94. HRESULT STDMETHODCALLTYPE duplicate(
  95. /* [retval][out] */ I_dxj_Direct3dRMProgressiveMesh __RPC_FAR *__RPC_FAR *mesh);
  96. HRESULT STDMETHODCALLTYPE getBox(
  97. /* [out][in] */ D3dRMBox __RPC_FAR *box);
  98. HRESULT STDMETHODCALLTYPE setQuality(
  99. d3drmRenderQuality quality);
  100. HRESULT STDMETHODCALLTYPE getQuality(
  101. /* [retval][out] */ d3drmRenderQuality *quality);
  102. ////////////////////////////////////////////////////////////////////////////////////
  103. //
  104. private:
  105. DECL_VARIABLE(_dxj_Direct3dRMProgressiveMesh);
  106. public:
  107. DX3J_GLOBAL_LINKS( _dxj_Direct3dRMProgressiveMesh )
  108. };