Commit f757211f authored by Ian Hickson's avatar Ian Hickson

Merge pull request #1171 from Hixie/constraints

Merge Container's width, height, and constraints
parents c262842e 0379744c
......@@ -816,15 +816,20 @@ class Container extends StatelessComponent {
Container({
Key key,
this.child,
this.constraints,
BoxConstraints constraints,
this.decoration,
this.foregroundDecoration,
this.margin,
this.padding,
this.transform,
this.width,
this.height
}) : super(key: key) {
double width,
double height
}) : constraints =
(width != null || height != null)
? constraints?.tighten(width: width, height: height)
?? new BoxConstraints.tightFor(width: width, height: height)
: constraints,
super(key: key) {
assert(margin == null || margin.isNonNegative);
assert(padding == null || padding.isNonNegative);
assert(decoration == null || decoration.debugAssertValid());
......@@ -853,12 +858,6 @@ class Container extends StatelessComponent {
/// The transformation matrix to apply before painting the container.
final Matrix4 transform;
/// If non-null, requires the decoration to have this width.
final double width;
/// If non-null, requires the decoration to have this height.
final double height;
EdgeDims get _paddingIncludingDecoration {
if (decoration == null || decoration.padding == null)
return padding;
......@@ -871,7 +870,7 @@ class Container extends StatelessComponent {
Widget build(BuildContext context) {
Widget current = child;
if (child == null && (width == null || height == null))
if (child == null && (constraints == null || !constraints.isTight))
current = new ConstrainedBox(constraints: const BoxConstraints.expand());
EdgeDims effectivePadding = _paddingIncludingDecoration;
......@@ -889,14 +888,6 @@ class Container extends StatelessComponent {
);
}
if (width != null || height != null) {
current = new SizedBox(
width: width,
height: height,
child: current
);
}
if (constraints != null)
current = new ConstrainedBox(constraints: constraints, child: current);
......@@ -923,10 +914,6 @@ class Container extends StatelessComponent {
description.add('padding: $padding');
if (transform != null)
description.add('has transform');
if (width != null)
description.add('width: $width');
if (height != null)
description.add('height: $height');
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment