all repos — openbox @ ff3bb7566b76ff28e72e64054908145854b4454d

openbox fork - make it a bit more like ryudo

src/labelwidget.hh (raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
#ifndef   __oblabelwidget_hh
#define   __oblabelwidget_hh

#include "widgetbase.hh"
#include "otk/widget.hh"
#include "otk/font.hh"
#include "otk/renderstyle.hh"
#include "otk/ustring.hh"

namespace ob {

class LabelWidget : public otk::Widget, public WidgetBase
{
private:
  void setTextures();
  const otk::Font *_font;
  otk::RenderColor *_text_color;
  int _sidemargin;
  otk::RenderStyle::TextJustify _justify;
  otk::ustring _text;
  
public:
  LabelWidget(otk::Widget *parent, WidgetBase::WidgetType type);
  virtual ~LabelWidget();

  virtual void setStyle(otk::RenderStyle *style);

  virtual void adjust();

  virtual void focus();
  virtual void unfocus();

  virtual void renderForeground();

  inline const otk::ustring &text() const { return _text; }
  void setText(const otk::ustring &text);
};

}

#endif // __oblabelwidget_hh