📄 mopoidpanel.cpp
字号:
/*
* ============================================================================
* Name : TPanel from MopoidPanel.cpp
* Part of : Mopoid
* Created : 16.01.2004 by Andreas Jakl / Mopius - http://www.mopius.com/
* Description:
* Handles the panel.
* 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 "MopoidPanel.h"
// --- TPanel
TPanel::TPanel(void)
:
iPos(0,0),
iSize(0,0),
iSizeHalf(0,0),
iX(0),
iVx(0)
{}
// -----------------------------------------------------------------------
void TPanel::KeyboardMove(MopoidShared::TDirection aDirection)
{
TInt aLeftRight = 0;
if (aDirection == MopoidShared::ELeft)
aLeftRight = -1;
else if (aDirection == MopoidShared::ERight)
aLeftRight = 1;
iVx = PANEL_SPEED * aLeftRight;
}
// -----------------------------------------------------------------------
void TPanel::SetSpeed(TReal aSpeed)
{
iVx = aSpeed;
}
// -----------------------------------------------------------------------
void TPanel::ConvertToPos(TReal aStep)
{
iX += iVx * aStep;
// Make sure that the panel doesn't go outside of the screen.
if (iX < BORDER_LEFT)
iX = BORDER_LEFT;
else if (iX + iSize.iWidth > BORDER_RIGHT)
iX = BORDER_RIGHT - iSize.iWidth;
// Convert new exact position to the screen position for faster calculations
iPos.iX = (TInt)iX;
// Don't move again unless we're told to.
iVx = 0.0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -