diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-11-01 15:47:58 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2017-11-01 15:47:58 -0400 |
commit | 4f73498b78645728ff23adfbf9b650a1b66b66bb (patch) | |
tree | db4c1a84bd66da1530ba33ec6781f75b7456b36b /examples/support/config.h | |
parent | 19f24e5530625f4b7cafb6cbcdbb71fe69c2288c (diff) |
Move shared example code
Diffstat (limited to 'examples/support/config.h')
-rw-r--r-- | examples/support/config.h | 60 |
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 |