| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 import '../resources/third_party/unittest/unittest.dart'; | 5 import '../resources/third_party/unittest/unittest.dart'; |
| 6 import '../resources/unit.dart'; | 6 import '../resources/unit.dart'; |
| 7 import 'dart:sky' as sky; | 7 import 'dart:sky' as sky; |
| 8 import 'package:sky/framework/layout2.dart'; | 8 import 'package:sky/framework/layout2.dart'; |
| 9 | 9 |
| 10 class RenderSizedBox extends RenderBox { | 10 class RenderSizedBox extends RenderBox { |
| 11 final double desiredHeight; | 11 final sky.Size desiredSize; |
| 12 final double desiredWidth; | |
| 13 | 12 |
| 14 RenderSizedBox({ this.desiredHeight: double.INFINITY, | 13 RenderSizedBox({ this.desiredSize }); |
| 15 this.desiredWidth: double.INFINITY }); | |
| 16 | 14 |
| 17 BoxDimensions getIntrinsicDimensions(BoxConstraints constraints) { | 15 BoxDimensions getIntrinsicDimensions(BoxConstraints constraints) { |
| 18 return new BoxDimensions.withConstraints(constraints, | 16 return new BoxDimensions.withConstraints(constraints, |
| 19 height: desiredHeight, | 17 width: desiredSize.width, |
| 20 width: desiredWidth); | 18 height: desiredSize.height); |
| 21 } | 19 } |
| 22 | 20 |
| 23 void layout(BoxConstraints constraints, { RenderNode relayoutSubtreeRoot }) { | 21 void layout(BoxConstraints constraints, { RenderNode relayoutSubtreeRoot }) { |
| 24 width = constraints.constrainWidth(desiredWidth); | 22 size = constraints.constrain(desiredSize); |
| 25 height = constraints.constrainHeight(desiredHeight); | |
| 26 layoutDone(); | 23 layoutDone(); |
| 27 } | 24 } |
| 28 } | 25 } |
| 29 | 26 |
| 30 void main() { | 27 void main() { |
| 31 initUnit(); | 28 initUnit(); |
| 32 | 29 |
| 33 test("should size to render view", () { | 30 test("should size to render view", () { |
| 34 RenderSizedBox root = new RenderSizedBox(); | 31 RenderSizedBox root = new RenderSizedBox(desiredSize: new sky.Size.infinite(
)); |
| 35 RenderView renderView = new RenderView(child: root); | 32 RenderView renderView = new RenderView(child: root); |
| 36 renderView.layout(newWidth: sky.view.width, newHeight: sky.view.height); | 33 renderView.layout(newWidth: sky.view.width, newHeight: sky.view.height); |
| 37 expect(root.width, equals(sky.view.width)); | 34 expect(root.size.width, equals(sky.view.width)); |
| 38 expect(root.height, equals(sky.view.height)); | 35 expect(root.size.height, equals(sky.view.height)); |
| 39 }); | 36 }); |
| 40 } | 37 } |
| OLD | NEW |