aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/focus.h4
-rw-r--r--include/input_state.h49
-rw-r--r--include/key_state.h18
-rw-r--r--include/layout.h2
4 files changed, 53 insertions, 20 deletions
diff --git a/include/focus.h b/include/focus.h
index 410ed134..383993fa 100644
--- a/include/focus.h
+++ b/include/focus.h
@@ -1,7 +1,5 @@
#ifndef _SWAY_FOCUS_H
#define _SWAY_FOCUS_H
-#include "container.h"
-
enum movement_direction {
MOVE_LEFT,
MOVE_RIGHT,
@@ -10,6 +8,8 @@ enum movement_direction {
MOVE_PARENT
};
+#include "container.h"
+
// focused_container - the container found by following the `focused` pointer
// from a given container to a container with `is_focused` boolean set
// ---
diff --git a/include/input_state.h b/include/input_state.h
new file mode 100644
index 00000000..782b4b19
--- /dev/null
+++ b/include/input_state.h
@@ -0,0 +1,49 @@
+#ifndef _SWAY_KEY_STATE_H
+#define _SWAY_KEY_STATE_H
+#include <stdbool.h>
+#include <stdint.h>
+#include "container.h"
+
+/* Keyboard state */
+
+typedef uint32_t keycode;
+
+// returns true if key has been pressed, otherwise false
+bool check_key(keycode key);
+
+// sets a key as pressed
+void press_key(keycode key);
+
+// unsets a key as pressed
+void release_key(keycode key);
+
+/* Pointer state */
+
+enum pointer_values {
+ M_LEFT_CLICK = 272,
+ M_RIGHT_CLICK = 273,
+ M_SCROLL_CLICK = 274,
+ M_SCROLL_UP = 275,
+ M_SCROLL_DOWN = 276,
+};
+
+extern struct pointer_state {
+ bool l_held;
+ bool r_held;
+ struct pointer_floating {
+ bool drag;
+ bool resize;
+ } floating;
+ struct pointer_lock {
+ bool left;
+ bool right;
+ bool top;
+ bool bottom;
+ } lock;
+} pointer_state;
+
+void start_floating(swayc_t *view);
+void reset_floating(swayc_t *view);
+
+#endif
+
diff --git a/include/key_state.h b/include/key_state.h
deleted file mode 100644
index a8fa8d5e..00000000
--- a/include/key_state.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef _SWAY_KEY_STATE_H
-#define _SWAY_KEY_STATE_H
-#include <stdbool.h>
-#include <stdint.h>
-
-typedef uint32_t keycode;
-
-// returns true if key has been pressed, otherwise false
-bool check_key(keycode key);
-
-// sets a key as pressed
-void press_key(keycode key);
-
-// unsets a key as pressed
-void release_key(keycode key);
-
-#endif
-
diff --git a/include/layout.h b/include/layout.h
index 98fdb531..75e72d2f 100644
--- a/include/layout.h
+++ b/include/layout.h
@@ -4,6 +4,7 @@
#include <wlc/wlc.h>
#include "list.h"
#include "container.h"
+#include "focus.h"
extern swayc_t root_container;
@@ -26,5 +27,6 @@ void focus_view_for(swayc_t *ancestor, swayc_t *container);
swayc_t *get_focused_container(swayc_t *parent);
swayc_t *get_swayc_for_handle(wlc_handle handle, swayc_t *parent);
+swayc_t *get_swayc_in_direction(swayc_t *container, enum movement_direction dir);
#endif