chxavsitesupplier.h

来自「symbian 下的helix player源代码」· C头文件 代码 · 共 100 行

H
100
字号
/************************************************************************
 * chxavsitesupplier.h
 * -------------------
 *
 * Synopsis:
 * Contains the declaration of the CHXAvSiteSupplier class.  This object 
 * will provide the mechanism by which the core can blit to the screen.
 *
 * Target:
 * Symbian OS
 *
 *
 * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
 *
 *****************************************************************************/


#ifndef _chxavsitesupplier_h_
#define _chxavsitesupplier_h_

// Standard includes...
//#include <coeccntx.h>
#include <eikenv.h>
//#include <eikappui.h>
//#include <eikapp.h>
//#include <eikdoc.h>
//#include <eikmenup.h>
//#include <eikon.hrh>
//#include <aknviewappui.h>
//#include <apchangeobserver.h>
//#include <string.h>

// Includes from Helix...
#include "unkimp.h"
#include "hxclsnk.h"
#include "hxerror.h"
#include "hxcore.h"
#include "hxprefs.h"
#include "chxmaplongtoobj.h"
#include "hxstrutl.h"
#include "hxsite2.h"


// Includes from this project...


// CHXAvPlayer class...
class CHXAvSiteSupplier :
    public CUnknownIMP,
    public IHXSiteSupplier,
    public IHXPassiveSiteWatcher,
    public MDirectScreenAccess
{
public:
    DECLARE_UNKNOWN(CHXAvSiteSupplier)
        
    CHXAvSiteSupplier();
    virtual ~CHXAvSiteSupplier();

    void ConstructL(IUnknown* pContext, CCoeControl* pRenderWindow);

public:

    //MDirectScreenAccess methods
    virtual void Restart(RDirectScreenAccess::TTerminationReasons aReason);
    virtual void AbortNow(RDirectScreenAccess::TTerminationReasons aReason);

    bool IsUsingSites() const;
    void RedrawAllSites();


    // IHXSiteSupplier methods...
    STDMETHOD(SitesNeeded) (THIS_ UINT32 uReqestID, IHXValues * pSiteProps);
    STDMETHOD(SitesNotNeeded) (THIS_ UINT32 uReqestID);
    STDMETHOD(BeginChangeLayout) (THIS);
    STDMETHOD(DoneChangeLayout) (THIS);

    //IHXPassiveSiteWatcher
    STDMETHOD(PositionChanged)(THIS_ HXxPoint* /*IN*/ pPoint);
    STDMETHOD(SizeChanged) (THIS_ HXxSize* /*IN*/ pSize);


private:
    TInt StartDSA();
    void RestackSites();

    CCoeControl*           m_pRenderWindow;
    IHXSiteManager*        m_sitesManager;
    IHXCommonClassFactory* m_classFactory;
    IUnknown*              m_pContext;
    CHXMapLongToObj        m_sitesCreated;
    CDirectScreenAccess*   m_pDSA;
    bool                   m_bIsDSAStarted;

};

#endif // _chxavsitesupplier_h_


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?