aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2017-09-30 09:12:20 -0400
committerGitHub <noreply@github.com>2017-09-30 09:12:20 -0400
commit40303b7a09e52bffbef1ea9cb8120da85c7d185c (patch)
treed800059d64b9886fba549b96780e6dce806a1342 /include
parentedf5e6211d07d7b8f35e8dabd4d97303743e3c7c (diff)
parent74f2d0cd63131ab782c309270241bcbf0e47db12 (diff)
Merge pull request #175 from emersion/xdg-shell-resize
rootston: add xdg shell resize support
Diffstat (limited to 'include')
-rw-r--r--include/rootston/input.h11
-rw-r--r--include/rootston/view.h4
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