diff options
Diffstat (limited to 'src/render_helpers/debug.rs')
| -rw-r--r-- | src/render_helpers/debug.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/render_helpers/debug.rs b/src/render_helpers/debug.rs index f67abdb3..2a4c4332 100644 --- a/src/render_helpers/debug.rs +++ b/src/render_helpers/debug.rs @@ -1,3 +1,4 @@ +use smithay::backend::renderer::damage::OutputDamageTracker; use smithay::backend::renderer::element::solid::SolidColorRenderElement; use smithay::backend::renderer::element::{Element, Id, Kind}; use smithay::backend::renderer::utils::CommitCounter; @@ -56,3 +57,25 @@ pub fn draw_opaque_regions<R: NiriRenderer>( } } } + +pub fn draw_damage<R: NiriRenderer>( + damage_tracker: &mut OutputDamageTracker, + elements: &mut Vec<OutputRenderElements<R>>, +) { + let _span = tracy_client::span!("draw_damage"); + + let Ok((Some(damage), _)) = damage_tracker.damage_output(1, elements) else { + return; + }; + + for rect in damage { + let color = SolidColorRenderElement::new( + Id::new(), + *rect, + CommitCounter::default(), + [0.3, 0., 0., 0.3], + Kind::Unspecified, + ); + elements.insert(0, OutputRenderElements::SolidColor(color)); + } +} |
