mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-22 12:55:58 +01:00
output: add wlr_output_set_layers()
This commit is contained in:
parent
2f29b0c438
commit
3e0ce761ad
3 changed files with 19 additions and 1 deletions
|
@ -434,6 +434,16 @@ uint32_t wlr_output_preferred_read_format(struct wlr_output *output);
|
||||||
*/
|
*/
|
||||||
void wlr_output_set_damage(struct wlr_output *output,
|
void wlr_output_set_damage(struct wlr_output *output,
|
||||||
const pixman_region32_t *damage);
|
const pixman_region32_t *damage);
|
||||||
|
/**
|
||||||
|
* Set the output layers state.
|
||||||
|
*
|
||||||
|
* See struct wlr_output_layer for more details on output layers.
|
||||||
|
*
|
||||||
|
* This state is double-buffered, see wlr_output_commit(). The layers array
|
||||||
|
* must remain valid until the wlr_output_test() or wlr_output_commit() call.
|
||||||
|
*/
|
||||||
|
void wlr_output_set_layers(struct wlr_output *output,
|
||||||
|
struct wlr_output_layer_state *layers, size_t layers_len);
|
||||||
/**
|
/**
|
||||||
* Test whether the pending output state would be accepted by the backend. If
|
* Test whether the pending output state would be accepted by the backend. If
|
||||||
* this function returns true, wlr_output_commit() can only fail due to a
|
* this function returns true, wlr_output_commit() can only fail due to a
|
||||||
|
|
|
@ -21,7 +21,8 @@
|
||||||
*
|
*
|
||||||
* To configure output layers, callers should call wlr_output_layer_create() to
|
* To configure output layers, callers should call wlr_output_layer_create() to
|
||||||
* create layers, attach struct wlr_output_layer_state onto
|
* create layers, attach struct wlr_output_layer_state onto
|
||||||
* struct wlr_output_state to describe their new state, and commit the output.
|
* struct wlr_output_state via wlr_output_set_layers() to describe their new
|
||||||
|
* state, and commit the output via wlr_output_commit().
|
||||||
*
|
*
|
||||||
* Backends may have arbitrary limitations when it comes to displaying output
|
* Backends may have arbitrary limitations when it comes to displaying output
|
||||||
* layers. Backends indicate whether or not a layer can be displayed via
|
* layers. Backends indicate whether or not a layer can be displayed via
|
||||||
|
|
|
@ -486,6 +486,13 @@ void wlr_output_set_damage(struct wlr_output *output,
|
||||||
output->pending.committed |= WLR_OUTPUT_STATE_DAMAGE;
|
output->pending.committed |= WLR_OUTPUT_STATE_DAMAGE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wlr_output_set_layers(struct wlr_output *output,
|
||||||
|
struct wlr_output_layer_state *layers, size_t layers_len) {
|
||||||
|
output->pending.committed |= WLR_OUTPUT_STATE_LAYERS;
|
||||||
|
output->pending.layers = layers;
|
||||||
|
output->pending.layers_len = layers_len;
|
||||||
|
}
|
||||||
|
|
||||||
static void output_state_clear_gamma_lut(struct wlr_output_state *state) {
|
static void output_state_clear_gamma_lut(struct wlr_output_state *state) {
|
||||||
free(state->gamma_lut);
|
free(state->gamma_lut);
|
||||||
state->gamma_lut = NULL;
|
state->gamma_lut = NULL;
|
||||||
|
|
Loading…
Reference in a new issue