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.

83 lines
2.5 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1998 - 1998
  6. //
  7. // File: d3drmvisualobj.h
  8. //
  9. //--------------------------------------------------------------------------
  10. // d3drmVisualObj.h : Declaration of the C_dxj_Direct3dRMVisualObject
  11. #ifndef _D3DRMVISUAL_H_
  12. #define _D3DRMVISUAL_H_
  13. #include "resource.h" // main symbols
  14. #include "d3drmObjectObj.h"
  15. #define typedef__dxj_Direct3dRMVisual LPDIRECT3DRMVISUAL
  16. /////////////////////////////////////////////////////////////////////////////
  17. // Direct
  18. //REVIEW -- using pointers to ID's is necessary because some compilers don't like
  19. //references as template arguments.
  20. class C_dxj_Direct3dRMVisualObject :
  21. public I_dxj_Direct3dRMVisual,
  22. //public CComCoClass<C_dxj_Direct3dRMVisualObject, &CLSID__dxj_Direct3dRMVisual>,
  23. public CComObjectRoot
  24. {
  25. public:
  26. C_dxj_Direct3dRMVisualObject() ;
  27. virtual ~C_dxj_Direct3dRMVisualObject() ;
  28. BEGIN_COM_MAP(C_dxj_Direct3dRMVisualObject)
  29. COM_INTERFACE_ENTRY(I_dxj_Direct3dRMVisual)
  30. END_COM_MAP()
  31. //DECLARE_REGISTRY(CLSID__dxj_Direct3dRMVisual, "DIRECT.Direct3dRMVisual.3", "DIRECT.Direct3dRMVisual.3", IDS_D3DRMVISUAL_DESC, THREADFLAGS_BOTH)
  32. DECLARE_AGGREGATABLE(C_dxj_Direct3dRMVisualObject)
  33. // I_dxj_Direct3dRMVisual
  34. public:
  35. STDMETHOD(InternalSetObject)(IUnknown *lpdd);
  36. STDMETHOD(InternalGetObject)(IUnknown **lpdd);
  37. STDMETHOD(clone)(I_dxj_Direct3dRMVisual **retval);
  38. STDMETHOD(setAppData)(long);
  39. STDMETHOD(getAppData)(long*);
  40. STDMETHOD(addDestroyCallback)(I_dxj_Direct3dRMCallback *fn, IUnknown *args);
  41. STDMETHOD(deleteDestroyCallback)(I_dxj_Direct3dRMCallback *fn, IUnknown *args);
  42. STDMETHOD(getd3drmMeshBuilder)(I_dxj_Direct3dRMMeshBuilder3 **retval);
  43. STDMETHOD(getObjectType)(IUnknown **obj);
  44. STDMETHOD(getd3drmMesh)(I_dxj_Direct3dRMMesh **retv);
  45. STDMETHOD(getd3drmTexture)(I_dxj_Direct3dRMTexture3 **retv);
  46. STDMETHOD(getd3drmFrame)(I_dxj_Direct3dRMFrame3 **retv);
  47. STDMETHOD(getd3drmShadow)( I_dxj_Direct3dRMShadow2 **retobj);
  48. ////////////////////////////////////////////////////////////////////////////////////
  49. //
  50. STDMETHOD(getName)(BSTR *name);
  51. STDMETHOD(setName)(BSTR);
  52. STDMETHOD(getClassName)(BSTR *name);
  53. ////////////////////////////////////////////////////////////////////////////////////
  54. //
  55. private:
  56. DECL_VARIABLE(_dxj_Direct3dRMVisual);
  57. IUnknown *m_obj;
  58. public:
  59. DX3J_GLOBAL_LINKS( _dxj_Direct3dRMVisual )
  60. };
  61. #endif