diff options
author | emersion <contact@emersion.fr> | 2017-11-19 17:56:26 +0100 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2017-11-19 17:56:26 +0100 |
commit | 76e8e1a6ad8ac3947b568bec32b7ed0acd69bef1 (patch) | |
tree | 38dc0e63ef48806ea7ec88cbb08cae2b3d08aa44 /include | |
parent | 72d877658aaf309eb066e3b9825c5f59177b15c3 (diff) | |
parent | fae8d6289a470b8abcf36a5f4b0030ef504caf0b (diff) |
Merge branch 'master' into seat-views
Diffstat (limited to 'include')
-rw-r--r-- | include/rootston/cursor.h | 18 | ||||
-rw-r--r-- | include/rootston/desktop.h | 1 | ||||
-rw-r--r-- | include/rootston/seat.h | 15 | ||||
-rw-r--r-- | include/wlr/types/wlr_data_device.h | 27 | ||||
-rw-r--r-- | include/wlr/types/wlr_seat.h | 9 |
5 files changed, 31 insertions, 39 deletions
diff --git a/include/rootston/cursor.h b/include/rootston/cursor.h index f0c9be89..e2a371bf 100644 --- a/include/rootston/cursor.h +++ b/include/rootston/cursor.h @@ -53,12 +53,6 @@ struct roots_cursor { struct wl_listener tool_axis; struct wl_listener tool_tip; - struct wl_listener pointer_grab_begin; - struct wl_listener pointer_grab_end; - - struct wl_listener touch_grab_begin; - struct wl_listener touch_grab_end; - struct wl_listener request_set_cursor; }; @@ -96,16 +90,4 @@ void roots_cursor_handle_tool_tip(struct roots_cursor *cursor, void roots_cursor_handle_request_set_cursor(struct roots_cursor *cursor, struct wlr_seat_pointer_request_set_cursor_event *event); -void roots_cursor_handle_pointer_grab_begin(struct roots_cursor *cursor, - struct wlr_seat_pointer_grab *grab); - -void roots_cursor_handle_pointer_grab_end(struct roots_cursor *cursor, - struct wlr_seat_pointer_grab *grab); - -void roots_cursor_handle_touch_grab_begin(struct roots_cursor *cursor, - struct wlr_seat_touch_grab *grab); - -void roots_cursor_handle_touch_grab_end(struct roots_cursor *cursor, - struct wlr_seat_touch_grab *grab); - #endif diff --git a/include/rootston/desktop.h b/include/rootston/desktop.h index 12ab5898..c245eb09 100644 --- a/include/rootston/desktop.h +++ b/include/rootston/desktop.h @@ -50,6 +50,7 @@ struct roots_desktop { #ifdef HAS_XWAYLAND struct wlr_xwayland *xwayland; struct wl_listener xwayland_surface; + struct wl_listener xwayland_ready; #endif }; diff --git a/include/rootston/seat.h b/include/rootston/seat.h index ec0608e7..609d0c74 100644 --- a/include/rootston/seat.h +++ b/include/rootston/seat.h @@ -4,25 +4,10 @@ #include "rootston/input.h" #include "rootston/keyboard.h" -struct roots_drag_icon { - struct wlr_surface *surface; - struct wl_list link; // roots_seat::drag_icons - bool mapped; - - bool is_pointer; - int32_t touch_id; - - int32_t sx, sy; - - struct wl_listener surface_destroy; - struct wl_listener surface_commit; -}; - struct roots_seat { struct roots_input *input; struct wlr_seat *seat; struct roots_cursor *cursor; - struct wl_list drag_icons; struct wl_list link; // coordinates of the first touch point if it exists diff --git a/include/wlr/types/wlr_data_device.h b/include/wlr/types/wlr_data_device.h index 189ab59b..12b25e45 100644 --- a/include/wlr/types/wlr_data_device.h +++ b/include/wlr/types/wlr_data_device.h @@ -53,6 +53,27 @@ struct wlr_data_source { } events; }; +struct wlr_drag_icon { + struct wlr_surface *surface; + struct wlr_seat_client *client; + struct wl_list link; // wlr_seat::drag_icons + bool mapped; + + bool is_pointer; + int32_t touch_id; + + int32_t sx; + int32_t sy; + + struct { + struct wl_signal destroy; + } events; + + struct wl_listener surface_destroy; + struct wl_listener surface_commit; + struct wl_listener seat_client_destroy; +}; + struct wlr_drag { struct wlr_seat_pointer_grab pointer_grab; struct wlr_seat_keyboard_grab keyboard_grab; @@ -64,7 +85,7 @@ struct wlr_drag { bool is_pointer_grab; - struct wlr_surface *icon; + struct wlr_drag_icon *icon; struct wlr_surface *focus; struct wlr_data_source *source; @@ -72,9 +93,9 @@ struct wlr_drag { int32_t grab_touch_id; struct wl_listener point_destroy; - struct wl_listener icon_destroy; struct wl_listener source_destroy; - struct wl_listener seat_client_unbound; + struct wl_listener seat_client_destroy; + struct wl_listener icon_destroy; }; /** diff --git a/include/wlr/types/wlr_seat.h b/include/wlr/types/wlr_seat.h index dbd03401..6d59315b 100644 --- a/include/wlr/types/wlr_seat.h +++ b/include/wlr/types/wlr_seat.h @@ -21,6 +21,10 @@ struct wlr_seat_client { struct wl_resource *touch; struct wl_resource *data_device; + struct { + struct wl_signal destroy; + } events; + struct wl_list link; }; @@ -165,6 +169,8 @@ struct wlr_seat { struct wl_global *wl_global; struct wl_display *display; struct wl_list clients; + struct wl_list drag_icons; // wlr_drag_icon::link + char *name; uint32_t capabilities; struct timespec last_event; @@ -180,9 +186,6 @@ struct wlr_seat { struct wl_listener selection_data_source_destroy; struct { - struct wl_signal client_bound; - struct wl_signal client_unbound; - struct wl_signal pointer_grab_begin; struct wl_signal pointer_grab_end; |