rootston: add per-seat views

This commit is contained in:
emersion 2017-11-17 12:45:07 +01:00
parent 10f3be7384
commit bb6d34e7a5
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48
12 changed files with 161 additions and 123 deletions

View file

@ -9,8 +9,7 @@ struct roots_drag_icon {
struct wl_list link; // roots_seat::drag_icons
bool mapped;
int32_t sx;
int32_t sy;
int32_t sx, sy;
struct wl_listener surface_destroy;
struct wl_listener surface_commit;
@ -20,10 +19,11 @@ struct roots_seat {
struct roots_input *input;
struct wlr_seat *seat;
struct roots_cursor *cursor;
struct wl_list link;
struct wl_list drag_icons;
struct wl_list link;
struct roots_view *focus;
struct wl_list views; // roots_seat_view::link
struct roots_seat_view *focus;
struct wl_list keyboards;
struct wl_list pointers;
@ -31,6 +31,14 @@ struct roots_seat {
struct wl_list tablet_tools;
};
struct roots_seat_view {
struct roots_seat *seat;
struct roots_view *view;
struct wl_list link; // roots_seat::views
struct wl_listener destroy;
};
struct roots_pointer {
struct roots_seat *seat;
struct wlr_input_device *device;
@ -70,6 +78,10 @@ void roots_seat_add_device(struct roots_seat *seat,
void roots_seat_remove_device(struct roots_seat *seat,
struct wlr_input_device *device);
void roots_seat_add_view(struct roots_seat *seat, struct roots_view *view);
void roots_seat_remove_view(struct roots_seat *seat, struct roots_view *view);
void roots_seat_configure_cursor(struct roots_seat *seat);
void roots_seat_configure_xcursor(struct roots_seat *seat);