From 3ca80d9e356d694c119fa034abc89ffbbebe2ef4 Mon Sep 17 00:00:00 2001 From: Adam Barth Date: Sat, 23 Apr 2016 14:23:31 -0700 Subject: [PATCH] A few minor improvements This patch contains a few minor improvements to the framework that I ran across while working on a new layout model. --- packages/flutter/lib/src/rendering/box.dart | 17 ++++++++++++++--- .../flutter/lib/src/rendering/proxy_box.dart | 2 +- packages/flutter/lib/src/widgets/basic.dart | 7 +++++++ 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/packages/flutter/lib/src/rendering/box.dart b/packages/flutter/lib/src/rendering/box.dart index 19201885b66..1141626c319 100644 --- a/packages/flutter/lib/src/rendering/box.dart +++ b/packages/flutter/lib/src/rendering/box.dart @@ -1049,7 +1049,7 @@ abstract class RenderBoxContainerDefaultsMixin getChildrenAsList() { + List result = []; + RenderBox child = firstChild; + while (child != null) { + final ParentDataType childParentData = child.parentData; + result.add(child); + child = childParentData.nextSibling; + } + return result; + } } class FractionalOffsetTween extends Tween { diff --git a/packages/flutter/lib/src/rendering/proxy_box.dart b/packages/flutter/lib/src/rendering/proxy_box.dart index baac6583e7c..bae08dc89e7 100644 --- a/packages/flutter/lib/src/rendering/proxy_box.dart +++ b/packages/flutter/lib/src/rendering/proxy_box.dart @@ -1118,7 +1118,7 @@ class RenderTransform extends RenderProxyBox { /// The alignment of the origin, relative to the size of the box. /// /// This is equivalent to setting an origin based on the size of the box. - /// If it is specificed at the same time as an offset, both are applied. + /// If it is specified at the same time as an offset, both are applied. FractionalOffset get alignment => _alignment; FractionalOffset _alignment; void set alignment (FractionalOffset newAlignment) { diff --git a/packages/flutter/lib/src/widgets/basic.dart b/packages/flutter/lib/src/widgets/basic.dart index 8130567808c..7b47cc18a70 100644 --- a/packages/flutter/lib/src/widgets/basic.dart +++ b/packages/flutter/lib/src/widgets/basic.dart @@ -2570,6 +2570,13 @@ class RepaintBoundary extends SingleChildRenderObjectWidget { return new RepaintBoundary(key: key, child: child); } + static List wrapAll(List widgets) { + List result = new List(widgets.length); + for (int i = 0; i < result.length; ++i) + result[i] = new RepaintBoundary.wrap(widgets[i], i); + return result; + } + @override RenderRepaintBoundary createRenderObject(BuildContext context) => new RenderRepaintBoundary(); }