Lines Matching refs:popup_grab
50 } popup_grab; member
80 wl_container_of(grab, seat, popup_grab.keyboard); in weston_desktop_seat_popup_grab_keyboard_cancel()
95 wl_container_of(grab, seat, popup_grab.pointer); in weston_desktop_seat_popup_grab_pointer_focus()
105 wl_resource_get_client(view->surface->resource) == seat->popup_grab.client) in weston_desktop_seat_popup_grab_pointer_focus()
126 wl_container_of(grab, seat, popup_grab.pointer); in weston_desktop_seat_popup_grab_pointer_button()
128 bool initial_up = seat->popup_grab.initial_up; in weston_desktop_seat_popup_grab_pointer_button()
131 seat->popup_grab.initial_up = true; in weston_desktop_seat_popup_grab_pointer_button()
166 wl_container_of(grab, seat, popup_grab.pointer); in weston_desktop_seat_popup_grab_pointer_cancel()
217 wl_container_of(grab, seat, popup_grab.touch); in weston_desktop_seat_popup_grab_touch_cancel()
262 seat->popup_grab.keyboard.interface = in weston_desktop_seat_from_seat()
264 seat->popup_grab.pointer.interface = in weston_desktop_seat_from_seat()
266 seat->popup_grab.touch.interface = in weston_desktop_seat_from_seat()
268 wl_list_init(&seat->popup_grab.surfaces); in weston_desktop_seat_from_seat()
276 if (seat == NULL || wl_list_empty(&seat->popup_grab.surfaces)) in weston_desktop_seat_popup_grab_get_topmost_surface()
279 struct wl_list *grab_link = seat->popup_grab.surfaces.next; in weston_desktop_seat_popup_grab_get_topmost_surface()
288 assert(seat == NULL || seat->popup_grab.client == NULL || in weston_desktop_seat_popup_grab_start()
289 seat->popup_grab.client == client); in weston_desktop_seat_popup_grab_start()
305 weston_keyboard_start_grab(keyboard, &seat->popup_grab.keyboard); in weston_desktop_seat_popup_grab_start()
309 weston_pointer_start_grab(pointer, &seat->popup_grab.pointer); in weston_desktop_seat_popup_grab_start()
313 weston_touch_start_grab(touch, &seat->popup_grab.touch); in weston_desktop_seat_popup_grab_start()
315 seat->popup_grab.initial_up = in weston_desktop_seat_popup_grab_start()
317 seat->popup_grab.client = client; in weston_desktop_seat_popup_grab_start()
329 while (!wl_list_empty(&seat->popup_grab.surfaces)) { in weston_desktop_seat_popup_grab_end()
330 struct wl_list *link = seat->popup_grab.surfaces.prev; in weston_desktop_seat_popup_grab_end()
351 seat->popup_grab.client = NULL; in weston_desktop_seat_popup_grab_end()
358 assert(seat->popup_grab.client != NULL); in weston_desktop_seat_popup_grab_add_surface()
360 wl_list_insert(&seat->popup_grab.surfaces, link); in weston_desktop_seat_popup_grab_add_surface()
367 assert(seat->popup_grab.client != NULL); in weston_desktop_seat_popup_grab_remove_surface()
371 if (wl_list_empty(&seat->popup_grab.surfaces)) in weston_desktop_seat_popup_grab_remove_surface()