diff options
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 |