summaryrefslogtreecommitdiffstats
path: root/examples/ggez/renderer/debugger.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-09-04 11:09:57 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-09-04 11:09:57 +0200
commitc583a2174d28878a6b1a31288e80b96fac62e799 (patch)
tree36c80d9a0565980d6bbee62c548c8db142555ba2 /examples/ggez/renderer/debugger.rs
parent2c35103035e47485f2fb049f86b3c00feb4b99d2 (diff)
downloadiced-c583a2174d28878a6b1a31288e80b96fac62e799.tar.gz
iced-c583a2174d28878a6b1a31288e80b96fac62e799.tar.bz2
iced-c583a2174d28878a6b1a31288e80b96fac62e799.zip
Improve tour example
Diffstat (limited to '')
-rw-r--r--examples/ggez/renderer/debugger.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/examples/ggez/renderer/debugger.rs b/examples/ggez/renderer/debugger.rs
new file mode 100644
index 00000000..98124795
--- /dev/null
+++ b/examples/ggez/renderer/debugger.rs
@@ -0,0 +1,30 @@
+use super::Renderer;
+use ggez::graphics::{Color, DrawMode, MeshBuilder, Rect};
+
+impl iced::renderer::Debugger for Renderer<'_> {
+ type Color = Color;
+
+ fn explain(&mut self, layout: &iced::Layout<'_>, color: 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,
+ },
+ color,
+ );
+
+ self.debug_mesh = Some(debug_mesh);
+
+ for child in layout.children() {
+ self.explain(&child, color);
+ }
+ }
+}