add StringWillUseAlternate

This commit is contained in:
Glenn Maynard
2003-02-12 20:19:20 +00:00
parent af5fa1db3c
commit 7a3336d50d
2 changed files with 20 additions and 6 deletions
+18 -6
View File
@@ -231,12 +231,8 @@ void BitmapText::SetText( CString sText, CString sAlternateText )
{
ASSERT( m_pFont );
if(sAlternateText.size())
{
if(!m_pFont->FontCompleteForString(CStringToWstring(sText)) &&
m_pFont->FontCompleteForString(CStringToWstring(sAlternateText)))
sText = sAlternateText;
}
if(StringWillUseAlternate(sText, sAlternateText))
sText = sAlternateText;
if(m_szText == sText)
return;
@@ -250,6 +246,22 @@ void BitmapText::SetText( CString sText, CString sAlternateText )
BuildChars();
}
bool BitmapText::StringWillUseAlternate(CString sText, CString sAlternateText) const
{
ASSERT( m_pFont );
/* Can't use the alternate if there isn't one. */
if(!sAlternateText.size()) return false;
/* False if the alternate isn't needed. */
if(m_pFont->FontCompleteForString(CStringToWstring(sText))) return false;
/* False if the alternate is also incomplete. */
if(!m_pFont->FontCompleteForString(CStringToWstring(sAlternateText))) return false;
return true;
}
void BitmapText::CropToWidth( int iMaxWidthInSourcePixels )
{
iMaxWidthInSourcePixels = max( 0, iMaxWidthInSourcePixels );