コード例 #1
0
ファイル: Credits.cpp プロジェクト: rickyharis39/nolf2
void CCredit::Draw()
{
	// Sanity checks...

	if (m_Strings.size() <= 0) return;

	FPStringArray::iterator iter = m_Strings.begin();
	while (iter != m_Strings.end())
	{
		CUIFormattedPolyString* pStr = (*iter);
		float x;
		float y;
		pStr->GetPosition(&x,&y);

		//drop shadow
		pStr->SetPosition(x+2.0f,y+2.0f);
		pStr->SetColor(argbBlack);
		pStr->Render();

		pStr->SetPosition(x,y);
		pStr->SetColor(argbWhite);
		pStr->Render();
		iter++;
	}

}
コード例 #2
0
ファイル: Credits.cpp プロジェクト: rickyharis39/nolf2
void CCredit::FormatStrings()
{
	float x = (float)m_Pos.x * g_pInterfaceResMgr->GetXRatio();
	float y = (float)m_Pos.y * g_pInterfaceResMgr->GetYRatio();
	FPStringArray::iterator iter = m_Strings.begin();
	while (iter != m_Strings.end())
	{
		CUIFormattedPolyString* pStr = *iter;

		uint8 nSize = (uint8)(16.0f * g_pInterfaceResMgr->GetXRatio());
		if (m_bBig)
			nSize = (uint8)(24.0f * g_pInterfaceResMgr->GetYRatio());


		pStr->SetCharScreenHeight(nSize);
		pStr->SetColor(argbWhite);
		pStr->SetAlignmentH(m_hAlign);
		pStr->SetPosition(x,y);
		y += (float)pStr->GetHeight();

		iter++;

	}

	float offset = y - ((float)m_Pos.y * g_pInterfaceResMgr->GetYRatio());
	switch (m_ePosition)
	{
	case CP_CENTER:
		offset /= 2.0f;
		break;
	case CP_UR:
	case CP_UL:
		offset = 0.0f;
		break;
	}

	if (offset > 0.0f)
	{
		FPStringArray::iterator iter = m_Strings.begin();
		while (iter != m_Strings.end())
		{
			CUIFormattedPolyString* pStr = *iter;

			float x,y;
			pStr->GetPosition(&x,&y);

			y -= offset;

			pStr->SetPosition(x,y);

			iter++;

		}

	}
	

}