From 370dc13097e2d73d4f4e81fde441cc4b6b1c5f67 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Fri, 17 Jul 2015 17:04:59 -0700 Subject: [PATCH] Draw debug rects when flex overflows --- sky/sdk/lib/rendering/flex.dart | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/sky/sdk/lib/rendering/flex.dart b/sky/sdk/lib/rendering/flex.dart index fd7d23309..cfe9d885b 100644 --- a/sky/sdk/lib/rendering/flex.dart +++ b/sky/sdk/lib/rendering/flex.dart @@ -81,7 +81,8 @@ class RenderFlex extends RenderBox with ContainerRenderObjectMixin 0 ? (freeSpace / totalFlex) : 0.0; @@ -351,7 +354,7 @@ class RenderFlex extends RenderBox with ContainerRenderObjectMixin 0) { + assert(() { + // Draw a red rectangle over the overflow area in debug mode + // You should be using a Clip if you want to clip your children + Paint paint = new Paint()..color = const Color(0x7FFF0000); + Rect overflowRect; + switch(direction) { + case FlexDirection.horizontal: + overflowRect = offset + new Offset(size.width, 0.0) & + new Size(_overflow, size.height); + break; + case FlexDirection.vertical: + overflowRect = offset + new Offset(0.0, size.height) & + new Size(size.width, _overflow); + break; + } + canvas.drawRect(overflowRect, paint); + return true; + }); canvas.save(); canvas.clipRect(offset & size); defaultPaint(canvas, offset); -- GitLab