window: Add a widget motion handler
diff --git a/clients/window.c b/clients/window.c
index e838a37..4f437cf 100644
--- a/clients/window.c
+++ b/clients/window.c
@@ -152,6 +152,7 @@
struct rectangle allocation;
widget_enter_handler_t enter_handler;
widget_leave_handler_t leave_handler;
+ widget_motion_handler_t motion_handler;
void *user_data;
};
@@ -1114,6 +1115,13 @@
}
void
+widget_set_motion_handler(struct widget *widget,
+ widget_motion_handler_t handler)
+{
+ widget->motion_handler = handler;
+}
+
+void
widget_schedule_redraw(struct widget *widget)
{
window_schedule_redraw(widget->window);
@@ -1286,6 +1294,10 @@
window_set_focus_widget(window, widget, input, time, sx, sy);
}
+ widget = window->focus_widget;
+ if (widget && widget->motion_handler)
+ pointer = widget->motion_handler(widget, input, time, sx, sy,
+ widget->user_data);
if (window->motion_handler)
pointer = (*window->motion_handler)(window, input, time,
x, y, sx, sy,