summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-08-26 12:05:16 +1000
committerLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-08-26 12:05:16 +1000
commit5dbbab7bdc56fc513eea2f9a39d722859a3b0c2e (patch)
tree2aad57ba7f7eec9fdb51b98859f6da826a4d39a1 /include
parentMerge pull request #2488 from RyanDwyer/separate-gaps-functions (diff)
downloadsway-5dbbab7bdc56fc513eea2f9a39d722859a3b0c2e.tar.gz
sway-5dbbab7bdc56fc513eea2f9a39d722859a3b0c2e.tar.zst
sway-5dbbab7bdc56fc513eea2f9a39d722859a3b0c2e.zip
Remove layout.c
When we have type safety we'll need to have functions for workspace_add_tiling and so on. This means the existing container functions will be just for containers, so they are being moved to container.c. At this point layout.c doesn't contain much else, so I've relocated everything and removed the file. * container_swap and its static functions have been moved to the swap command and made static. * container_recursive_resize has been moved to the resize command and made static. * The following have been moved to container.c: * container_handle_fullscreen_reparent * container_insert_child * container_add_sibling * container_add_child * container_remove_child * container_replace_child * container_split * enum movement_direction and sway_dir_to_wlr have been moved to util.c. Side note: Several commands included layout.h which then included root.h. With layout.h gone, root.h has to be included by those commands.
Diffstat (limited to 'include')
-rw-r--r--include/sway/config.h2
-rw-r--r--include/sway/tree/container.h28
-rw-r--r--include/sway/tree/layout.h52
-rw-r--r--include/util.h14
4 files changed, 42 insertions, 54 deletions
diff --git a/include/sway/config.h b/include/sway/config.h
index c2eaea1b..18d10faa 100644
--- a/include/sway/config.h
+++ b/include/sway/config.h
@@ -8,8 +8,8 @@
8#include <xkbcommon/xkbcommon.h> 8#include <xkbcommon/xkbcommon.h>
9#include "list.h" 9#include "list.h"
10#include "swaynag.h" 10#include "swaynag.h"
11#include "tree/layout.h"
12#include "tree/container.h" 11#include "tree/container.h"
12#include "sway/tree/root.h"
13#include "wlr-layer-shell-unstable-v1-protocol.h" 13#include "wlr-layer-shell-unstable-v1-protocol.h"
14 14
15// TODO: Refactor this shit 15// TODO: Refactor this shit
diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h
index 2b6e6e0c..e4071cfe 100644
--- a/include/sway/tree/container.h
+++ b/include/sway/tree/container.h
@@ -53,6 +53,9 @@ struct sway_output;
53struct sway_workspace; 53struct sway_workspace;
54struct sway_view; 54struct sway_view;
55 55
56enum movement_direction;
57enum wlr_direction;
58
56struct sway_container_state { 59struct sway_container_state {
57 // Container/swayc properties 60 // Container/swayc properties
58 enum sway_container_layout layout; 61 enum sway_container_layout layout;
@@ -341,4 +344,29 @@ void container_add_gaps(struct sway_container *container);
341 344
342int container_sibling_index(const struct sway_container *child); 345int container_sibling_index(const struct sway_container *child);
343 346
347void container_handle_fullscreen_reparent(struct sway_container *con,
348 struct sway_container *old_parent);
349
350void container_add_child(struct sway_container *parent,
351 struct sway_container *child);
352
353void container_insert_child(struct sway_container *parent,
354 struct sway_container *child, int i);
355
356struct sway_container *container_add_sibling(struct sway_container *parent,
357 struct sway_container *child);
358
359struct sway_container *container_remove_child(struct sway_container *child);
360
361struct sway_container *container_replace_child(struct sway_container *child,
362 struct sway_container *new_child);
363
364bool sway_dir_to_wlr(enum movement_direction dir, enum wlr_direction *out);
365
366enum sway_container_layout container_get_default_layout(
367 struct sway_container *con);
368
369struct sway_container *container_split(struct sway_container *child,
370 enum sway_container_layout layout);
371
344#endif 372#endif
diff --git a/include/sway/tree/layout.h b/include/sway/tree/layout.h
deleted file mode 100644
index 5c834ad2..00000000
--- a/include/sway/tree/layout.h
+++ /dev/null
@@ -1,52 +0,0 @@
1#ifndef _SWAY_LAYOUT_H
2#define _SWAY_LAYOUT_H
3#include <wlr/types/wlr_output_layout.h>
4#include <wlr/render/wlr_texture.h>
5#include "sway/tree/container.h"
6#include "sway/tree/root.h"
7#include "config.h"
8
9enum movement_direction {
10 MOVE_LEFT,
11 MOVE_RIGHT,
12 MOVE_UP,
13 MOVE_DOWN,
14 MOVE_PARENT,
15 MOVE_CHILD,
16};
17
18enum wlr_edges;
19
20struct sway_container;
21
22void container_handle_fullscreen_reparent(struct sway_container *con,
23 struct sway_container *old_parent);
24
25void container_add_child(struct sway_container *parent,
26 struct sway_container *child);
27
28void container_insert_child(struct sway_container *parent,
29 struct sway_container *child, int i);
30
31struct sway_container *container_add_sibling(struct sway_container *parent,
32 struct sway_container *child);
33
34struct sway_container *container_remove_child(struct sway_container *child);
35
36struct sway_container *container_replace_child(struct sway_container *child,
37 struct sway_container *new_child);
38
39bool sway_dir_to_wlr(enum movement_direction dir, enum wlr_direction *out);
40
41enum sway_container_layout container_get_default_layout(
42 struct sway_container *con);
43
44struct sway_container *container_split(struct sway_container *child,
45 enum sway_container_layout layout);
46
47void container_recursive_resize(struct sway_container *container,
48 double amount, enum wlr_edges edge);
49
50void container_swap(struct sway_container *con1, struct sway_container *con2);
51
52#endif
diff --git a/include/util.h b/include/util.h
index 9277fa6e..46ed1533 100644
--- a/include/util.h
+++ b/include/util.h
@@ -4,9 +4,19 @@
4#include <stdint.h> 4#include <stdint.h>
5#include <stdbool.h> 5#include <stdbool.h>
6#include <unistd.h> 6#include <unistd.h>
7#include <sys/types.h> 7#include <sys/types.h>
8#include <wlr/types/wlr_output_layout.h>
8#include <xkbcommon/xkbcommon.h> 9#include <xkbcommon/xkbcommon.h>
9 10
11enum movement_direction {
12 MOVE_LEFT,
13 MOVE_RIGHT,
14 MOVE_UP,
15 MOVE_DOWN,
16 MOVE_PARENT,
17 MOVE_CHILD,
18};
19
10/** 20/**
11 * Wrap i into the range [0, max[ 21 * Wrap i into the range [0, max[
12 */ 22 */
@@ -71,4 +81,6 @@ char* resolve_path(const char* path);
71char *b64_encode(const char* binaryData, size_t len, size_t *flen); 81char *b64_encode(const char* binaryData, size_t len, size_t *flen);
72unsigned char *b64_decode(const char *ascii, size_t len, size_t *flen); 82unsigned char *b64_decode(const char *ascii, size_t len, size_t *flen);
73 83
84bool sway_dir_to_wlr(enum movement_direction dir, enum wlr_direction *out);
85
74#endif 86#endif