From d2510105a6e411790f3d5bd3acd1e0d0e295ff06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Sun, 5 Oct 2014 21:39:14 +0200 Subject: input: Make pointer grab motion callbacks take an event struct MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Instead of only passing absolute pointer coordinates, effectively loosing motion event data, pass a struct that can potentially contain different types of motion events, currently being absolute and relative. A helper function to get resulting absolute coordinates was added for when previous callbacks simply used the (x, y) coordinates. Signed-off-by: Jonas Ã…dahl Reviewed-by: Peter Hutterer Reviewed-by: Derek Foreman --- ivi-shell/hmi-controller.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'ivi-shell/hmi-controller.c') diff --git a/ivi-shell/hmi-controller.c b/ivi-shell/hmi-controller.c index 633ea19f..e10f4ff5 100644 --- a/ivi-shell/hmi-controller.c +++ b/ivi-shell/hmi-controller.c @@ -1380,16 +1380,18 @@ layer_set_pos(struct ivi_layout_layer *layer, wl_fixed_t pos_x, static void pointer_move_grab_motion(struct weston_pointer_grab *grab, uint32_t time, - wl_fixed_t x, wl_fixed_t y) + struct weston_pointer_motion_event *event) { struct pointer_move_grab *pnt_move_grab = (struct pointer_move_grab *)grab; - wl_fixed_t pointer_pos[2] = {x, y}; + wl_fixed_t pointer_pos[2]; + weston_pointer_motion_to_abs(grab->pointer, event, + &pointer_pos[0], &pointer_pos[1]); move_grab_update(&pnt_move_grab->move, pointer_pos); layer_set_pos(pnt_move_grab->base.layer, pnt_move_grab->move.pos[0], pnt_move_grab->move.pos[1]); - weston_pointer_move(pnt_move_grab->base.grab.pointer, x, y); + weston_pointer_move(pnt_move_grab->base.grab.pointer, event); } static void -- cgit v1.2.1