X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fwidget.cpp;h=b10b6b560d8226cd9e1ddd68cef905e7189cc0bf;hb=2accd84fb2f8cc96efea8b3f27e381c2d2749160;hp=643331602b16069863d03e905bb17f455a12f695;hpb=4ab33a06c9f8a85b193d7db8bc6ee9b8895aab09;p=libs%2Fgltk.git diff --git a/source/widget.cpp b/source/widget.cpp index 6433316..b10b6b5 100644 --- a/source/widget.cpp +++ b/source/widget.cpp @@ -134,6 +134,11 @@ void Widget::set_focus() signal_request_focus.emit(); } +void Widget::set_state(State mask, State bits) +{ + state = (state&~mask)|bits; +} + void Widget::render() const { if(!style) @@ -157,22 +162,22 @@ void Widget::render() const void Widget::pointer_enter() { - state |= HOVER; + set_state(HOVER); } void Widget::pointer_leave() { - state &= ~HOVER; + clear_state(HOVER); } void Widget::focus_in() { - state |= FOCUS; + set_state(FOCUS); } void Widget::focus_out() { - state &= ~FOCUS; + clear_state(FOCUS); }