diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-09-30 09:12:20 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-30 09:12:20 -0400 |
commit | 40303b7a09e52bffbef1ea9cb8120da85c7d185c (patch) | |
tree | d800059d64b9886fba549b96780e6dce806a1342 /include/rootston | |
parent | edf5e6211d07d7b8f35e8dabd4d97303743e3c7c (diff) | |
parent | 74f2d0cd63131ab782c309270241bcbf0e47db12 (diff) |
Merge pull request #175 from emersion/xdg-shell-resize
rootston: add xdg shell resize support
Diffstat (limited to 'include/rootston')
-rw-r--r-- | include/rootston/input.h | 11 | ||||
-rw-r--r-- | include/rootston/view.h | 4 |
2 files changed, 15 insertions, 0 deletions
diff --git a/include/rootston/input.h b/include/rootston/input.h index aeab9c0d..1fae07d7 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; @@ -110,5 +119,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 |