layout method

  1. @override
void layout(
  1. BoxConstraints constraints
)
override

Implementation

@override
void layout(BoxConstraints constraints) {
  final combined = BoxConstraints(
    minWidth: math.max(constraints.minWidth, additionalConstraints.minWidth),
    maxWidth: math.min(constraints.maxWidth, additionalConstraints.maxWidth),
    minHeight: math.max(
      constraints.minHeight,
      additionalConstraints.minHeight,
    ),
    maxHeight: math.min(
      constraints.maxHeight,
      additionalConstraints.maxHeight,
    ),
  );
  super.layout(combined);
  _child?.layout(combined);
  final rendered = _constrainContent(
    _child?.paint() ?? '',
    width: combined.hasBoundedWidth ? combined.maxWidth.toInt() : null,
    height: combined.hasBoundedHeight ? combined.maxHeight.toInt() : null,
  );
  _lastPaint = rendered;
  size = combined.constrain(
    Size(
      Layout.getWidth(rendered).toDouble(),
      Layout.getHeight(rendered).toDouble(),
    ),
  );
}