CTextBox: consider utf8 mode parameter for correct render width, if required

This commit is contained in:
2015-07-13 18:02:23 +02:00
parent 18fa153389
commit 4e002bdf66

View File

@@ -397,7 +397,7 @@ void CTextBox::refreshTextLineArray(void)
aktWord = m_cText.substr(pos_prev, pos - pos_prev + 1);
//calculate length of current found word
aktWordWidth = m_pcFontText->getRenderWidth(aktWord);
aktWordWidth = m_pcFontText->getRenderWidth(aktWord, m_utf8_encoded);
//set next start pos
pos_prev = pos + 1;
@@ -640,10 +640,10 @@ void CTextBox::refreshText(void)
{
//calculate centered xpos
if( m_nMode & CENTER ){
x_center = ((m_cFrameTextRel.iWidth - m_pcFontText->getRenderWidth(m_cLineArray[i]))>>1) - text_Hborder_width;
x_center = ((m_cFrameTextRel.iWidth - m_pcFontText->getRenderWidth(m_cLineArray[i]))>>1, m_utf8_encoded) - text_Hborder_width;
}
else if ( m_nMode & RIGHT ){
x_center = ((m_cFrameTextRel.iWidth - m_pcFontText->getRenderWidth(m_cLineArray[i])) - text_Hborder_width*2);
x_center = ((m_cFrameTextRel.iWidth - m_pcFontText->getRenderWidth(m_cLineArray[i]), m_utf8_encoded) - text_Hborder_width*2);
if ( m_nMode & SCROLL )
x_center -= SCROLL_FRAME_WIDTH;
}