Use wl_fixed_t for axis bindings
authorDaniel Stone <daniel@fooishbar.org>
Wed, 30 May 2012 15:31:59 +0000 (16:31 +0100)
committerKristian Høgsberg <krh@bitplanet.net>
Thu, 31 May 2012 19:45:20 +0000 (15:45 -0400)
In preparation for axis values being wl_fixed_t in the protocol as well.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
src/compositor.c
src/compositor.h
src/shell.c
src/util.c

index faa0619..037c2c0 100644 (file)
@@ -1722,7 +1722,7 @@ notify_axis(struct wl_seat *seat, uint32_t time, uint32_t axis,
 
        if (value)
                weston_compositor_run_axis_binding(compositor, ws, time, axis,
-                                                  wl_fixed_to_int(value));
+                                                  value);
        else
                return;
 
index b0cca43..45ebedd 100644 (file)
@@ -549,7 +549,7 @@ weston_compositor_add_button_binding(struct weston_compositor *compositor,
 
 typedef void (*weston_axis_binding_handler_t)(struct wl_seat *seat,
                                              uint32_t time, uint32_t axis,
-                                             int32_t value, void *data);
+                                             wl_fixed_t value, void *data);
 struct weston_binding *
 weston_compositor_add_axis_binding(struct weston_compositor *compositor,
                                   uint32_t axis,
index fc7f48f..40e84b6 100644 (file)
@@ -1617,7 +1617,7 @@ resize_binding(struct wl_seat *seat, uint32_t time, uint32_t button, void *data)
 
 static void
 surface_opacity_binding(struct wl_seat *seat, uint32_t time, uint32_t axis,
-                       int32_t value, void *data)
+                       wl_fixed_t value, void *data)
 {
        float step = 0.05;
        struct shell_surface *shsurf;
@@ -1639,7 +1639,7 @@ surface_opacity_binding(struct wl_seat *seat, uint32_t time, uint32_t axis,
                        break;
        }
 
-       surface->alpha += value * step;
+       surface->alpha += wl_fixed_to_double(value) * step;
 
        if (surface->alpha > 1.0)
                surface->alpha = 1.0;
@@ -1652,7 +1652,7 @@ surface_opacity_binding(struct wl_seat *seat, uint32_t time, uint32_t axis,
 
 static void
 do_zoom(struct wl_seat *seat, uint32_t time, uint32_t key, uint32_t axis,
-       int32_t value)
+       wl_fixed_t value)
 {
        struct weston_seat *ws = (struct weston_seat *) seat;
        struct weston_compositor *compositor = ws->compositor;
@@ -1669,7 +1669,8 @@ do_zoom(struct wl_seat *seat, uint32_t time, uint32_t key, uint32_t axis,
                        else if (key == KEY_PAGEDOWN)
                                increment = -output->zoom.increment;
                        else if (axis == WL_POINTER_AXIS_VERTICAL_SCROLL)
-                               increment = output->zoom.increment * value;
+                               increment = output->zoom.increment *
+                                           wl_fixed_to_double(value);
                        else
                                increment = 0;
 
@@ -1696,7 +1697,7 @@ do_zoom(struct wl_seat *seat, uint32_t time, uint32_t key, uint32_t axis,
 
 static void
 zoom_axis_binding(struct wl_seat *seat, uint32_t time, uint32_t axis,
-                 int32_t value, void *data)
+                 wl_fixed_t value, void *data)
 {
        do_zoom(seat, time, 0, axis, value);
 }
index bde4987..3d28f8f 100644 (file)
@@ -405,7 +405,7 @@ WL_EXPORT void
 weston_compositor_run_axis_binding(struct weston_compositor *compositor,
                                   struct weston_seat *seat,
                                   uint32_t time, uint32_t axis,
-                                  int32_t value)
+                                  wl_fixed_t value)
 {
        struct weston_binding *b;