iced/examples/tour/src/iced_ggez/renderer/debugger.rs
2019-09-20 19:15:31 +02:00

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);
}
}
}