// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- #ifndef __button_hh #define __button_hh #include "label.hh" namespace otk { class Button : public Label { public: Button(Widget *parent); virtual ~Button(); virtual inline bool isPressed() const { return _pressed; } virtual void press(unsigned int mouse_button); virtual void release(unsigned int mouse_button); virtual void buttonPressHandler(const XButtonEvent &e); virtual void buttonReleaseHandler(const XButtonEvent &e); virtual void clickHandler(unsigned int button) {(void)button;} virtual void styleChanged(const RenderStyle &style); private: bool _pressed; unsigned int _mouse_button; }; } #endif