コード例 #1
0
ファイル: ltguibutton.cpp プロジェクト: Joincheng/lithtech
void CLTGUIButton::InitPoly()
{
	ScalePoly();
	g_pDrawPrim->SetUVWH(&m_Poly,0.0f,0.0f,1.0f,1.0f);
	g_pDrawPrim->SetRGBA(&m_Poly,0xFFFFFFFF);

}
コード例 #2
0
ファイル: HUDMessage.cpp プロジェクト: Arc0re/lithtech
void CHUDMessage::SetBasePos ( LTIntPt pos )
{ 
	CLTGUICtrl::SetBasePos(pos);
	ScalePoly();
	if (m_pText)
	{
		float x = (float)m_pos.x;
		float y = (float)m_pos.y;

		if (m_hImage)
		{
			switch (m_eJustify)
			{
			case kMsgLeft:
			case kMsgCenter:
				//adjust for image size
				x += (float)m_imageSize.x + m_fImageGap;
				y += ((float)m_imageSize.y - m_pText->GetHeight()) / 2;
				break;
			case kMsgRight:
				break;
			};

		}
		m_pText->SetPosition(x,y);
	}
	JustifyPoly();


}
コード例 #3
0
ファイル: HUDMessage.cpp プロジェクト: Arc0re/lithtech
void CHUDMessage::InitPoly()
{
	if (!m_hImage) return;
	ScalePoly();
	SetupQuadUVs(m_Poly, m_hImage, 0.0f,0.0f,1.0f,1.0f);
	g_pDrawPrim->SetRGBA(&m_Poly,0xFFFFFFFF);
	JustifyPoly();
}
コード例 #4
0
ファイル: ltguibutton.cpp プロジェクト: Joincheng/lithtech
void CLTGUIButton::SetBasePos ( LTIntPt pos )
{
	CLTGUICtrl::SetBasePos(pos);
	ScalePoly();
	if (m_pText)
	{
		float x = (float)m_pos.x + ((float)GetWidth() - m_pText->GetWidth()) / 2.0f;
		float y = (float)m_pos.y + ((float)GetHeight() - m_pText->GetHeight()) / 2.0f;
		m_pText->SetPosition(x,y);
	}
}
コード例 #5
0
ファイル: ltguibutton.cpp プロジェクト: Joincheng/lithtech
void CLTGUIButton::SetTextureScale(float fScale)
{
	m_fTextureScale = fScale;
	ScalePoly();
	if (m_pText)
	{
		float x = (float)m_pos.x + ((float)GetWidth() - m_pText->GetWidth()) / 2.0f;
		float y = (float)m_pos.y + ((float)GetHeight() - m_pText->GetHeight()) / 2.0f;
		m_pText->SetPosition(x,y);
	}

}
コード例 #6
0
ファイル: ltguibutton.cpp プロジェクト: Joincheng/lithtech
void CLTGUIButton::SetScale(float fScale)
{
	CLTGUICtrl::SetScale(fScale);
	ScalePoly();
	m_nFontSize = (uint8)(m_fScale * (float)m_nBaseFontSize);
	if (m_pText)
	{
		m_pText->SetCharScreenHeight(m_nFontSize);
		float x = (float)m_pos.x + ((float)GetWidth() - m_pText->GetWidth()) / 2.0f;
		float y = (float)m_pos.y + ((float)GetHeight() - m_pText->GetHeight()) / 2.0f;
		m_pText->SetPosition(x,y);
	}

}
コード例 #7
0
ファイル: app.c プロジェクト: RorschachUK/Trakr
//Resets polygon for arrow to avoid cumulative rounding errors
void ResetArrow() {
	//define a triangle polygon
	arrow[0].x=80;
	arrow[0].y=20;
	arrow[1].x=50;
	arrow[1].y=90;
	arrow[2].x=80;
	arrow[2].y=70;
	arrow[3].x=110;
	arrow[3].y=90;
	//I could define it small but I
	//wanted to test these routines!
	ScalePoly(4, arrow, 80, 60, 0.3);
	MovePoly(4, arrow, -60, -40);
}
コード例 #8
0
ファイル: HUDMessage.cpp プロジェクト: Arc0re/lithtech
void CHUDMessage::SetScale(float fScale)
{
	CLTGUICtrl::SetScale(fScale);
	ScalePoly();
	m_fImageGap = 4.0f * m_fScale;
	m_nFontSize = (uint8)(m_fScale * (float)m_nBaseFontSize);
	if (m_pText)
	{
		float x = (float)m_pos.x;
		float y = (float)m_pos.y;
		m_pText->SetCharScreenHeight(m_nFontSize);
		if (m_hImage)
		{
			switch (m_eJustify)
			{
			case kMsgLeft:
			case kMsgCenter:
				//adjust for image size
				x += (float)m_imageSize.x + m_fImageGap;
				y += ((float)m_imageSize.y - m_pText->GetHeight()) / 2;
				break;
			case kMsgRight:
				break;
			};			
		}
		m_pText->SetPosition(x,y);

		uint16 nTextWidth = (uint16)(m_fScale * (float)m_nFixedWidth - ((float)m_imageSize.x + m_fImageGap));
		m_pText->SetWrapWidth(nTextWidth);

		m_nWidth = m_imageSize.x + (uint16)( m_fImageGap + m_pText->GetWidth());
		m_nHeight = Max((uint16)m_imageSize.y,(uint16)m_pText->GetHeight());

	}
	else
	{
		m_nWidth = m_imageSize.x;
		m_nHeight = m_imageSize.y;
	}
	JustifyPoly();

}