1 #include <lib/gui/elabel.h>
3 eLabel::eLabel(eWidget *parent): eWidget(parent)
5 ePtr<eWindowStyle> style;
8 style->getFont(eWindowStyle::fontStatic, m_font);
10 /* default to topleft alignment */
15 int eLabel::event(int event, void *data, void *data2)
21 ePtr<eWindowStyle> style;
25 eWidget::event(event, data, data2);
27 gPainter &painter = *(gPainter*)data2;
28 painter.setFont(m_font);
29 style->setStyle(painter, eWindowStyle::styleLabel);
32 if (m_valign == alignTop)
33 flags |= gPainter::RT_VALIGN_TOP;
34 else if (m_valign == alignCenter)
35 flags |= gPainter::RT_VALIGN_CENTER;
36 else if (m_valign == alignBottom)
37 flags |= gPainter::RT_VALIGN_BOTTOM;
39 if (m_halign == alignLeft)
40 flags |= gPainter::RT_HALIGN_LEFT;
41 else if (m_halign == alignCenter)
42 flags |= gPainter::RT_HALIGN_CENTER;
43 else if (m_halign == alignRight)
44 flags |= gPainter::RT_HALIGN_RIGHT;
45 else if (m_halign == alignBlock)
46 flags |= gPainter::RT_HALIGN_BLOCK;
48 flags |= gPainter::RT_WRAP;
49 painter.renderText(eRect(0, 0, size().width(), size().height()), m_text, flags);
55 case evtChangedAlignment:
59 return eWidget::event(event, data, data2);
63 void eLabel::setText(const std::string &string)
68 event(evtChangedText);
71 void eLabel::setFont(gFont *font)
74 event(evtChangedFont);
77 void eLabel::setVAlign(int align)
80 event(evtChangedAlignment);
83 void eLabel::setHAlign(int align)
86 event(evtChangedAlignment);