damage_ring: Remove return value of wlr_damage_ring_add/wlr_damage_ring_add_box

Compositors should compute whether the damage is part of the output
themselves.
master
Alexander Orzechowski 2 months ago committed by itycodes
parent 3d48a03b81
commit 5555f975ac

@ -54,18 +54,14 @@ void wlr_damage_ring_set_bounds(struct wlr_damage_ring *ring,
/** /**
* Add a region to the current damage. * Add a region to the current damage.
*
* Returns true if the region intersects the ring bounds, false otherwise.
*/ */
bool wlr_damage_ring_add(struct wlr_damage_ring *ring, void wlr_damage_ring_add(struct wlr_damage_ring *ring,
const pixman_region32_t *damage); const pixman_region32_t *damage);
/** /**
* Add a box to the current damage. * Add a box to the current damage.
*
* Returns true if the box intersects the ring bounds, false otherwise.
*/ */
bool wlr_damage_ring_add_box(struct wlr_damage_ring *ring, void wlr_damage_ring_add_box(struct wlr_damage_ring *ring,
const struct wlr_box *box); const struct wlr_box *box);
/** /**

@ -49,35 +49,16 @@ void wlr_damage_ring_set_bounds(struct wlr_damage_ring *ring,
wlr_damage_ring_add_whole(ring); wlr_damage_ring_add_whole(ring);
} }
bool wlr_damage_ring_add(struct wlr_damage_ring *ring, void wlr_damage_ring_add(struct wlr_damage_ring *ring,
const pixman_region32_t *damage) { const pixman_region32_t *damage) {
pixman_region32_t clipped; pixman_region32_union(&ring->current, &ring->current, damage);
pixman_region32_init(&clipped);
pixman_region32_intersect_rect(&clipped, damage,
0, 0, ring->width, ring->height);
bool intersects = pixman_region32_not_empty(&clipped);
if (intersects) {
pixman_region32_union(&ring->current, &ring->current, &clipped);
}
pixman_region32_fini(&clipped);
return intersects;
} }
bool wlr_damage_ring_add_box(struct wlr_damage_ring *ring, void wlr_damage_ring_add_box(struct wlr_damage_ring *ring,
const struct wlr_box *box) { const struct wlr_box *box) {
struct wlr_box clipped = {
.x = 0,
.y = 0,
.width = ring->width,
.height = ring->height,
};
if (wlr_box_intersection(&clipped, &clipped, box)) {
pixman_region32_union_rect(&ring->current, pixman_region32_union_rect(&ring->current,
&ring->current, clipped.x, clipped.y, &ring->current, box->x, box->y,
clipped.width, clipped.height); box->width, box->height);
return true;
}
return false;
} }
void wlr_damage_ring_add_whole(struct wlr_damage_ring *ring) { void wlr_damage_ring_add_whole(struct wlr_damage_ring *ring) {

Loading…
Cancel
Save