otk/button.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 47 48 49 50 51 52 |
// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- #ifndef __button_hh #define __button_hh #include "focuslabel.hh" namespace otk { class Button : public FocusLabel { public: Button(Widget *parent); ~Button(); inline const RenderTexture *getPressedFocusTexture(void) const { return _pressed_focus_tx; } void setPressedFocusTexture(RenderTexture *texture) { _pressed_focus_tx = texture; } inline const RenderTexture *getPressedUnfocusTexture(void) const { return _pressed_unfocus_tx; } void setPressedUnfocusTexture(RenderTexture *texture) { _pressed_unfocus_tx = texture; } void setTexture(RenderTexture *texture); void setUnfocusTexture(RenderTexture *texture); inline bool isPressed(void) const { return _pressed; } void press(unsigned int mouse_button); void release(unsigned int mouse_button); void buttonPressHandler(const XButtonEvent &e); void buttonReleaseHandler(const XButtonEvent &e); virtual void setStyle(RenderStyle *style); private: bool _pressed; unsigned int _mouse_button; RenderTexture *_pressed_focus_tx; RenderTexture *_pressed_unfocus_tx; RenderTexture *_unpr_focus_tx; RenderTexture *_unpr_unfocus_tx; }; } #endif |