chxavsitesupplier.h
上传用户:dangjiwu
上传日期:2013-07-19
资源大小:42019k
文件大小:2k
源码类别:

Symbian

开发平台:

Visual C++

  1. /************************************************************************
  2.  * chxavsitesupplier.h
  3.  * -------------------
  4.  *
  5.  * Synopsis:
  6.  * Contains the declaration of the CHXAvSiteSupplier class.  This object 
  7.  * will provide the mechanism by which the core can blit to the screen.
  8.  *
  9.  * Target:
  10.  * Symbian OS
  11.  *
  12.  *
  13.  * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
  14.  *
  15.  *****************************************************************************/
  16. #ifndef _chxavsitesupplier_h_
  17. #define _chxavsitesupplier_h_
  18. // Standard includes...
  19. //#include <coeccntx.h>
  20. #include <eikenv.h>
  21. //#include <eikappui.h>
  22. //#include <eikapp.h>
  23. //#include <eikdoc.h>
  24. //#include <eikmenup.h>
  25. //#include <eikon.hrh>
  26. //#include <aknviewappui.h>
  27. //#include <apchangeobserver.h>
  28. //#include <string.h>
  29. // Includes from Helix...
  30. #include "unkimp.h"
  31. #include "hxclsnk.h"
  32. #include "hxerror.h"
  33. #include "hxcore.h"
  34. #include "hxprefs.h"
  35. #include "chxmaplongtoobj.h"
  36. #include "hxstrutl.h"
  37. #include "hxsite2.h"
  38. // Includes from this project...
  39. // CHXAvPlayer class...
  40. class CHXAvSiteSupplier :
  41.     public CUnknownIMP,
  42.     public IHXSiteSupplier,
  43.     public IHXPassiveSiteWatcher,
  44.     public MDirectScreenAccess
  45. {
  46. public:
  47.     DECLARE_UNKNOWN(CHXAvSiteSupplier)
  48.         
  49.     CHXAvSiteSupplier();
  50.     virtual ~CHXAvSiteSupplier();
  51.     void ConstructL(IUnknown* pContext, CCoeControl* pRenderWindow);
  52. public:
  53.     //MDirectScreenAccess methods
  54.     virtual void Restart(RDirectScreenAccess::TTerminationReasons aReason);
  55.     virtual void AbortNow(RDirectScreenAccess::TTerminationReasons aReason);
  56.     bool IsUsingSites() const;
  57.     void RedrawAllSites();
  58.     // IHXSiteSupplier methods...
  59.     STDMETHOD(SitesNeeded) (THIS_ UINT32 uReqestID, IHXValues * pSiteProps);
  60.     STDMETHOD(SitesNotNeeded) (THIS_ UINT32 uReqestID);
  61.     STDMETHOD(BeginChangeLayout) (THIS);
  62.     STDMETHOD(DoneChangeLayout) (THIS);
  63.     //IHXPassiveSiteWatcher
  64.     STDMETHOD(PositionChanged)(THIS_ HXxPoint* /*IN*/ pPoint);
  65.     STDMETHOD(SizeChanged) (THIS_ HXxSize* /*IN*/ pSize);
  66. private:
  67.     TInt StartDSA();
  68.     void RestackSites();
  69.     CCoeControl*           m_pRenderWindow;
  70.     IHXSiteManager*        m_sitesManager;
  71.     IHXCommonClassFactory* m_classFactory;
  72.     IUnknown*              m_pContext;
  73.     CHXMapLongToObj        m_sitesCreated;
  74.     CDirectScreenAccess*   m_pDSA;
  75.     bool                   m_bIsDSAStarted;
  76. };
  77. #endif // _chxavsitesupplier_h_