openATV enigma2
openATV is an open source SetTopBox Graphical user interface.
elabel.h
Go to the documentation of this file.
1 #ifndef __lib_gui_elabel_h
2 #define __lib_gui_elabel_h
3 
4 #include <lib/gui/ewidget.h>
5 
6 class eLabel: public eWidget
7 {
8 public:
9  eLabel(eWidget *parent, int markedPos = -1);
10  void setText(const std::string &string);
11  void setMarkedPos(int markedPos);
12  void setFont(gFont *font);
13  gFont* getFont();
14 
15  enum
16  {
23  alignBidi
24  };
25 
26  void setVAlign(int align);
27  void setHAlign(int align);
28 
29  void setForegroundColor(const gRGB &col);
30  void setShadowColor(const gRGB &col);
31  void setShadowOffset(const ePoint &offset);
32  void setBorderColor(const gRGB &col);
33  void setBorderWidth(int size);
34  void setNoWrap(int nowrap);
35  void clearForegroundColor();
36  int getNoWrap() { return m_nowrap; }
37  void setTextPadding(const eRect &padding) { m_padding = padding;}
38 
40  static eSize calculateTextSize(gFont* font, const std::string &string, eSize targetSize, bool nowrap = false);
41 protected:
44  std::string m_text;
45  int event(int event, void *data=0, void *data2=0);
46  int m_pos;
48 private:
49  int m_have_foreground_color, m_have_shadow_color;
50  gRGB m_foreground_color, m_shadow_color, m_border_color;
51  ePoint m_shadow_offset;
52  eRect m_padding = eRect(0,0,0,0);
53  int m_border_size;
54  int m_nowrap;
55 
56  enum eLabelEvent
57  {
58  evtChangedText = evtUserWidget,
59  evtChangedFont,
60  evtChangedAlignment,
61  evtChangedMarkedPos
62  };
63 };
64 
65 #endif
Definition: elabel.h:7
void setMarkedPos(int markedPos)
Definition: elabel.cpp:109
int getNoWrap()
Definition: elabel.h:36
int m_text_offset
Definition: elabel.h:47
void setShadowColor(const gRGB &col)
Definition: elabel.cpp:148
@ alignBlock
Definition: elabel.h:22
@ alignCenter
Definition: elabel.h:19
@ alignRight
Definition: elabel.h:20
@ alignBidi
Definition: elabel.h:23
@ alignLeft
Definition: elabel.h:17
@ alignBottom
Definition: elabel.h:21
@ alignTop
Definition: elabel.h:18
void setForegroundColor(const gRGB &col)
Definition: elabel.cpp:138
eLabel(eWidget *parent, int markedPos=-1)
Definition: elabel.cpp:4
void setVAlign(int align)
Definition: elabel.cpp:126
int event(int event, void *data=0, void *data2=0)
Definition: elabel.cpp:25
void setTextPadding(const eRect &padding)
Definition: elabel.h:37
void setHAlign(int align)
Definition: elabel.cpp:132
static eSize calculateTextSize(gFont *font, const std::string &string, eSize targetSize, bool nowrap=false)
Definition: elabel.cpp:200
gFont * getFont()
Definition: elabel.cpp:121
void clearForegroundColor()
Definition: elabel.cpp:186
void setShadowOffset(const ePoint &offset)
Definition: elabel.cpp:158
int m_pos
Definition: elabel.h:46
void setBorderColor(const gRGB &col)
Definition: elabel.cpp:163
void setBorderWidth(int size)
Definition: elabel.cpp:172
void setText(const std::string &string)
Definition: elabel.cpp:101
void setFont(gFont *font)
Definition: elabel.cpp:115
int m_valign
Definition: elabel.h:43
void setNoWrap(int nowrap)
Definition: elabel.cpp:177
std::string m_text
Definition: elabel.h:44
ePtr< gFont > m_font
Definition: elabel.h:42
eSize calculateSize()
Definition: elabel.cpp:195
int m_halign
Definition: elabel.h:43
Definition: epoint.h:9
Definition: erect.h:11
Definition: esize.h:8
Definition: ewidget.h:14
eSize size() const
Definition: ewidget.h:24
@ evtUserWidget
Definition: ewidget.h:126
A softreference to a font.
Definition: gfont.h:14
static long long align(long long x, int align)
Definition: dvb.cpp:2135
fontRenderClass * font
unsigned char data[256]
Definition: hdmi_cec.h:2
Definition: gpixmap.h:14