32 lines
810 B
Rust
32 lines
810 B
Rust
use super::{into_color, Renderer};
|
|
use ggez::graphics::{DrawMode, MeshBuilder, Rect};
|
|
|
|
impl iced_native::renderer::Debugger for Renderer<'_> {
|
|
fn explain(
|
|
&mut self,
|
|
layout: &iced_native::Layout<'_>,
|
|
color: iced_native::Color,
|
|
) {
|
|
let bounds = layout.bounds();
|
|
|
|
let mut debug_mesh =
|
|
self.debug_mesh.take().unwrap_or(MeshBuilder::new());
|
|
|
|
debug_mesh.rectangle(
|
|
DrawMode::stroke(1.0),
|
|
Rect {
|
|
x: bounds.x,
|
|
y: bounds.y,
|
|
w: bounds.width,
|
|
h: bounds.height,
|
|
},
|
|
into_color(color),
|
|
);
|
|
|
|
self.debug_mesh = Some(debug_mesh);
|
|
|
|
for child in layout.children() {
|
|
self.explain(&child, color);
|
|
}
|
|
}
|
|
}
|