📄 tetriscontainer.cpp
字号:
#include <eikspane.h>
#include <eiktbar.h>
#include "TetrisContainer.h"
#include "Tetris.hrh"
#include "CEngine.h"
#include "TetrisDocument.h"
// construct and destruct
CTetrisContainer::CTetrisContainer(CTetrisDocument* aDocument) : iDocument(aDocument)
{}
//~CTetrisContainer()
CTetrisContainer::~CTetrisContainer()
{
if(iEngine)
{
//iEngine->Stop();
delete iEngine;
iEngine = NULL;
}
ControlEnv()->RemoveForegroundObserver(*this);
}
// ConstructL()
void CTetrisContainer::ConstructL(const TRect& aRect)
{
CreateWindowL();
// Set the windows size
SetRect(aRect);
ActivateL();
SetFullScreen();
ControlEnv()->AddForegroundObserverL( *this );
// Start the engine
iEngine = CEngine::NewL( iDocument->Model(), SystemGc(), Window(),
CCoeEnv::Static()->ScreenDevice()->DisplayMode());
//iEngine->Start();
}
///////////////////////////////////////////////////////////////
// Method from Parent
void CTetrisContainer::HandleGainingForeground()
{
iEngine->Start();
}
void CTetrisContainer::HandleLosingForeground()
{
iEngine->Stop();
}
// Other Method
// SetFullScreen
void CTetrisContainer::SetFullScreen()
{
CEikButtonGroupContainer* iToolBar; // use
CEikStatusPane* iStatusPane; // use
MEikAppUiFactory* f = CEikonEnv::Static()->AppUiFactory();
iStatusPane = f->StatusPane();
iToolBar = f->ToolBar();
if( iToolBar )
iToolBar->MakeVisible( EFalse );
if( iStatusPane )
iStatusPane->MakeVisible( EFalse );
SetExtentToWholeScreen();
}
// Command()
void CTetrisContainer::Command(TInt aCommand)
{
iEngine->Command(aCommand);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -