Support axis source, axis discrete, frame and axis stop events
[jonas: only send focus wl_pointer.frame if resource supports it]
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
diff --git a/clients/window.h b/clients/window.h
index b92d10c..ba843cc 100644
--- a/clients/window.h
+++ b/clients/window.h
@@ -267,6 +267,27 @@
wl_fixed_t value,
void *data);
+typedef void (*widget_pointer_frame_handler_t)(struct widget *widget,
+ struct input *input,
+ void *data);
+
+typedef void (*widget_axis_source_handler_t)(struct widget *widget,
+ struct input *input,
+ uint32_t source,
+ void *data);
+
+typedef void (*widget_axis_stop_handler_t)(struct widget *widget,
+ struct input *input,
+ uint32_t time,
+ uint32_t axis,
+ void *data);
+
+typedef void (*widget_axis_discrete_handler_t)(struct widget *widget,
+ struct input *input,
+ uint32_t axis,
+ int32_t discrete,
+ void *data);
+
struct window *
window_create(struct display *display);
struct window *
@@ -516,6 +537,16 @@
widget_set_axis_handler(struct widget *widget,
widget_axis_handler_t handler);
void
+widget_set_pointer_frame_handler(struct widget *widget,
+ widget_pointer_frame_handler_t handler);
+void
+widget_set_axis_handlers(struct widget *widget,
+ widget_axis_handler_t axis_handler,
+ widget_axis_source_handler_t axis_source_handler,
+ widget_axis_stop_handler_t axis_stop_handler,
+ widget_axis_discrete_handler_t axis_discrete_handler);
+
+void
widget_schedule_redraw(struct widget *widget);
void
widget_set_use_cairo(struct widget *widget, int use_cairo);