📄 brewhelpandintro.cpp
字号:
// BrewHelpAndIntro.cpp: implementation of the CBrewHelpAndIntro class.
//
//////////////////////////////////////////////////////////////////////
#include "BrewHelpAndIntro.h"
#include "gamevv_res.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CBrewHelpAndIntro::CBrewHelpAndIntro()
{
m_pIntro = NULL;
m_pGuide = NULL;
m_nTotalLine = 3;
m_nVScrollBarWidth = 0;
m_bBottomBar = m_bTopBar = false;
m_nFontSpace = 6 * FONT_SPACE;
m_nBGID = IDB_BG_HELP;
}
CBrewHelpAndIntro::~CBrewHelpAndIntro()
{
if(m_pIntro != NULL)
m_pIntro->Release();
if(m_pGuide != NULL)
m_pGuide->Release();
}
void CBrewHelpAndIntro::GetInfoRect() //显示主要信息的区域,不包含辅助内容
{
AEERect rt;
GetMainRect(rt);
if(m_nTotalDisplayLine < m_nTotalLine)
rt.dx -= m_nVScrollBarWidth; //减去滚动条所占的区域
SETAEERECT(&m_rtInfo,rt.x,rt.y + (m_nNowSize + m_nFontSpace),rt.dx,
rt.dy - (m_nNowSize + m_nFontSpace));
}
void CBrewHelpAndIntro::GetMainRect(AEERect& rt)
{
CBrewLoginCanvasBase::GetMainRect(rt);
}
void CBrewHelpAndIntro::paint(IDisplay *d, IGraphics *g)
{
CBrewLoginCanvasBase::paint(d,g);
if(m_pIntro != NULL)
{
m_pIntro->paint(d,g);
IDISPLAY_Update(d);
return;
}
if(m_pGuide != NULL)
{
m_pGuide->paint(d,g);
IDISPLAY_Update(d);
return;
}
DrawExtroInfo();
AEERect rt;
int i;
AEEFont nfont = m_nNowFont;
int nID;
for(i = 0; i < m_nTotalLine; i++)
{
if(GetLineRect(i,rt) != -1)
{
if(i == m_nCurrent)
IDISPLAY_SetColor(d ,CLR_USER_TEXT, MAKE_RGB(255,0,0));
else
IDISPLAY_SetColor(d ,CLR_USER_TEXT, MAKE_RGB(0,0,0));
//if(i == m_nCurrent)
// nfont = AEE_FONT_BOLD;
//else
// nfont = AEE_FONT_NORMAL;
switch(i)
{
case 0:
IDISPLAY_DrawText( d, nfont, GetDispText(IDS_MENU_GAMEINTRO), -1,
rt.x, rt.y,
&rt, IDF_ALIGN_MIDDLE| IDF_TEXT_TRANSPARENT |IDF_ALIGN_CENTER);
nID = IDS_MENU_GAMEINTRO;
break;
case 1:
IDISPLAY_DrawText( d, nfont,GetDispText(IDS_MENU_OPGUIDE), -1,
rt.x, rt.y,
&rt, IDF_ALIGN_MIDDLE| IDF_TEXT_TRANSPARENT |IDF_ALIGN_CENTER);
nID = IDS_MENU_OPGUIDE;
break;
case 2:
IDISPLAY_DrawText( d, nfont, GetDispText(IDS_MENU_BACK), -1,
rt.x, rt.y,
&rt, IDF_ALIGN_MIDDLE| IDF_TEXT_TRANSPARENT |IDF_ALIGN_CENTER);
nID = IDS_MENU_BACK;
break;
}
IDISPLAY_SetColor(d ,CLR_USER_TEXT, MAKE_RGB(0,0,0));
}
}
DrawSelTag(nID);
}
boolean CBrewHelpAndIntro::key(UINT16 code, UINT32 param)
{
if(m_pIntro != NULL)
{
if(m_pIntro->key(code,param))
{
m_pIntro->Release();
m_pIntro = NULL;
}
return false;
}
if(m_pGuide != NULL)
{
if(m_pGuide->key(code,param))
{
m_pGuide->Release();
m_pGuide= NULL;
}
return false;
}
CBrewLoginCanvasBase::key(code,param);
if(code == AVK_CLR)
return true;
if(code == AVK_SELECT)
{
if(m_nCurrent == 2)
return true;
else if(m_nCurrent == 0)
{
m_pIntro = new CGameIntro;
m_pIntro->m_pShell = m_pShell;
m_pIntro->m_offsetX = m_offsetX;
m_pIntro->m_offsetY = m_offsetY;
m_pIntro->m_pdi = m_pdi;
}
else if(m_nCurrent == 1)
{
m_pGuide = new COpGuide;
m_pGuide->m_pShell = m_pShell;
m_pGuide->m_offsetX = m_offsetX;
m_pGuide->m_offsetY = m_offsetY;
m_pGuide->m_pdi = m_pdi;
}
}
return false;
}
void CBrewHelpAndIntro::DrawExtroInfo()
{
AEERect rt,rtdraw;
GetMainRect(rt);
//IDISPLAY_FillRect(m_pIDisplay,&rt,MAKE_RGB(255,255,255));
SETAEERECT(&rtdraw,rt.x,rt.y,rt.dx,m_nNowSize + m_nFontSpace);
IDISPLAY_DrawText(m_pIDisplay,
AEE_FONT_BOLD,
GetDispText(IDS_HELP_HELPTEXT),
-1,
0,
0,
&rtdraw,
IDF_ALIGN_CENTER | IDF_TEXT_TRANSPARENT | IDF_ALIGN_MIDDLE );
}
void CBrewHelpAndIntro::SetDisplayInfo(IDisplay* d)
{
CBrewLoginCanvasBase::SetDisplayInfo(d);
SetFont(AEE_FONT_LARGE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -