deflate method

BoxConstraints deflate(
  1. EdgeInsets edge
)

Returns new constraints reduced by the given edge insets (e.g. padding).

Implementation

BoxConstraints deflate(EdgeInsets edge) {
  final horizontal = edge.left + edge.right;
  final vertical = edge.top + edge.bottom;

  final deflatedMaxWidth = (maxWidth - horizontal).clamp(
    0,
    Constraints.infinity,
  );
  final deflatedMaxHeight = (maxHeight - vertical).clamp(
    0,
    Constraints.infinity,
  );
  final deflatedMinWidth = (minWidth - horizontal).clamp(
    0,
    Constraints.infinity,
  );
  final deflatedMinHeight = (minHeight - vertical).clamp(
    0,
    Constraints.infinity,
  );

  return BoxConstraints(
    minWidth: deflatedMinWidth.clamp(0, deflatedMaxWidth),
    maxWidth: deflatedMaxWidth,
    minHeight: deflatedMinHeight.clamp(0, deflatedMaxHeight),
    maxHeight: deflatedMaxHeight,
  );
}