summaryrefslogtreecommitdiff
path: root/ivi-shell/hmi-controller.c
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2014-10-05 21:39:14 +0200
committerJonas Ådahl <jadahl@gmail.com>2015-11-20 11:44:56 +0800
commitd2510105a6e411790f3d5bd3acd1e0d0e295ff06 (patch)
tree69857f69085216be3028c0a60ef8c9ac5d2a26d6 /ivi-shell/hmi-controller.c
parent870fadced3f19659b60574888432b79713776097 (diff)
downloadweston-d2510105a6e411790f3d5bd3acd1e0d0e295ff06.tar.gz
input: Make pointer grab motion callbacks take an event struct
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 <jadahl@gmail.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Diffstat (limited to 'ivi-shell/hmi-controller.c')
-rw-r--r--ivi-shell/hmi-controller.c8
1 files changed, 5 insertions, 3 deletions
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