output-management-v1: support applying configuration

This commit is contained in:
emersion 2019-03-09 23:12:27 +01:00 committed by Drew DeVault
parent d71ebde545
commit 8136605cfb
5 changed files with 152 additions and 30 deletions

View file

@ -61,6 +61,8 @@ void output_for_each_surface(struct roots_output *output,
roots_surface_iterator_func_t iterator, void *user_data);
void handle_new_output(struct wl_listener *listener, void *data);
void handle_output_manager_apply(struct wl_listener *listener, void *data);
void handle_output_manager_test(struct wl_listener *listener, void *data);
struct roots_view;
struct roots_drag_icon;

View file

@ -56,11 +56,12 @@ struct wlr_output_head_v1 {
struct wlr_output_configuration_v1 {
struct wl_list heads; // wlr_output_configuration_head_v1::link
// client state
struct wlr_output_manager_v1 *manager;
uint32_t serial;
bool finalized; // client has requested to apply the config
bool finished; // feedback has been sent by the compositor
struct wl_resource *resource; // can be NULL
struct wl_resource *resource; // can be NULL if destroyed early
};
struct wlr_output_configuration_head_v1 {
@ -68,7 +69,8 @@ struct wlr_output_configuration_head_v1 {
struct wlr_output_configuration_v1 *config;
struct wl_list link; // wlr_output_configuration_v1::heads
struct wl_resource *resource; // can be NULL
// client state
struct wl_resource *resource; // can be NULL if finalized or disabled
struct wl_listener output_destroy;
};