diff options
author | emersion <contact@emersion.fr> | 2018-07-22 19:25:41 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-22 19:25:41 +0100 |
commit | be60e44b7c08b87400fed0b9ea586c449883ba11 (patch) | |
tree | 5005c92ed70e19fcd9a316b9a9fad0d3ba07b6ad /include/sway/tree | |
parent | 27f65b94ae35a7b7342ed331884f765141fad373 (diff) | |
parent | d21d4b83a3effc56b177f5d505aedfdf2ddbbbd5 (diff) |
Merge pull request #2296 from RyanDwyer/floating-modifier
Implement floating_modifier and mouse operations for floating views
Diffstat (limited to 'include/sway/tree')
-rw-r--r-- | include/sway/tree/container.h | 12 | ||||
-rw-r--r-- | include/sway/tree/layout.h | 9 | ||||
-rw-r--r-- | include/sway/tree/view.h | 5 |
3 files changed, 22 insertions, 4 deletions
diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h index ca7a3288..59c5b4c7 100644 --- a/include/sway/tree/container.h +++ b/include/sway/tree/container.h @@ -305,6 +305,12 @@ bool container_is_floating(struct sway_container *container); void container_get_box(struct sway_container *container, struct wlr_box *box); /** + * Move a floating container by the specified amount. + */ +void container_floating_translate(struct sway_container *con, + double x_amount, double y_amount); + +/** * Move a floating container to a new layout-local position. */ void container_floating_move_to(struct sway_container *con, @@ -318,4 +324,10 @@ void container_set_dirty(struct sway_container *container); bool container_has_urgent_child(struct sway_container *container); +/** + * If the container is involved in a drag or resize operation via a mouse, this + * ends the operation. + */ +void container_end_mouse_operation(struct sway_container *container); + #endif diff --git a/include/sway/tree/layout.h b/include/sway/tree/layout.h index ba265623..5a78fd58 100644 --- a/include/sway/tree/layout.h +++ b/include/sway/tree/layout.h @@ -14,10 +14,11 @@ enum movement_direction { }; enum resize_edge { - RESIZE_EDGE_LEFT, - RESIZE_EDGE_RIGHT, - RESIZE_EDGE_TOP, - RESIZE_EDGE_BOTTOM, + RESIZE_EDGE_NONE = 0, + RESIZE_EDGE_LEFT = 1, + RESIZE_EDGE_RIGHT = 2, + RESIZE_EDGE_TOP = 4, + RESIZE_EDGE_BOTTOM = 8, }; struct sway_container; diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h index 068d92c6..1dfb218b 100644 --- a/include/sway/tree/view.h +++ b/include/sway/tree/view.h @@ -26,6 +26,8 @@ enum sway_view_prop { }; struct sway_view_impl { + void (*get_constraints)(struct sway_view *view, double *min_width, + double *max_width, double *min_height, double *max_height); const char *(*get_string_prop)(struct sway_view *view, enum sway_view_prop prop); uint32_t (*get_int_prop)(struct sway_view *view, enum sway_view_prop prop); @@ -215,6 +217,9 @@ uint32_t view_get_window_type(struct sway_view *view); const char *view_get_shell(struct sway_view *view); +void view_get_constraints(struct sway_view *view, double *min_width, + double *max_width, double *min_height, double *max_height); + uint32_t view_configure(struct sway_view *view, double lx, double ly, int width, int height); |