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 'dart:math' as math; | 5 import 'dart:math' as math; |
6 | 6 |
7 import 'box.dart'; | 7 import 'box.dart'; |
8 import 'object.dart'; | 8 import 'object.dart'; |
9 | 9 |
10 class BlockParentData extends BoxParentData with ContainerParentDataMixin<Render
Box> { } | 10 class BlockParentData extends BoxParentData with ContainerParentDataMixin<Render
Box> { } |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 } | 70 } |
71 | 71 |
72 double getMinIntrinsicHeight(BoxConstraints constraints) { | 72 double getMinIntrinsicHeight(BoxConstraints constraints) { |
73 return _getIntrinsicHeight(constraints); | 73 return _getIntrinsicHeight(constraints); |
74 } | 74 } |
75 | 75 |
76 double getMaxIntrinsicHeight(BoxConstraints constraints) { | 76 double getMaxIntrinsicHeight(BoxConstraints constraints) { |
77 return _getIntrinsicHeight(constraints); | 77 return _getIntrinsicHeight(constraints); |
78 } | 78 } |
79 | 79 |
| 80 double getDistanceToActualBaseline(TextBaseline baseline) { |
| 81 return defaultGetDistanceToFirstActualBaseline(baseline); |
| 82 } |
| 83 |
80 void performLayout() { | 84 void performLayout() { |
81 assert(constraints is BoxConstraints); | 85 assert(constraints is BoxConstraints); |
82 double width = constraints.constrainWidth(constraints.maxWidth); | 86 double width = constraints.constrainWidth(constraints.maxWidth); |
83 bool usesChildSize = !constraints.hasTightHeight; | 87 bool usesChildSize = !constraints.hasTightHeight; |
84 BoxConstraints innerConstraints = _getInnerConstraintsForWidth(width); | 88 BoxConstraints innerConstraints = _getInnerConstraintsForWidth(width); |
85 double y = 0.0; | 89 double y = 0.0; |
86 RenderBox child = firstChild; | 90 RenderBox child = firstChild; |
87 while (child != null) { | 91 while (child != null) { |
88 child.layout(innerConstraints, parentUsesSize: usesChildSize); | 92 child.layout(innerConstraints, parentUsesSize: usesChildSize); |
89 assert(child.parentData is BlockParentData); | 93 assert(child.parentData is BlockParentData); |
90 child.parentData.position = new Point(0.0, y); | 94 child.parentData.position = new Point(0.0, y); |
91 y += child.size.height; | 95 y += child.size.height; |
92 child = child.parentData.nextSibling; | 96 child = child.parentData.nextSibling; |
93 } | 97 } |
94 size = new Size(width, constraints.constrainHeight(y)); | 98 size = new Size(width, constraints.constrainHeight(y)); |
95 assert(size.width < double.INFINITY); | 99 assert(size.width < double.INFINITY); |
96 assert(size.height < double.INFINITY); | 100 assert(size.height < double.INFINITY); |
97 } | 101 } |
98 | 102 |
99 void hitTestChildren(HitTestResult result, { Point position }) { | 103 void hitTestChildren(HitTestResult result, { Point position }) { |
100 defaultHitTestChildren(result, position: position); | 104 defaultHitTestChildren(result, position: position); |
101 } | 105 } |
102 | 106 |
103 void paint(RenderCanvas canvas) { | 107 void paint(RenderCanvas canvas) { |
104 defaultPaint(canvas); | 108 defaultPaint(canvas); |
105 } | 109 } |
106 | 110 |
107 } | 111 } |
108 | 112 |
OLD | NEW |