layout method
Implementation
@override
void layout(BoxConstraints constraints) {
super.layout(constraints);
_runs = _computeRuns(constraints);
if (_runs.isEmpty) {
size = constraints.constrain(Size.zero);
return;
}
final contentMain = _runs.map((r) => r.main).reduce(math.max);
final contentCross =
_runs.fold<int>(0, (sum, run) => sum + run.cross) +
(runSpacing * math.max(0, _runs.length - 1));
final width = _isHorizontal ? contentMain : contentCross;
final height = _isHorizontal ? contentCross : contentMain;
size = constraints.constrain(Size(width.toDouble(), height.toDouble()));
}