📄 mopoidview.cpp
字号:
/*
* ============================================================================
* Name : CMopoidView from MopoidView.cpp
* Part of : Mopoid
* Created : 16.01.2004 by Andreas Jakl / Mopius - http://www.mopius.com/
* Description:
* Declares view for application.
* Version : 1.02
* Copyright:
* 'Mopoid' is free software; you can redistribute
* it and/or modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* 'Mopoid' is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with 'Mopoid'; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
* ============================================================================
*/
#include <e32std.h>
#include <aknviewappui.h>
#include <aknconsts.h>
#include "Mopoidappui.h"
#include "Mopoidview.h"
#include "Mopoidcontainer.h"
#include "Mopoid.hrh"
#include <Mopoid.rsg>
const TUid EDefaultViewId = { EMopoidViewId };
CMopoidView* CMopoidView::NewL()
{
CMopoidView* self = CMopoidView::NewLC();
CleanupStack::Pop(self);
return self;
}
CMopoidView* CMopoidView::NewLC()
{
CMopoidView* self = new (ELeave) CMopoidView();
CleanupStack::PushL(self);
self->ConstructL();
return self;
}
CMopoidView::CMopoidView()
{
}
CMopoidView::~CMopoidView()
{
}
void CMopoidView::ConstructL()
{
BaseConstructL(R_MOPOID);
}
TUid CMopoidView::Id() const
{
return EDefaultViewId;
}
void CMopoidView::DoActivateL(const TVwsViewId& aPrevViewId,
TUid aCustomMessageId,
const TDesC8& aCustomMessage)
{
ASSERT(iContainer == NULL);
iContainer = CMopoidContainer::NewL(ClientRect());
iContainer->SetMopParent(this);
AppUi()->AddToStackL(*this, iContainer);
}
void CMopoidView::DoDeactivate()
{
if (iContainer)
{
AppUi()->RemoveFromStack(iContainer);
delete iContainer;
iContainer = NULL;
}
}
//------------------------------------------------------------------------------
void CMopoidView::HandleCommandL(TInt aCommand)
{
if (iContainer && iContainer->DispatchViewCommandEvents(aCommand))
{
return;
}
else
{
AppUi()->HandleCommandL(aCommand);
}
}
//------------------------------------------------------------------------------
// Handle any change of focus
void CMopoidView::HandleForegroundEventL(TBool aForeground)
{
if (aForeground) // gained focus
{
// Don't resume the game - wait for user to resume it
iContainer->iGameEngine->iHaveFocus = ETrue;
}
else // lost focus
{
// Pause game
if (iContainer)
{
iContainer->iGameEngine->PauseGame();
iContainer->iGameEngine->iHaveFocus = EFalse;
}
}
// call base class event handler
CAknView::HandleForegroundEventL(aForeground);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -