computeSize method

  1. @override
double computeSize({
  1. required ParentLayout parent,
  2. required ChildLayout child,
  3. required LayoutHandle<Layout> layoutHandle,
  4. required LayoutAxis axis,
  5. required LayoutSize contentSize,
  6. required LayoutSize viewportSize,
})
override

Computes the size and clamps it between min and max bounds.

First computes the base size, then computes the min and max bounds, and finally clamps the result to ensure it stays within the allowed range.

Implementation

@override
double computeSize({
  required ParentLayout parent,
  required ChildLayout child,
  required LayoutHandle layoutHandle,
  required LayoutAxis axis,
  required LayoutSize contentSize,
  required LayoutSize viewportSize,
}) {
  double sz = size.computeSize(
    parent: parent,
    child: child,
    layoutHandle: layoutHandle,
    axis: axis,
    contentSize: contentSize,
    viewportSize: viewportSize,
  );
  double minSz = min.computeSize(
    parent: parent,
    child: child,
    layoutHandle: layoutHandle,
    axis: axis,
    contentSize: contentSize,
    viewportSize: viewportSize,
  );
  double maxSz = max.computeSize(
    parent: parent,
    child: child,
    layoutHandle: layoutHandle,
    axis: axis,
    contentSize: contentSize,
    viewportSize: viewportSize,
  );
  return sz.clamp(minSz, maxSz);
}