diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2015-04-30 16:45:41 -0500 |
---|---|---|
committer | Daniel Stone <daniels@collabora.com> | 2015-05-01 12:42:52 +0100 |
commit | 4c93c086799ed678844efd9c5eba1e96039c1547 (patch) | |
tree | f7408ea52cdb4b5670697f7e0b47fb46a19c6484 | |
parent | ca79076b03459db80f8f9470fb2d636c01e37953 (diff) |
touch: Make weston_touch_set_focus() take a touch instead of a seat
The other set_focus() functions take the relevant type instead of a seat
already, so this is consistent.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
-rw-r--r-- | desktop-shell/shell.c | 2 | ||||
-rw-r--r-- | src/compositor.c | 2 | ||||
-rw-r--r-- | src/compositor.h | 2 | ||||
-rw-r--r-- | src/input.c | 40 |
4 files changed, 23 insertions, 23 deletions
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index 96aa8f37..5f54dea0 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -543,7 +543,7 @@ shell_touch_grab_start(struct shell_touch_grab *grab, weston_touch_start_grab(touch, &grab->grab); if (shell->child.desktop_shell) - weston_touch_set_focus(touch->seat, + weston_touch_set_focus(touch, get_default_view(shell->grab_surface)); } diff --git a/src/compositor.c b/src/compositor.c index 1c062651..698ee520 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -1814,7 +1814,7 @@ weston_view_unmap(struct weston_view *view) wl_fixed_from_int(0), wl_fixed_from_int(0)); if (seat->touch && seat->touch->focus == view) - weston_touch_set_focus(seat, NULL); + weston_touch_set_focus(seat->touch, NULL); } } diff --git a/src/compositor.h b/src/compositor.h index 31ef5c7b..20109d7c 100644 --- a/src/compositor.h +++ b/src/compositor.h @@ -418,7 +418,7 @@ weston_touch_create(void); void weston_touch_destroy(struct weston_touch *touch); void -weston_touch_set_focus(struct weston_seat *seat, +weston_touch_set_focus(struct weston_touch *touch, struct weston_view *view); void weston_touch_start_grab(struct weston_touch *device, diff --git a/src/input.c b/src/input.c index 142c6708..6604c5d1 100644 --- a/src/input.c +++ b/src/input.c @@ -108,7 +108,7 @@ touch_focus_view_destroyed(struct wl_listener *listener, void *data) container_of(listener, struct weston_touch, focus_view_listener); - weston_touch_set_focus(touch->seat, NULL); + weston_touch_set_focus(touch, NULL); } static void @@ -118,7 +118,7 @@ touch_focus_resource_destroyed(struct wl_listener *listener, void *data) container_of(listener, struct weston_touch, focus_resource_listener); - weston_touch_set_focus(touch->seat, NULL); + weston_touch_set_focus(touch, NULL); } static void @@ -1449,25 +1449,25 @@ notify_keyboard_focus_out(struct weston_seat *seat) } WL_EXPORT void -weston_touch_set_focus(struct weston_seat *seat, struct weston_view *view) +weston_touch_set_focus(struct weston_touch *touch, struct weston_view *view) { struct wl_list *focus_resource_list; - focus_resource_list = &seat->touch->focus_resource_list; + focus_resource_list = &touch->focus_resource_list; - if (view && seat->touch->focus && - seat->touch->focus->surface == view->surface) { - seat->touch->focus = view; + if (view && touch->focus && + touch->focus->surface == view->surface) { + touch->focus = view; return; } - wl_list_remove(&seat->touch->focus_resource_listener.link); - wl_list_init(&seat->touch->focus_resource_listener.link); - wl_list_remove(&seat->touch->focus_view_listener.link); - wl_list_init(&seat->touch->focus_view_listener.link); + wl_list_remove(&touch->focus_resource_listener.link); + wl_list_init(&touch->focus_resource_listener.link); + wl_list_remove(&touch->focus_view_listener.link); + wl_list_init(&touch->focus_view_listener.link); if (!wl_list_empty(focus_resource_list)) { - move_resources(&seat->touch->resource_list, + move_resources(&touch->resource_list, focus_resource_list); } @@ -1475,19 +1475,19 @@ weston_touch_set_focus(struct weston_seat *seat, struct weston_view *view) struct wl_client *surface_client; if (!view->surface->resource) { - seat->touch->focus = NULL; + touch->focus = NULL; return; } surface_client = wl_resource_get_client(view->surface->resource); move_resources_for_client(focus_resource_list, - &seat->touch->resource_list, + &touch->resource_list, surface_client); wl_resource_add_destroy_listener(view->surface->resource, - &seat->touch->focus_resource_listener); - wl_signal_add(&view->destroy_signal, &seat->touch->focus_view_listener); + &touch->focus_resource_listener); + wl_signal_add(&view->destroy_signal, &touch->focus_view_listener); } - seat->touch->focus = view; + touch->focus = view; } /** @@ -1525,7 +1525,7 @@ notify_touch(struct weston_seat *seat, uint32_t time, int touch_id, * until all touch points are up again. */ if (touch->num_tp == 1) { ev = weston_compositor_pick_view(ec, x, y, &sx, &sy); - weston_touch_set_focus(seat, ev); + weston_touch_set_focus(touch, ev); } else if (touch->focus) { ev = touch->focus; weston_view_from_global_fixed(ev, x, y, &sx, &sy); @@ -1574,7 +1574,7 @@ notify_touch(struct weston_seat *seat, uint32_t time, int touch_id, grab->interface->up(grab, time, touch_id); if (touch->num_tp == 0) - weston_touch_set_focus(seat, NULL); + weston_touch_set_focus(touch, NULL); break; } } @@ -2275,7 +2275,7 @@ weston_seat_release_touch(struct weston_seat *seat) { seat->touch_device_count--; if (seat->touch_device_count == 0) { - weston_touch_set_focus(seat, NULL); + weston_touch_set_focus(seat->touch, NULL); weston_touch_cancel_grab(seat->touch); weston_touch_reset_state(seat->touch); seat_send_updated_caps(seat); |