diff options
author | emersion <contact@emersion.fr> | 2019-03-28 22:08:18 +0200 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-04-11 09:19:57 -0600 |
commit | 930e37eae97e2ae965f7ae3a05d2fdd700827688 (patch) | |
tree | e8b2794db1c564ff86e45572e4b052f6f49a0c91 /include/wlr | |
parent | a800aa3fb44ecabcebfc5a1bf1d07ee201a688ed (diff) |
output-management-v1: add more docs
Diffstat (limited to 'include/wlr')
-rw-r--r-- | include/wlr/types/wlr_output_management_v1.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/include/wlr/types/wlr_output_management_v1.h b/include/wlr/types/wlr_output_management_v1.h index 1104c938..4d449601 100644 --- a/include/wlr/types/wlr_output_management_v1.h +++ b/include/wlr/types/wlr_output_management_v1.h @@ -22,8 +22,19 @@ struct wlr_output_manager_v1 { uint32_t serial; struct { + /** + * The `apply` and `test` events are emitted when a client requests a + * configuration to be applied or tested. The compositor should send + * feedback with `wlr_output_configuration_v1_send_succeeded` xor + * `wlr_output_configuration_v1_send_failed`. + * + * The compositor gains ownership over the configuration (passed as the + * event data). That is, the compositor is responsible for destroying + * the configuration. + */ struct wl_signal apply; // wlr_output_configuration_v1 struct wl_signal test; // wlr_output_configuration_v1 + struct wl_signal destroy; } events; @@ -79,20 +90,52 @@ struct wlr_output_configuration_head_v1 { struct wl_listener output_destroy; }; +/** + * Create a new output manager. The compositor is responsible for calling + * `wlr_output_manager_v1_set_configuration` whenever the current output + * configuration changes. + */ struct wlr_output_manager_v1 *wlr_output_manager_v1_create( struct wl_display *display); +/** + * Updates the output manager's current configuration. This will broadcast any + * changes to all clients. + * + * This function takes ownership over `config`. That is, the compositor must not + * access the configuration anymore. + */ void wlr_output_manager_v1_set_configuration( struct wlr_output_manager_v1 *manager, struct wlr_output_configuration_v1 *config); +/** + * Create a new, empty output configuration. Compositors should add current head + * status with `wlr_output_configuration_head_v1_create`. They can then call + * `wlr_output_manager_v1_set_configuration`. + */ struct wlr_output_configuration_v1 *wlr_output_configuration_v1_create(void); void wlr_output_configuration_v1_destroy( struct wlr_output_configuration_v1 *config); +/** + * If the configuration comes from a client request, this sends positive + * feedback to the client (configuration has been applied). + */ void wlr_output_configuration_v1_send_succeeded( struct wlr_output_configuration_v1 *config); +/** + * If the configuration comes from a client request, this sends negative + * feedback to the client (configuration has not been applied). + */ void wlr_output_configuration_v1_send_failed( struct wlr_output_configuration_v1 *config); +/** + * Create a new configuration head for the given output. This adds the head to + * the provided output configuration. + * + * The configuration head will be pre-filled with data from `output`. The + * compositor should adjust this data according to its current internal state. + */ struct wlr_output_configuration_head_v1 * wlr_output_configuration_head_v1_create( struct wlr_output_configuration_v1 *config, struct wlr_output *output); |