X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/bfc023a5a054c215c0b61bc86746e718d3aa0df9..3e35c703607b5f135828fa5efe2beee669c7a4c2:/lib/gui/elabel.cpp diff --git a/lib/gui/elabel.cpp b/lib/gui/elabel.cpp index 591b725a..f64adb2d 100644 --- a/lib/gui/elabel.cpp +++ b/lib/gui/elabel.cpp @@ -36,8 +36,17 @@ int eLabel::event(int event, void *data, void *data2) style->setStyle(painter, eWindowStyle::styleLabel); ePtr para = new eTextPara(eRect(0, 0, size().width(), size().height())); para->setFont(m_font); - para->renderString(m_text, 0); - para->realign(eTextPara::dirLeft); + para->renderString(m_text.empty()?0:m_text.c_str(), 0); + + if (m_halign == alignLeft) + para->realign(eTextPara::dirLeft); + else if (m_halign == alignCenter) + para->realign(eTextPara::dirCenter); + else if (m_halign == alignRight) + para->realign(eTextPara::dirRight); + else if (m_halign == alignBlock) + para->realign(eTextPara::dirBlock); + int glyphs = para->size(); if ((m_pos < 0) || (m_pos >= glyphs)) @@ -185,7 +194,7 @@ eSize eLabel::calculateSize() ePtr p = new eTextPara(eRect(0, 0, size().width(), size().height())); p->setFont(m_font); - p->renderString(m_text, RS_WRAP); + p->renderString(m_text.empty()?0:m_text.c_str(), RS_WRAP); eRect bbox = p->getBoundBox(); return bbox.size();