all repos — openbox @ d2df40965bbf042e062b65d6adc12bc158d503eb

openbox fork - make it a bit more like ryudo

otk/label.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
// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
#ifndef __label_hh
#define __label_hh

#include "widget.hh"

namespace otk {

class Label : public Widget {

public:

  Label(Widget *parent);
  ~Label();

  inline const ustring &getText(void) const { return _text; }
  void setText(const ustring &text) { _text = text; _dirty = true; }

  virtual void renderForeground(void);

  virtual void update();

  void fitString(const std::string &str);
  void fitSize(int w, int h);

  virtual void setStyle(RenderStyle *style);

private:
  //! Text to be displayed in the label
  ustring _text;
  //! The actual text being shown, may be a subset of _text
  ustring _drawtext;
  //! The drawing offset for the text
  int _drawx;
};

}

#endif