performLayout method
Hook for subclasses to perform layout within the given constraints.
Implementation
@override
Size performLayout(BoxConstraints constraints) {
final borderWidget = widget as LeftBorder;
final padding = borderWidget.padding;
final extraW = 1 + padding.left + padding.right;
final extraH = padding.top + padding.bottom;
if (childElement != null) {
final childConstraints = BoxConstraints(
minWidth: max(0, constraints.minWidth - extraW),
maxWidth: constraints.maxWidth == BoxConstraints.infinity
? BoxConstraints.infinity
: max(0, constraints.maxWidth - extraW),
minHeight: max(0, constraints.minHeight - extraH),
maxHeight: constraints.maxHeight == BoxConstraints.infinity
? BoxConstraints.infinity
: max(0, constraints.maxHeight - extraH),
);
final childSize = childElement!.layout(childConstraints);
childElement!.relativeOffset = Offset(1 + padding.left, padding.top);
return constraints.constrain(
Size(childSize.width + extraW, childSize.height + extraH),
);
}
return constraints.constrain(Size(extraW, extraH));
}