Reintroduce debug overlay in iced_wgpu

This commit is contained in:
Héctor Ramón Jiménez 2024-04-03 22:57:28 +02:00
parent 88b72de282
commit 1672b0d619
No known key found for this signature in database
GPG key ID: 7CC46565708259A7

View file

@ -120,9 +120,7 @@ impl Renderer {
let scale_factor = viewport.scale_factor() as f32;
let transformation = viewport.projection();
for line in overlay {
println!("{}", line.as_ref());
}
self.draw_overlay(overlay, viewport);
self.prepare(
engine,
@ -494,6 +492,50 @@ impl Renderer {
let _ = ManuallyDrop::into_inner(render_pass);
}
fn draw_overlay(
&mut self,
overlay: &[impl AsRef<str>],
viewport: &Viewport,
) {
use crate::core::alignment;
use crate::core::text::Renderer as _;
use crate::core::Renderer as _;
use crate::core::Vector;
self.with_layer(
Rectangle::with_size(viewport.logical_size()),
|renderer| {
for (i, line) in overlay.iter().enumerate() {
let text = crate::core::Text {
content: line.as_ref().to_owned(),
bounds: viewport.logical_size(),
size: Pixels(20.0),
line_height: core::text::LineHeight::default(),
font: Font::MONOSPACE,
horizontal_alignment: alignment::Horizontal::Left,
vertical_alignment: alignment::Vertical::Top,
shaping: core::text::Shaping::Basic,
};
renderer.fill_text(
text.clone(),
Point::new(11.0, 11.0 + 25.0 * i as f32),
Color::new(0.9, 0.9, 0.9, 1.0),
Rectangle::with_size(Size::INFINITY),
);
renderer.fill_text(
text,
Point::new(11.0, 11.0 + 25.0 * i as f32)
+ Vector::new(-1.0, -1.0),
Color::BLACK,
Rectangle::with_size(Size::INFINITY),
);
}
},
);
}
}
impl core::Renderer for Renderer {