$ Composite computed visible regions via detected dirty rects
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() {
+ 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);
+ }
+ }
+ }
+ }