1 // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
9 Button::Button(Widget *parent)
13 setHorizontalJustify(RenderStyle::CenterJustify);
14 setVerticalJustify(RenderStyle::CenterJustify);
15 styleChanged(*RenderStyle::style(screen()));
22 void Button::press(unsigned int mouse_button)
27 _mouse_button = mouse_button;
29 styleChanged(*RenderStyle::style(screen()));
33 void Button::release(unsigned int mouse_button)
35 if (!_pressed || _mouse_button != mouse_button) return; // wrong button
39 styleChanged(*RenderStyle::style(screen()));
43 void Button::buttonPressHandler(const XButtonEvent &e)
45 Widget::buttonPressHandler(e);
49 void Button::buttonReleaseHandler(const XButtonEvent &e)
51 Widget::buttonReleaseHandler(e);
55 void Button::styleChanged(const RenderStyle &style)
57 if (isHighlighted()) {
59 _texture = style.buttonPressFocusBackground();
61 _texture = style.buttonUnpressFocusBackground();
62 _forecolor = style.buttonFocusColor();
65 _texture = style.buttonPressUnfocusBackground();
67 _texture = style.buttonUnpressUnfocusBackground();
68 _forecolor = style.buttonUnfocusColor();