⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 brewhelpandintro.cpp

📁 象棋框架
💻 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 + -