diff options
author | Simon Ser <contact@emersion.fr> | 2023-04-06 21:49:40 +0200 |
---|---|---|
committer | Alexander Orzechowski <alex@ozal.ski> | 2023-04-06 20:34:30 +0000 |
commit | 9ef98452a31c0936187e8a877f6a99c4308b9976 (patch) | |
tree | b80f3d8634350bbd80b004b35104e7bb2ecea57c /include/wlr | |
parent | 7abda952d0000b72d240fe1d41457b9288f0b6e5 (diff) |
output-damage: drop
Compositors can migrate to wlr_damage_ring.
Diffstat (limited to 'include/wlr')
-rw-r--r-- | include/wlr/types/wlr_output_damage.h | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/include/wlr/types/wlr_output_damage.h b/include/wlr/types/wlr_output_damage.h deleted file mode 100644 index 5dfca406..00000000 --- a/include/wlr/types/wlr_output_damage.h +++ /dev/null @@ -1,95 +0,0 @@ -/* - * This an unstable interface of wlroots. No guarantees are made regarding the - * future consistency of this API. - */ -#ifndef WLR_USE_UNSTABLE -#error "Add -DWLR_USE_UNSTABLE to enable unstable wlroots features" -#endif - -/* - * NOTE: wlr/types/wlr_output_damage.h is deprecated and will be removed in - * the next release. Use wlr/types/wlr_damage_ring.h instead. - */ - -#ifndef WLR_TYPES_WLR_OUTPUT_DAMAGE_H -#define WLR_TYPES_WLR_OUTPUT_DAMAGE_H - -#include <pixman.h> -#include <time.h> -#include <wlr/types/wlr_output.h> - -/** - * Damage tracking requires to keep track of previous frames' damage. To allow - * damage tracking to work with triple buffering, a history of two frames is - * required. - */ -#define WLR_OUTPUT_DAMAGE_PREVIOUS_LEN 2 - -struct wlr_box; - -/** - * Tracks damage for an output. - * - * The `frame` event will be emitted when it is a good time for the compositor - * to submit a new frame. - * - * To render a new frame, compositors should call - * wlr_output_damage_attach_render(), render and call wlr_output_commit(). No - * rendering should happen outside a `frame` event handler or before - * wlr_output_damage_attach_render(). - */ -struct wlr_output_damage { - struct wlr_output *output; - int max_rects; // max number of damaged rectangles - - pixman_region32_t current; // in output-local coordinates - - // circular queue for previous damage - pixman_region32_t previous[WLR_OUTPUT_DAMAGE_PREVIOUS_LEN]; - size_t previous_idx; - - struct { - struct wl_signal frame; - struct wl_signal destroy; - } events; - - struct wl_listener output_destroy; - struct wl_listener output_needs_frame; - struct wl_listener output_damage; - struct wl_listener output_frame; - struct wl_listener output_commit; -}; - -struct wlr_output_damage *wlr_output_damage_create(struct wlr_output *output); -void wlr_output_damage_destroy(struct wlr_output_damage *output_damage); -/** - * Attach the renderer's buffer to the output. Compositors must call this - * function before rendering. After they are done rendering, they should call - * wlr_output_set_damage() and wlr_output_commit() to submit the new frame. - * - * `needs_frame` will be set to true if a frame should be submitted. `damage` - * will be set to the region of the output that needs to be repainted, in - * output-buffer-local coordinates. - * - * The buffer damage region accumulates all damage since the buffer has last - * been swapped. This is not to be confused with the output surface damage, - * which only contains the changes between two frames. - */ -bool wlr_output_damage_attach_render(struct wlr_output_damage *output_damage, - bool *needs_frame, pixman_region32_t *buffer_damage); -/** - * Accumulates damage and schedules a `frame` event. - */ -void wlr_output_damage_add(struct wlr_output_damage *output_damage, - const pixman_region32_t *damage); -/** - * Damages the whole output and schedules a `frame` event. - */ -void wlr_output_damage_add_whole(struct wlr_output_damage *output_damage); -/** - * Accumulates damage from a box and schedules a `frame` event. - */ -void wlr_output_damage_add_box(struct wlr_output_damage *output_damage, - struct wlr_box *box); - -#endif |