void CLTGUIButton::InitPoly() { ScalePoly(); g_pDrawPrim->SetUVWH(&m_Poly,0.0f,0.0f,1.0f,1.0f); g_pDrawPrim->SetRGBA(&m_Poly,0xFFFFFFFF); }
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(); }
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(); }
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); } }
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); } }
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); } }
//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); }
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(); }