performLayout method

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

Implementation

@override
void performLayout(fw.BoxConstraints constraints) {
  child?.layout(fw.BoxConstraints(
    minWidth: direction == AxisDirection.horizontal ? 0 : constraints.minWidth,
    maxWidth: direction == AxisDirection.horizontal ? 0x3FFFFFFF : constraints.maxWidth,
    minHeight: direction == AxisDirection.vertical ? 0 : constraints.minHeight,
    maxHeight: direction == AxisDirection.vertical ? 0x3FFFFFFF : constraints.maxHeight,
  ));
  setSize(constraints.maxWidth, constraints.maxHeight);

  final childH = child?.height ?? 0;
  final maxScroll = (childH - constraints.maxHeight).clamp(0, childH);
  _scrollOffset = _scrollOffset > maxScroll ? maxScroll : _scrollOffset;

  child?.setOffset(0, -_scrollOffset);
}