From 96da2f95b8e08f8c183a6f1e825681a28e432498 Mon Sep 17 00:00:00 2001 From: FlatTV Date: Thu, 6 Jun 2013 22:08:46 +0200 Subject: [PATCH] - CComponentsText: add possibility to set a text border --- src/gui/components/cc_item_text.cpp | 3 ++- src/gui/components/cc_item_text.h | 4 ++++ src/gui/widget/textbox.cpp | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/gui/components/cc_item_text.cpp b/src/gui/components/cc_item_text.cpp index 7b2d1f67f..e9471a9a5 100644 --- a/src/gui/components/cc_item_text.cpp +++ b/src/gui/components/cc_item_text.cpp @@ -93,6 +93,7 @@ void CComponentsText::initVarText() ct_text = ""; ct_old_text = ct_text; ct_text_mode = CTextBox::AUTO_WIDTH; + ct_text_border = 1; ct_col_text = COL_MENUCONTENT; ct_text_sent = false; ct_paint_textbg = false; @@ -129,7 +130,7 @@ void CComponentsText::initCCText() ct_textbox->setTextFont(ct_font); ct_textbox->setTextMode(ct_text_mode); ct_textbox->setWindowPos(ct_box); - ct_textbox->setTextBorderWidth(0); + ct_textbox->setTextBorderWidth(ct_text_border); ct_textbox->enableBackgroundPaint(ct_paint_textbg); ct_textbox->setBackGroundColor(col_body); ct_textbox->setBackGroundRadius(corner_rad-fr_thickness, corner_type); diff --git a/src/gui/components/cc_item_text.h b/src/gui/components/cc_item_text.h index 2e11ceef8..88c0be7c3 100644 --- a/src/gui/components/cc_item_text.h +++ b/src/gui/components/cc_item_text.h @@ -52,6 +52,8 @@ class CComponentsText : public CComponentsItem fb_pixel_t ct_col_text; ///property: text display modes, see textbox.h for possible modes int ct_text_mode; + ///property: text border width + int ct_text_border; ///property: current text string std::string ct_text; ///status: cached text string, mainly required to compare with current text @@ -98,6 +100,8 @@ class CComponentsText : public CComponentsItem virtual inline void setTextColor(fb_pixel_t color_text){ ct_col_text = color_text;}; ///set text alignment, also see textbox.h for possible alignment modes virtual inline void setTextMode(const int mode){ct_text_mode = mode;}; + ///set text border width + virtual inline void setTextBorderWidth(const int border){ct_text_border = border;}; ///send option to CTextBox object to paint background box behind text or not virtual inline void doPaintTextBoxBg(bool do_paintbox_bg){ ct_paint_textbg = do_paintbox_bg;}; diff --git a/src/gui/widget/textbox.cpp b/src/gui/widget/textbox.cpp index 57218ba6e..cba6e25ff 100644 --- a/src/gui/widget/textbox.cpp +++ b/src/gui/widget/textbox.cpp @@ -353,8 +353,8 @@ void CTextBox::refreshTextLineArray(void) lineBreakWidth = std::max(m_nMaxWidth, m_cFrameTextRel.iWidth - 2*text_border_width); } - if(m_nMaxTextWidth) - lineBreakWidth = m_nMaxTextWidth; + if(m_nMaxTextWidth) + lineBreakWidth = m_nMaxTextWidth - 2*text_border_width; //TRACE("[CTextBox] line %d: lineBreakWidth %d\n", __LINE__, lineBreakWidth);