getMinIntrinsicWidth method

  1. @mustCallSuper
double getMinIntrinsicWidth (double height)
@mustCallSuper

Returns the minimum width that this box could be without failing to correctly paint its contents within itself, without clipping.

The height argument may give a specific height to assume. The given height can be infinite, meaning that the intrinsic width in an unconstrained environment is being requested. The given height should never be negative or null.

This function should only be called on one's children. Calling this function couples the child with the parent so that when the child's layout changes, the parent is notified (via markNeedsLayout).

Calling this function is expensive and as it can result in O(N^2) behavior.

Do not override this method. Instead, implement computeMinIntrinsicWidth.

Implementation

@mustCallSuper
double getMinIntrinsicWidth(double height) {
  assert(() {
    if (height == null) {
      throw FlutterError.fromParts(<DiagnosticsNode>[
        ErrorSummary('The height argument to getMinIntrinsicWidth was null.'),
        ErrorDescription('The argument to getMinIntrinsicWidth must not be negative or null.'),
        ErrorHint('If you do not have a specific height in mind, then pass double.infinity instead.'),
      ]);
    }
    if (height < 0.0) {
      throw FlutterError.fromParts(<DiagnosticsNode>[
        ErrorSummary('The height argument to getMinIntrinsicWidth was negative.'),
        ErrorDescription('The argument to getMinIntrinsicWidth must not be negative or null.'),
        ErrorHint(
          'If you perform computations on another height before passing it to '
          'getMinIntrinsicWidth, consider using math.max() or double.clamp() '
          'to force the value into the valid range.'
        ),
      ]);
    }
    return true;
  }());
  return _computeIntrinsicDimension(_IntrinsicDimension.minWidth, height, computeMinIntrinsicWidth);
}