swayfx/include/sway/tree/layout.h

62 lines
1.6 KiB
C
Raw Normal View History

#ifndef _SWAY_LAYOUT_H
#define _SWAY_LAYOUT_H
#include <wlr/types/wlr_output_layout.h>
2018-04-07 01:49:27 +10:00
#include <wlr/render/wlr_texture.h>
#include "sway/tree/container.h"
#include "sway/tree/root.h"
#include "config.h"
enum movement_direction {
MOVE_LEFT,
MOVE_RIGHT,
MOVE_UP,
MOVE_DOWN,
MOVE_PARENT,
MOVE_CHILD,
};
2018-04-05 11:32:31 +10:00
enum resize_edge {
RESIZE_EDGE_NONE = 0,
RESIZE_EDGE_LEFT = 1,
RESIZE_EDGE_RIGHT = 2,
RESIZE_EDGE_TOP = 4,
RESIZE_EDGE_BOTTOM = 8,
2018-04-05 11:32:31 +10:00
};
struct sway_container;
void container_add_child(struct sway_container *parent,
struct sway_container *child);
struct sway_container *container_add_sibling(struct sway_container *parent,
struct sway_container *child);
struct sway_container *container_remove_child(struct sway_container *child);
2018-04-03 12:37:21 +10:00
struct sway_container *container_replace_child(struct sway_container *child,
struct sway_container *new_child);
2018-03-31 02:58:17 +11:00
void container_move_to(struct sway_container* container,
struct sway_container* destination);
void container_move(struct sway_container *container,
enum movement_direction dir, int move_amt);
enum sway_container_layout container_get_default_layout(
2018-04-04 03:23:34 +10:00
struct sway_container *con);
void container_sort_workspaces(struct sway_container *output);
struct sway_container *container_get_in_direction(struct sway_container
*container, struct sway_seat *seat, enum movement_direction dir);
2018-03-31 15:44:17 +11:00
struct sway_container *container_split(struct sway_container *child,
enum sway_container_layout layout);
2018-04-05 11:32:31 +10:00
void container_recursive_resize(struct sway_container *container,
double amount, enum resize_edge edge);
2018-05-27 01:02:21 +10:00
void container_swap(struct sway_container *con1, struct sway_container *con2);
#endif