all repos — openbox @ 5869cc29ef15181427e65079d9a52c5d21190206

openbox fork - make it a bit more like ryudo

otk/focuswidget.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
43
44
45
46
#ifndef __focuswidget_hh
#define __focuswidget_hh

#include "widget.hh"
#include "application.hh"

namespace otk {

class OtkFocusWidget : public OtkWidget {

public:

  OtkFocusWidget(otk::OtkWidget *parent, Direction = Horizontal);
  virtual ~OtkFocusWidget();

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

  virtual void setTexture(otk::BTexture *texture);
  virtual void setBorderColor(const otk::BColor *color);

  inline void setUnfocusTexture(otk::BTexture *texture)
  { _unfocus_texture = texture; }
  inline otk::BTexture *getUnfocusTexture(void) const
  { return _unfocus_texture; }

  inline void setUnfocusBorderColor(const otk::BColor *color)
  { _unfocus_bcolor = color; }
  inline const otk::BColor *getUnfocusBorderColor(void) const
  { return _unfocus_bcolor; }

  inline bool isFocused(void) const { return _focused; }
  inline bool isUnfocused(void) const { return !_focused; }

private:

  BTexture *_unfocus_texture;
  BTexture *_focus_texture;

  const BColor *_unfocus_bcolor;
  const BColor *_focus_bcolor;
};

}

#endif // __focuswidget_hh