diff options
Diffstat (limited to 'include/rootston/seat.h')
| -rw-r--r-- | include/rootston/seat.h | 20 | 
1 files changed, 16 insertions, 4 deletions
diff --git a/include/rootston/seat.h b/include/rootston/seat.h index aebd4399..ec0608e7 100644 --- a/include/rootston/seat.h +++ b/include/rootston/seat.h @@ -12,8 +12,7 @@ struct roots_drag_icon {  	bool is_pointer;  	int32_t touch_id; -	int32_t sx; -	int32_t sy; +	int32_t sx, sy;  	struct wl_listener surface_destroy;  	struct wl_listener surface_commit; @@ -23,14 +22,15 @@ 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;  	// coordinates of the first touch point if it exists  	int32_t touch_id;  	double touch_x, touch_y; -	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; @@ -38,6 +38,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);  | 
