performLayout method

  1. @override
void performLayout(
  1. Constraints constraints
)
override

Called to perform the actual layout computation for this render object.

Implementation

@override
void performLayout(Constraints constraints) {
  final boxConstraints = BoxConstraints.asBox(constraints);
  final isHorizontal = direction == Axis.horizontal;
  final axisExtents = _axisExtents(isHorizontal, boxConstraints);
  final totalFlex = _computeTotalFlex();

  final measurement = _measureChildren(
    isHorizontal,
    boxConstraints,
    totalFlex,
    axisExtents.main,
  );

  size = _computeSize(
    isHorizontal,
    measurement.nonFlexExtent,
    measurement.flexExtent,
    axisExtents.main,
    axisExtents.cross,
    measurement.crossExtent,
  );

  _resolveAndPositionChildren(
    isHorizontal,
    measurement.nonFlexExtent,
    measurement.flexExtent,
  );
}