diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-05-03 10:25:51 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-05-03 10:33:31 +0400 |
| commit | 1a8d6b1f1df80009795ed23e9ce0298fac65d766 (patch) | |
| tree | eec3d15d9a69f81722077ca1390b8d026429543f /src/render_helpers | |
| parent | 185f294200b8e20d85dab828fa95265330762594 (diff) | |
| download | niri-1a8d6b1f1df80009795ed23e9ce0298fac65d766.tar.gz niri-1a8d6b1f1df80009795ed23e9ce0298fac65d766.tar.bz2 niri-1a8d6b1f1df80009795ed23e9ce0298fac65d766.zip | |
Add a semi-working debug-toggle-damage binding
Diffstat (limited to 'src/render_helpers')
| -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)); + } +} |
