?? samplecontainer.h
字號:
/*
* ============================================================================
* Name : CSampleContainer from SampleContainer.h
* Part of : Sample
* Created : 2005-09-27 by
* Description:
* Declares container control for application.
* Version :
* Copyright:
* ============================================================================
*/
#ifndef SAMPLECONTAINER_H
#define SAMPLECONTAINER_H
// INCLUDES
#include <coecntrl.h>
#include "coemain.h" // MCoeForegroundObserver
const int SCREEN_WIDTH = 176;
const int SCREEN_HEIGHT = 208;
// FORWARD DECLARATIONS
class CEikLabel; // for example labels
// CLASS DECLARATION
/**
* CSampleContainer container control class.
*
*/
class CSampleContainer : public CCoeControl, MDirectScreenAccess, MCoeForegroundObserver
{
public: // Constructors and destructor
enum TMbmImages
{
EMbmImagesImage1,
EMbmImagesImage2,
EMbmImagesImage2_mask
};
void ConstructL(const TRect& aRect);
~CSampleContainer();
TInt CountComponentControls() const;
CCoeControl* ComponentControl(TInt aIndex) const;
void Draw(const TRect& aRect) const;
private:
void InitGDI();
///周期回調函數
static TInt PeriodicCallBack(TAny *pAny);
///周期回調函數具體實現即游戲主循環
void GameCycle();
// 繼承 MDirectScreenAccess
void AbortNow(RDirectScreenAccess::TTerminationReasons aReason);
void Restart(RDirectScreenAccess::TTerminationReasons aReason);
// 繼承 MCoeForegroundObserver
void HandleGainingForeground();
void HandleLosingForeground();
///處理來電,前后臺切換等事件的實現函數
void AbortNowImpl();
void StartL();
void RestartImpl();
// 重置背景表面數據頭指針
void ResetBackSurfDataPtr();
// 加載位圖
CFbsBitmap* CreateBitmapLC(const TDesC& aFileName,TInt aId);
// 更新數據
void Update();
// 重置GC
void PartialReset(CFbsBitGc& aGc) const;
private:
CFbsBitmap* m_pBackSurface; // 背景表面
CFbsBitGc* m_pBackGc; // 設備環境
CFbsBitmapDevice* m_pBackDevice; // 圖形設備
TBitmapUtil* m_pBmpUtil; // TBitmapUtil實例
TUint16* m_pBackSurfaceData; // 背景平面內存入口地址
TBool m_bAbort; // 程序當前狀態,是否是abort狀態
TBool m_bGainingForeground; // 程序當前是否是前臺
CFbsBitGc* m_pGc; // m_pDSA->Gc()
CPeriodic* m_pPeriodic; // 周期類
CDirectScreenAccess* m_pDSA; // 直接訪屏類
CFbsBitmap* m_pBitmap_Ball; // 紅球圖片
CFbsBitmap* m_pBitmap_Background; // 背景圖片
CFbsBitmap* m_pBitmap_Ball_Mask; // 紅球的蒙版位圖
TPoint m_iBallPos; // 球位置
int m_iXVelocity; // X方向速度
};
#endif
// End of File
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -