mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-29 16:31:11 +02:00
*CTextbox: add text align option RIGHT
This supports paint of text on the right side of frame and also considers scroll bar width.
This commit is contained in:
@@ -502,6 +502,7 @@ void CTextBox::refreshText(void)
|
|||||||
if( m_nNrOfLines <= 0)
|
if( m_nNrOfLines <= 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
||||||
int y = m_cFrameTextRel.iY + text_border_width;
|
int y = m_cFrameTextRel.iY + text_border_width;
|
||||||
int i;
|
int i;
|
||||||
int x_center = 0;
|
int x_center = 0;
|
||||||
@@ -518,8 +519,14 @@ void CTextBox::refreshText(void)
|
|||||||
{
|
{
|
||||||
|
|
||||||
//calculate centered xpos
|
//calculate centered xpos
|
||||||
if( m_nMode & CENTER )
|
if( m_nMode & CENTER ){
|
||||||
x_center = (m_cFrameTextRel.iWidth - m_pcFontText->getRenderWidth(m_cLineArray[i], true))>>1;
|
x_center = (m_cFrameTextRel.iWidth - m_pcFontText->getRenderWidth(m_cLineArray[i], true))>>1;
|
||||||
|
}
|
||||||
|
else if ( m_nMode & RIGHT ){
|
||||||
|
x_center = (m_cFrameTextRel.iWidth - m_pcFontText->getRenderWidth(m_cLineArray[i], true));
|
||||||
|
if ( m_nMode & SCROLL )
|
||||||
|
x_center -= SCROLL_FRAME_WIDTH;
|
||||||
|
}
|
||||||
|
|
||||||
m_pcFontText->RenderString(m_cFrameTextRel.iX + text_border_width + x_center+m_cFrame.iX,
|
m_pcFontText->RenderString(m_cFrameTextRel.iX + text_border_width + x_center+m_cFrame.iX,
|
||||||
y+m_cFrame.iY, m_cFrameTextRel.iWidth, m_cLineArray[i].c_str(),
|
y+m_cFrame.iY, m_cFrameTextRel.iWidth, m_cLineArray[i].c_str(),
|
||||||
|
@@ -93,6 +93,7 @@ class CTextBox
|
|||||||
AUTO_HIGH = 0x02, //auto adapt frame height to max height, text is painted with auto linebreak
|
AUTO_HIGH = 0x02, //auto adapt frame height to max height, text is painted with auto linebreak
|
||||||
SCROLL = 0x04, //frame box contains scrollbars on long text
|
SCROLL = 0x04, //frame box contains scrollbars on long text
|
||||||
CENTER = 0x40, //paint text centered
|
CENTER = 0x40, //paint text centered
|
||||||
|
RIGHT = 0x100, //paint text right
|
||||||
NO_AUTO_LINEBREAK = 0x80 //paint text without auto linebreak, cutting text
|
NO_AUTO_LINEBREAK = 0x80 //paint text without auto linebreak, cutting text
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user