$ Newly uncovered regions receive a background draw
awm2/src/desktop.rs
fn compute_extra_draws_from_total_update_rects(&mut self) {
for full_redraw_dirty_rect in full_redraw_dirty_rects.iter() {
+ let mut undrawn_areas = vec![full_redraw_rect];
for elem in self.compositor_state.elements.iter() {
for visible_region in elem.drawable_rects().iter() {
let intersection = visible_region
.area_overlapping_with(full_redraw_rect)
.unwrap();
self.compositor_state
.queue_extra_draw(Rc::clone(&elem), intersection);
+ undrawn_areas = Self::update_occlusions(undrawn_areas, intersection);
}
}
}
+ for undrawn_area in undrawn_areas.iter() {
+ self.compositor_state
+ .queue_extra_background_draw(*undrawn_area)
+ }
}