}
}
-void Button::pointer_leave()
+void Button::pointer_motion(int x, int y)
{
- Widget::pointer_leave();
- state&=~ACTIVE;
+ if(pressed)
+ {
+ if(!geom.is_inside_relative(x, y))
+ state&=~ACTIVE;
+ else
+ state|=ACTIVE;
+ }
}
void Button::render_special(const Part &part) const