diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-09-28 19:06:41 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2017-09-28 19:06:41 -0400 |
commit | 033036712ade73a872f1034ddb47235be11a74aa (patch) | |
tree | ecae511da6a408177369858ac43d200bae427472 /include/rootston/config.h | |
parent | 2850a9360b23eaf27f6437a889b13bdcbe506863 (diff) | |
parent | e4ad534ab41b01a08b6b4f19aa47805f6040f7b4 (diff) |
Merge branch 'rootston'
Diffstat (limited to 'include/rootston/config.h')
-rw-r--r-- | include/rootston/config.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/include/rootston/config.h b/include/rootston/config.h new file mode 100644 index 00000000..0832d88d --- /dev/null +++ b/include/rootston/config.h @@ -0,0 +1,51 @@ +#ifndef _ROOTSTON_CONFIG_H +#define _ROOTSTON_CONFIG_H +#include <wlr/types/wlr_output_layout.h> +#include <wlr/types/wlr_input_device.h> +#include <wlr/types/wlr_cursor.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 roots_config { + // TODO: Multiple cursors, multiseat + struct { + char *mapped_output; + struct wlr_box *mapped_box; + } cursor; + + struct wl_list outputs; + struct wl_list devices; + char *config_path; +}; + +struct roots_config *parse_args(int argc, char *argv[]); + +void roots_config_destroy(struct roots_config *config); + +/** + * Get configuration for the output. If the output is not configured, returns + * NULL. + */ +struct output_config *config_get_output(struct roots_config *config, + struct wlr_output *output); + +/** + * Get configuration for the device. If the device is not configured, returns + * NULL. + */ +struct device_config *config_get_device(struct roots_config *config, + struct wlr_input_device *device); + +#endif |