aboutsummaryrefslogtreecommitdiff
path: root/include/rootston
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-01-24 14:48:01 +0100
committeremersion <contact@emersion.fr>2018-01-24 14:48:01 +0100
commit6281deb90fa6a97835d5045a8be610556ab588fe (patch)
treeb29d32c44a9a035fbf70e4cdb3dc964a4d3f1507 /include/rootston
parent4d282c859099321b1e799a2ab344480f186359ef (diff)
parent7a2e9a17bae919088f4265961ad8d00fece7b870 (diff)
Merge remote-tracking branch 'upstream/master' into output-damage
Diffstat (limited to 'include/rootston')
-rw-r--r--include/rootston/cursor.h2
-rw-r--r--include/rootston/seat.h8
-rw-r--r--include/rootston/view.h17
3 files changed, 27 insertions, 0 deletions
diff --git a/include/rootston/cursor.h b/include/rootston/cursor.h
index 19ac4034..90d54c12 100644
--- a/include/rootston/cursor.h
+++ b/include/rootston/cursor.h
@@ -27,6 +27,8 @@ struct roots_cursor {
float view_rotation;
uint32_t resize_edges;
+ struct roots_seat_view *pointer_view;
+
struct wl_listener motion;
struct wl_listener motion_absolute;
struct wl_listener button;
diff --git a/include/rootston/seat.h b/include/rootston/seat.h
index c71f7de0..f1061226 100644
--- a/include/rootston/seat.h
+++ b/include/rootston/seat.h
@@ -31,6 +31,11 @@ struct roots_seat {
struct roots_seat_view {
struct roots_seat *seat;
struct roots_view *view;
+
+ bool has_button_grab;
+ double grab_sx;
+ double grab_sy;
+
struct wl_list link; // roots_seat::views
struct wl_listener view_destroy;
@@ -97,4 +102,7 @@ void roots_seat_begin_resize(struct roots_seat *seat, struct roots_view *view,
void roots_seat_begin_rotate(struct roots_seat *seat, struct roots_view *view);
+struct roots_seat_view *roots_seat_view_from_view( struct roots_seat *seat,
+ struct roots_view *view);
+
#endif
diff --git a/include/rootston/view.h b/include/rootston/view.h
index 99e47deb..35660d64 100644
--- a/include/rootston/view.h
+++ b/include/rootston/view.h
@@ -64,6 +64,10 @@ struct roots_view {
double x, y;
float rotation;
+ bool decorated;
+ int border_width;
+ int titlebar_height;
+
bool maximized;
struct roots_output *fullscreen_output;
struct {
@@ -165,6 +169,19 @@ bool view_center(struct roots_view *view);
void view_setup(struct roots_view *view);
void view_teardown(struct roots_view *view);
+void view_get_deco_box(const struct roots_view *view, struct wlr_box *box);
+
+enum roots_deco_part {
+ ROOTS_DECO_PART_NONE = 0,
+ ROOTS_DECO_PART_TOP_BORDER = (1 << 0),
+ ROOTS_DECO_PART_BOTTOM_BORDER = (1 << 1),
+ ROOTS_DECO_PART_LEFT_BORDER = (1 << 2),
+ ROOTS_DECO_PART_RIGHT_BORDER = (1 << 3),
+ ROOTS_DECO_PART_TITLEBAR = (1 << 4),
+};
+
+enum roots_deco_part view_get_deco_part(struct roots_view *view, double sx, double sy);
+
void view_child_init(struct roots_view_child *child, struct roots_view *view,
struct wlr_surface *wlr_surface);
void view_child_finish(struct roots_view_child *child);