Introduce cursor_rebase

This function "rebases" the cursor on top of whatever is underneath it,
without triggering any focus changes.
This commit is contained in:
Ryan Dwyer 2018-10-19 00:04:21 +10:00
parent 28f3b8cb03
commit 9ea71f292b
8 changed files with 78 additions and 51 deletions

View file

@ -40,8 +40,20 @@ struct sway_cursor {
void sway_cursor_destroy(struct sway_cursor *cursor);
struct sway_cursor *sway_cursor_create(struct sway_seat *seat);
void cursor_send_pointer_motion(struct sway_cursor *cursor, uint32_t time_msec,
bool allow_refocusing);
/**
* "Rebase" a cursor on top of whatever view is underneath it.
*
* This chooses a cursor icon and sends a motion event to the surface.
*/
void cursor_rebase(struct sway_cursor *cursor);
/**
* Like cursor_rebase, but also allows focus to change when the cursor enters a
* new container.
*/
void cursor_send_pointer_motion(struct sway_cursor *cursor, uint32_t time_msec);
void dispatch_cursor_button(struct sway_cursor *cursor,
struct wlr_input_device *device, uint32_t time_msec, uint32_t button,
enum wlr_button_state state);