From 370dc13097e2d73d4f4e81fde441cc4b6b1c5f67 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Fri, 17 Jul 2015 17:04:59 -0700 Subject: [PATCH 1/2] 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 fd7d2330948d5..cfe9d885b96ef 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); From 206ca722ce2512f2518076217de2d322f9231180 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 20 Jul 2015 10:24:52 -0700 Subject: [PATCH 2/2] abarth feedback --- sky/sdk/lib/rendering/flex.dart | 40 ++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/sky/sdk/lib/rendering/flex.dart b/sky/sdk/lib/rendering/flex.dart index cfe9d885b96ef..dd1f4cac569f9 100644 --- a/sky/sdk/lib/rendering/flex.dart +++ b/sky/sdk/lib/rendering/flex.dart @@ -439,24 +439,6 @@ 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); @@ -465,4 +447,26 @@ class RenderFlex extends RenderBox with ContainerRenderObjectMixin