aboutsummaryrefslogtreecommitdiff
path: root/examples/support/config.h
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2017-11-02 23:34:02 -0400
committerDrew DeVault <sir@cmpwn.com>2017-11-02 23:34:02 -0400
commit86b87299986a430a52b4eac3f2e0e7b659176c90 (patch)
treeac8523d64c6b2faa8d7156093c8dc8f6998301b7 /examples/support/config.h
parent975b9dc365d5a7bec531522320a1506323575525 (diff)
parentec11a95d0c945d138cede66b7c6e53e343c82f8f (diff)
Merge remote-tracking branch 'origin/master' into hidpi
Diffstat (limited to 'examples/support/config.h')
-rw-r--r--examples/support/config.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/examples/support/config.h b/examples/support/config.h
new file mode 100644
index 00000000..e26531c2
--- /dev/null
+++ b/examples/support/config.h
@@ -0,0 +1,60 @@
+#ifndef _EXAMPLE_CONFIG_H
+#define _EXAMPLE_CONFIG_H
+#ifndef _POSIX_C_SOURCE
+#define _POSIX_C_SOURCE 200112L
+#endif
+#include <wlr/types/wlr_output_layout.h>
+#include <wlr/types/wlr_input_device.h>
+#include <wlr/types/wlr_cursor.h>
+#include "shared.h"
+
+struct output_config {
+ char *name;
+ enum wl_output_transform transform;
+ int x, y;
+ struct wl_list link;
+};
+
+struct device_config {
+ char *name;
+ char *mapped_output;
+ struct wlr_box *mapped_box;
+ struct wl_list link;
+};
+
+struct example_config {
+ struct {
+ char *mapped_output;
+ struct wlr_box *mapped_box;
+ } cursor;
+
+ struct wl_list outputs;
+ struct wl_list devices;
+ char *config_path;
+};
+
+struct example_config *parse_args(int argc, char *argv[]);
+
+void example_config_destroy(struct example_config *config);
+
+/**
+ * Get configuration for the output. If the output is not configured, returns
+ * NULL.
+ */
+struct output_config *example_config_get_output(struct example_config *config,
+ struct wlr_output *output);
+
+/**
+ * Get configuration for the device. If the device is not configured, returns
+ * NULL.
+ */
+struct device_config *example_config_get_device(struct example_config *config,
+ struct wlr_input_device *device);
+
+/**
+ * Configure cursor device mappings.
+ */
+void example_config_configure_cursor(struct example_config *config,
+ struct wlr_cursor *cursor, struct compositor_state *state);
+
+#endif