| Index: sky/sdk/lib/framework/rendering/box.dart
|
| diff --git a/sky/sdk/lib/framework/rendering/box.dart b/sky/sdk/lib/framework/rendering/box.dart
|
| index 576c4b190e6c7ebe497954d50b80ec65b860ceb8..9c97a6cde328a474e5fcb2f7e1a27ecce88ae7eb 100644
|
| --- a/sky/sdk/lib/framework/rendering/box.dart
|
| +++ b/sky/sdk/lib/framework/rendering/box.dart
|
| @@ -560,6 +560,28 @@ class RenderTransform extends RenderProxyBox {
|
| }
|
| }
|
|
|
| +typedef void SizeChangedCallback(sky.Size newSize);
|
| +
|
| +class RenderSizeObserver extends RenderProxyBox {
|
| + RenderSizeObserver({
|
| + this.callback,
|
| + RenderBox child
|
| + }) : super(child) {
|
| + assert(callback != null);
|
| + }
|
| +
|
| + SizeChangedCallback callback;
|
| +
|
| + void performLayout() {
|
| + sky.Size oldSize = size;
|
| +
|
| + super.performLayout();
|
| +
|
| + if (oldSize != size)
|
| + callback(size);
|
| + }
|
| +}
|
| +
|
|
|
| // RENDER VIEW LAYOUT MANAGER
|
|
|
|
|