Add dynamic output resizing for Wayland backend

This allows outputs to:
- Not support modesetting
- Resize themselves
This commit is contained in:
Drew DeVault 2017-06-20 17:51:45 -04:00
parent c9d5a0b2fb
commit b9d36c8149
10 changed files with 75 additions and 90 deletions

View file

@ -32,8 +32,6 @@ struct wlr_backend_state {
struct wlr_output_state {
size_t id;
unsigned int width;
unsigned int height;
struct wlr_backend_state *backend;
struct wlr_output *output;
struct wl_surface *surface;

View file

@ -20,6 +20,7 @@ struct wlr_output_impl {
struct wlr_output *wlr_output_create(struct wlr_output_impl *impl,
struct wlr_output_state *state);
void wlr_output_free(struct wlr_output *output);
void wlr_output_update_matrix(struct wlr_output *output);
struct wlr_keyboard_impl {
void (*destroy)(struct wlr_keyboard_state *state);

View file

@ -33,11 +33,13 @@ struct wlr_output {
float transform_matrix[16];
/* Note: some backends may have zero modes */
list_t *modes;
struct wlr_output_mode *current_mode;
struct {
struct wl_signal frame;
struct wl_signal resolution;
} events;
};