Add a weston_pointer_axis_event

Use an event struct to pass axis events around. This helps dealing with the
upcoming axis discrete changes.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
diff --git a/src/input.c b/src/input.c
index f5bb54e..9382bb1 100644
--- a/src/input.c
+++ b/src/input.c
@@ -333,7 +333,8 @@
  */
 WL_EXPORT void
 weston_pointer_send_axis(struct weston_pointer *pointer,
-			 uint32_t time, uint32_t axis, wl_fixed_t value)
+			 uint32_t time,
+			 struct weston_pointer_axis_event *event)
 {
 	struct wl_resource *resource;
 	struct wl_list *resource_list;
@@ -343,14 +344,16 @@
 
 	resource_list = &pointer->focus_client->pointer_resources;
 	wl_resource_for_each(resource, resource_list)
-		wl_pointer_send_axis(resource, time, axis, value);
+		wl_pointer_send_axis(resource, time,
+				     event->axis, event->value);
 }
 
 static void
 default_grab_pointer_axis(struct weston_pointer_grab *grab,
-			  uint32_t time, uint32_t axis, wl_fixed_t value)
+			  uint32_t time,
+			  struct weston_pointer_axis_event *event)
 {
-	weston_pointer_send_axis(grab->pointer, time, axis, value);
+	weston_pointer_send_axis(grab->pointer, time, event);
 }
 
 static void
@@ -1266,22 +1269,22 @@
 }
 
 WL_EXPORT void
-notify_axis(struct weston_seat *seat, uint32_t time, uint32_t axis,
-	    wl_fixed_t value)
+notify_axis(struct weston_seat *seat, uint32_t time,
+	    struct weston_pointer_axis_event *event)
 {
 	struct weston_compositor *compositor = seat->compositor;
 	struct weston_pointer *pointer = weston_seat_get_pointer(seat);
 
 	weston_compositor_wake(compositor);
 
-	if (!value)
+	if (!event->value)
 		return;
 
 	if (weston_compositor_run_axis_binding(compositor, pointer,
-					       time, axis, value))
+					       time, event))
 		return;
 
-	pointer->grab->interface->axis(pointer->grab, time, axis, value);
+	pointer->grab->interface->axis(pointer->grab, time, event);
 }
 
 WL_EXPORT int