diff options
Diffstat (limited to 'include/rootston')
| -rw-r--r-- | include/rootston/desktop.h | 3 | ||||
| -rw-r--r-- | include/rootston/input.h | 13 | ||||
| -rw-r--r-- | include/rootston/view.h | 4 | 
3 files changed, 19 insertions, 1 deletions
| diff --git a/include/rootston/desktop.h b/include/rootston/desktop.h index 392b0271..91ac87b7 100644 --- a/include/rootston/desktop.h +++ b/include/rootston/desktop.h @@ -52,7 +52,8 @@ struct roots_desktop *desktop_create(struct roots_server *server,  void desktop_destroy(struct roots_desktop *desktop);  void view_destroy(struct roots_view *view); -struct roots_view *view_at(struct roots_desktop *desktop, int x, int y); +struct roots_view *view_at(struct roots_desktop *desktop, double lx, double ly, +		struct wlr_surface **surface, double *sx, double *sy);  void view_activate(struct roots_view *view, bool activate);  void output_add_notify(struct wl_listener *listener, void *data); diff --git a/include/rootston/input.h b/include/rootston/input.h index aeab9c0d..ecd53f3b 100644 --- a/include/rootston/input.h +++ b/include/rootston/input.h @@ -53,6 +53,13 @@ enum roots_cursor_mode {  	ROOTS_CURSOR_ROTATE = 3,  }; +enum roots_cursor_resize_edge { +	ROOTS_CURSOR_RESIZE_EDGE_TOP = 1, +	ROOTS_CURSOR_RESIZE_EDGE_BOTTOM = 2, +	ROOTS_CURSOR_RESIZE_EDGE_LEFT = 4, +	ROOTS_CURSOR_RESIZE_EDGE_RIGHT = 8, +}; +  struct roots_input_event {  	uint32_t serial;  	struct wlr_cursor *cursor; @@ -71,6 +78,8 @@ struct roots_input {  	enum roots_cursor_mode mode;  	struct roots_view *active_view;  	int offs_x, offs_y; +	int view_x, view_y, view_width, view_height; +	uint32_t resize_edges;  	// Ring buffer of input events that could trigger move/resize/rotate  	int input_events_idx; @@ -100,6 +109,8 @@ void pointer_add(struct wlr_input_device *device, struct roots_input *input);  void pointer_remove(struct wlr_input_device *device, struct roots_input *input);  void keyboard_add(struct wlr_input_device *device, struct roots_input *input);  void keyboard_remove(struct wlr_input_device *device, struct roots_input *input); +void tablet_tool_add(struct wlr_input_device *device, struct roots_input *input); +void tablet_tool_remove(struct wlr_input_device *device, struct roots_input *input);  void cursor_initialize(struct roots_input *input);  void cursor_load_config(struct roots_config *config, @@ -110,5 +121,7 @@ const struct roots_input_event *get_input_event(struct roots_input *input,  		uint32_t serial);  void view_begin_move(struct roots_input *input, struct wlr_cursor *cursor,  		struct roots_view *view); +void view_begin_resize(struct roots_input *input, struct wlr_cursor *cursor, +		struct roots_view *view, uint32_t edges);  #endif diff --git a/include/rootston/view.h b/include/rootston/view.h index 2bd71104..39ff80db 100644 --- a/include/rootston/view.h +++ b/include/rootston/view.h @@ -61,11 +61,15 @@ struct roots_view {  	// configure event from the xdg_shell  	// If not then this should follow the typical type/impl pattern we use  	// elsewhere +	void (*get_size)(struct roots_view *view, struct wlr_box *box);  	void (*get_input_bounds)(struct roots_view *view, struct wlr_box *box);  	void (*activate)(struct roots_view *view, bool active); +	void (*resize)(struct roots_view *view, uint32_t width, uint32_t height);  }; +void view_get_size(struct roots_view *view, struct wlr_box *box);  void view_get_input_bounds(struct roots_view *view, struct wlr_box *box);  void view_activate(struct roots_view *view, bool active); +void view_resize(struct roots_view *view, uint32_t width, uint32_t height);  #endif | 
