X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d63d2c3c6cbbd574dda4f8b00ebe6c661735edd5..264a9475f5b02bef1e58d5f39d095277ffbda35b:/lib/gui/elabel.h diff --git a/lib/gui/elabel.h b/lib/gui/elabel.h index e69de29b..84995ecc 100644 --- a/lib/gui/elabel.h +++ b/lib/gui/elabel.h @@ -0,0 +1,56 @@ +#ifndef __lib_gui_elabel_h +#define __lib_gui_elabel_h + +#include + +class eLabel: public eWidget +{ +public: + eLabel(eWidget *parent, int markedPos = -1); + void setText(const std::string &string); + void setMarkedPos(int markedPos); + void setFont(gFont *font); + gFont* getFont(); + + enum + { + alignLeft, + alignTop=alignLeft, + alignCenter, + alignRight, + alignBottom=alignRight, + alignBlock + }; + + void setVAlign(int align); + void setHAlign(int align); + + void setForegroundColor(const gRGB &col); + void setShadowColor(const gRGB &col); + void setShadowOffset(const ePoint &offset); + void setNoWrap(int nowrap); + void clearForegroundColor(); + + eSize calculateSize(); +protected: + ePtr m_font; + int m_valign, m_halign; + std::string m_text; + int event(int event, void *data=0, void *data2=0); + int m_pos; +private: + int m_have_foreground_color, m_have_shadow_color; + gRGB m_foreground_color, m_shadow_color; + ePoint m_shadow_offset; + int m_nowrap; + + enum eLabelEvent + { + evtChangedText = evtUserWidget, + evtChangedFont, + evtChangedAlignment, + evtChangedMarkedPos + }; +}; + +#endif