| Index: sky/sdk/lib/widgets/basic.dart
|
| diff --git a/sky/sdk/lib/widgets/basic.dart b/sky/sdk/lib/widgets/basic.dart
|
| index fd0f8a2c3a2c86a0a858acf50952bafe8256daac..8ffb4f186817ad81d37faf9b2199fd6e00ce0411 100644
|
| --- a/sky/sdk/lib/widgets/basic.dart
|
| +++ b/sky/sdk/lib/widgets/basic.dart
|
| @@ -31,11 +31,14 @@ class Opacity extends OneChildRenderObjectWrapper {
|
| Opacity({ String key, this.opacity, Widget child })
|
| : super(key: key, child: child);
|
|
|
| + @override
|
| RenderOpacity get root => super.root;
|
| final double opacity;
|
|
|
| + @override
|
| RenderOpacity createNode() => new RenderOpacity(opacity: opacity);
|
|
|
| + @override
|
| void syncRenderObject(Opacity old) {
|
| super.syncRenderObject(old);
|
| root.opacity = opacity;
|
| @@ -46,12 +49,15 @@ class ColorFilter extends OneChildRenderObjectWrapper {
|
| ColorFilter({ String key, this.color, this.transferMode, Widget child })
|
| : super(key: key, child: child);
|
|
|
| + @override
|
| RenderColorFilter get root => super.root;
|
| final Color color;
|
| final sky.TransferMode transferMode;
|
|
|
| + @override
|
| RenderColorFilter createNode() => new RenderColorFilter(color: color, transferMode: transferMode);
|
|
|
| + @override
|
| void syncRenderObject(ColorFilter old) {
|
| super.syncRenderObject(old);
|
| root.color = color;
|
| @@ -64,11 +70,14 @@ class DecoratedBox extends OneChildRenderObjectWrapper {
|
| DecoratedBox({ String key, this.decoration, Widget child })
|
| : super(key: key, child: child);
|
|
|
| + @override
|
| RenderDecoratedBox get root => super.root;
|
| final BoxDecoration decoration;
|
|
|
| + @override
|
| RenderDecoratedBox createNode() => new RenderDecoratedBox(decoration: decoration);
|
|
|
| + @override
|
| void syncRenderObject(DecoratedBox old) {
|
| super.syncRenderObject(old);
|
| root.decoration = decoration;
|
| @@ -81,12 +90,15 @@ class CustomPaint extends OneChildRenderObjectWrapper {
|
| CustomPaint({ String key, this.callback, this.token, Widget child })
|
| : super(key: key, child: child);
|
|
|
| + @override
|
| RenderCustomPaint get root => super.root;
|
| final CustomPaintCallback callback;
|
| final dynamic token; // set this to be repainted automatically when the token changes
|
|
|
| + @override
|
| RenderCustomPaint createNode() => new RenderCustomPaint(callback: callback);
|
|
|
| + @override
|
| void syncRenderObject(CustomPaint old) {
|
| super.syncRenderObject(old);
|
| if (old != null && old.token != token)
|
| @@ -94,6 +106,7 @@ class CustomPaint extends OneChildRenderObjectWrapper {
|
| root.callback = callback;
|
| }
|
|
|
| + @override
|
| void remove() {
|
| root.callback = null;
|
| super.remove();
|
| @@ -105,7 +118,10 @@ class ClipRect extends OneChildRenderObjectWrapper {
|
| ClipRect({ String key, Widget child })
|
| : super(key: key, child: child);
|
|
|
| + @override
|
| RenderClipRect get root => super.root;
|
| +
|
| + @override
|
| RenderClipRect createNode() => new RenderClipRect();
|
|
|
| // Nothing to sync, so we don't implement syncRenderObject()
|
| @@ -117,7 +133,10 @@ class ClipRRect extends OneChildRenderObjectWrapper {
|
| ClipRRect({ String key, Widget child, this.xRadius, this.yRadius })
|
| : super(key: key, child: child);
|
|
|
| + @override
|
| RenderClipRRect get root => super.root;
|
| +
|
| + @override
|
| RenderClipRRect createNode() => new RenderClipRRect(xRadius: xRadius, yRadius: yRadius);
|
|
|
| void syncRenderObject(ClipRRect old) {
|
| @@ -131,7 +150,10 @@ class ClipOval extends OneChildRenderObjectWrapper {
|
| ClipOval({ String key, Widget child })
|
| : super(key: key, child: child);
|
|
|
| + @override
|
| RenderClipOval get root => super.root;
|
| +
|
| + @override
|
| RenderClipOval createNode() => new RenderClipOval();
|
|
|
| // Nothing to sync, so we don't implement syncRenderObject()
|
| @@ -144,11 +166,14 @@ class Transform extends OneChildRenderObjectWrapper {
|
| Transform({ String key, this.transform, Widget child })
|
| : super(key: key, child: child);
|
|
|
| + @override
|
| RenderTransform get root => super.root;
|
| final Matrix4 transform;
|
|
|
| + @override
|
| RenderTransform createNode() => new RenderTransform(transform: transform);
|
|
|
| + @override
|
| void syncRenderObject(Transform old) {
|
| super.syncRenderObject(old);
|
| root.transform = transform;
|
| @@ -161,11 +186,14 @@ class Padding extends OneChildRenderObjectWrapper {
|
| Padding({ String key, this.padding, Widget child })
|
| : super(key: key, child: child);
|
|
|
| + @override
|
| RenderPadding get root => super.root;
|
| final EdgeDims padding;
|
|
|
| + @override
|
| RenderPadding createNode() => new RenderPadding(padding: padding);
|
|
|
| + @override
|
| void syncRenderObject(Padding old) {
|
| super.syncRenderObject(old);
|
| root.padding = padding;
|
| @@ -177,7 +205,10 @@ class Center extends OneChildRenderObjectWrapper {
|
| Center({ String key, Widget child })
|
| : super(key: key, child: child);
|
|
|
| + @override
|
| RenderPositionedBox get root => super.root;
|
| +
|
| + @override
|
| RenderPositionedBox createNode() => new RenderPositionedBox();
|
|
|
| // Nothing to sync, so we don't implement syncRenderObject()
|
| @@ -192,11 +223,13 @@ class SizedBox extends OneChildRenderObjectWrapper {
|
| Widget child
|
| }) : super(key: key, child: child);
|
|
|
| + @override
|
| RenderConstrainedBox get root => super.root;
|
|
|
| final double width;
|
| final double height;
|
|
|
| + @override
|
| RenderConstrainedBox createNode() => new RenderConstrainedBox(additionalConstraints: _additionalConstraints());
|
|
|
| BoxConstraints _additionalConstraints() {
|
| @@ -208,6 +241,7 @@ class SizedBox extends OneChildRenderObjectWrapper {
|
| return result;
|
| }
|
|
|
| + @override
|
| void syncRenderObject(SizedBox old) {
|
| super.syncRenderObject(old);
|
| root.additionalConstraints = _additionalConstraints();
|
| @@ -220,12 +254,15 @@ class ConstrainedBox extends OneChildRenderObjectWrapper {
|
| ConstrainedBox({ String key, this.constraints, Widget child })
|
| : super(key: key, child: child);
|
|
|
| + @override
|
| RenderConstrainedBox get root => super.root;
|
|
|
| final BoxConstraints constraints;
|
|
|
| + @override
|
| RenderConstrainedBox createNode() => new RenderConstrainedBox(additionalConstraints: constraints);
|
|
|
| + @override
|
| void syncRenderObject(ConstrainedBox old) {
|
| super.syncRenderObject(old);
|
| root.additionalConstraints = constraints;
|
| @@ -242,13 +279,16 @@ class ShrinkWrapWidth extends OneChildRenderObjectWrapper {
|
| Widget child
|
| }): super(key: key, child: child);
|
|
|
| + @override
|
| RenderShrinkWrapWidth get root => super.root;
|
|
|
| final double stepWidth;
|
| final double stepHeight;
|
|
|
| + @override
|
| RenderShrinkWrapWidth createNode() => new RenderShrinkWrapWidth();
|
|
|
| + @override
|
| void syncRenderObject(ShrinkWrapWidth old) {
|
| super.syncRenderObject(old);
|
| root.stepWidth = stepWidth;
|
| @@ -266,13 +306,16 @@ class Baseline extends OneChildRenderObjectWrapper {
|
| Widget child
|
| }): super(key: key, child: child);
|
|
|
| + @override
|
| RenderBaseline get root => super.root;
|
|
|
| final double baseline;
|
| final TextBaseline baselineType;
|
|
|
| + @override
|
| RenderBaseline createNode() => new RenderBaseline(baseline: baseline, baselineType: baselineType);
|
|
|
| + @override
|
| void syncRenderObject(Baseline old) {
|
| super.syncRenderObject(old);
|
| root.baseline = baseline;
|
| @@ -286,16 +329,20 @@ class SizeObserver extends OneChildRenderObjectWrapper {
|
| SizeObserver({ String key, this.callback, Widget child })
|
| : super(key: key, child: child);
|
|
|
| + @override
|
| RenderSizeObserver get root => super.root;
|
| final SizeChangedCallback callback;
|
|
|
| + @override
|
| RenderSizeObserver createNode() => new RenderSizeObserver(callback: callback);
|
|
|
| + @override
|
| void syncRenderObject(SizeObserver old) {
|
| super.syncRenderObject(old);
|
| root.callback = callback;
|
| }
|
|
|
| + @override
|
| void remove() {
|
| root.callback = null;
|
| super.remove();
|
| @@ -329,6 +376,7 @@ class Container extends Component {
|
| final double width;
|
| final double height;
|
|
|
| + @override
|
| Widget build() {
|
| Widget current = child;
|
|
|
| @@ -369,7 +417,10 @@ class Block extends MultiChildRenderObjectWrapper {
|
| Block(List<Widget> children, { String key })
|
| : super(key: key, children: children);
|
|
|
| + @override
|
| RenderBlock get root => super.root;
|
| +
|
| + @override
|
| RenderBlock createNode() => new RenderBlock();
|
| }
|
|
|
| @@ -377,7 +428,10 @@ class Stack extends MultiChildRenderObjectWrapper {
|
| Stack(List<Widget> children, { String key })
|
| : super(key: key, children: children);
|
|
|
| + @override
|
| RenderStack get root => super.root;
|
| +
|
| + @override
|
| RenderStack createNode() => new RenderStack();
|
| }
|
|
|
| @@ -406,13 +460,17 @@ class Flex extends MultiChildRenderObjectWrapper {
|
| this.alignItems: FlexAlignItems.center
|
| }) : super(key: key, children: children);
|
|
|
| + @override
|
| RenderFlex get root => super.root;
|
| +
|
| + @override
|
| RenderFlex createNode() => new RenderFlex(direction: this.direction);
|
|
|
| final FlexDirection direction;
|
| final FlexJustifyContent justifyContent;
|
| final FlexAlignItems alignItems;
|
|
|
| + @override
|
| void syncRenderObject(Widget old) {
|
| super.syncRenderObject(old);
|
| root.direction = direction;
|
| @@ -430,11 +488,15 @@ class Flexible extends ParentDataNode {
|
| class Inline extends LeafRenderObjectWrapper {
|
| Inline({ String key, this.text }) : super(key: key);
|
|
|
| + @override
|
| RenderParagraph get root => super.root;
|
| +
|
| + @override
|
| RenderParagraph createNode() => new RenderParagraph(text);
|
|
|
| final InlineBase text;
|
|
|
| + @override
|
| void syncRenderObject(Widget old) {
|
| super.syncRenderObject(old);
|
| root.inline = text;
|
| @@ -460,6 +522,7 @@ class StyledText extends Component {
|
| throw new ArgumentError("invalid elements");
|
| }
|
|
|
| + @override
|
| Widget build() {
|
| return new Inline(text: _toInline(elements));
|
| }
|
| @@ -470,6 +533,8 @@ class Text extends Component {
|
| final String data;
|
| final TextStyle style;
|
| bool get interchangeable => true;
|
| +
|
| + @override
|
| Widget build() {
|
| InlineBase text = new InlineText(data);
|
| TextStyle defaultStyle = DefaultTextStyle.of(this);
|
| @@ -492,12 +557,16 @@ class Image extends LeafRenderObjectWrapper {
|
| Image({ sky.Image image, this.size })
|
| : image = image, super(key: image.hashCode.toString());
|
|
|
| + @override
|
| RenderImage get root => super.root;
|
| +
|
| + @override
|
| RenderImage createNode() => new RenderImage(image, size);
|
|
|
| final sky.Image image;
|
| final Size size;
|
|
|
| + @override
|
| void syncRenderObject(Widget old) {
|
| super.syncRenderObject(old);
|
| root.image = image;
|
| @@ -512,6 +581,7 @@ class FutureImage extends StatefulComponent {
|
| Size size;
|
| sky.Image _resolvedImage;
|
|
|
| + @override
|
| void didMount() {
|
| super.didMount();
|
| _resolveImage();
|
| @@ -527,6 +597,7 @@ class FutureImage extends StatefulComponent {
|
| });
|
| }
|
|
|
| + @override
|
| void syncFields(FutureImage source) {
|
| bool needToResolveImage = (image != source.image);
|
| image = source.image;
|
| @@ -535,6 +606,7 @@ class FutureImage extends StatefulComponent {
|
| _resolveImage();
|
| }
|
|
|
| + @override
|
| Widget build() {
|
| return new Image(image: _resolvedImage, size: size);
|
| }
|
| @@ -546,6 +618,7 @@ class NetworkImage extends Component {
|
| final String src;
|
| final Size size;
|
|
|
| + @override
|
| Widget build() {
|
| return new FutureImage(image: image_cache.load(src), size: size);
|
| }
|
| @@ -559,6 +632,7 @@ class AssetImage extends Component {
|
| final String name;
|
| final Size size;
|
|
|
| + @override
|
| Widget build() {
|
| return new FutureImage(image: bundle.loadImage(name), size: size);
|
| }
|
| @@ -570,11 +644,15 @@ class WidgetToRenderBoxAdapter extends LeafRenderObjectWrapper {
|
| : renderBox = renderBox,
|
| super(key: renderBox.hashCode.toString());
|
|
|
| + @override
|
| RenderBox get root => super.root;
|
| +
|
| + @override
|
| RenderBox createNode() => this.renderBox;
|
|
|
| final RenderBox renderBox;
|
|
|
| + @override
|
| void syncRenderObject(Widget old) {
|
| super.syncRenderObject(old);
|
| if (old != null) {
|
| @@ -583,6 +661,7 @@ class WidgetToRenderBoxAdapter extends LeafRenderObjectWrapper {
|
| }
|
| }
|
|
|
| + @override
|
| void remove() {
|
| RenderObjectWrapper ancestor = findAncestorRenderObjectWrapper();
|
| assert(ancestor is RenderObjectWrapper);
|
|
|