getSizeConstraints static method

BoxConstraints getSizeConstraints(
  1. BeagleStyle? style,
  2. BoxConstraints constraints,
  3. EdgeValues padding
)

Implementation

static BoxConstraints getSizeConstraints(BeagleStyle? style, BoxConstraints constraints, EdgeValues padding) {
  if (style?.display == FlexDisplay.NONE) return BoxConstraints.tight(Size.zero);

  final width = getSize(style?.size?.width, constraints.maxWidth);
  final height = getSize(style?.size?.height, constraints.maxHeight);
  final minWidth = width ?? getSize(style?.size?.minWidth, constraints.maxWidth);
  final minHeight = height ?? getSize(style?.size?.minHeight, constraints.maxHeight);
  final maxWidth = width ?? getSize(style?.size?.maxWidth, constraints.maxWidth);
  final maxHeight = height ?? getSize(style?.size?.maxHeight, constraints.maxHeight);

  return BoxConstraints(
    minWidth: (minWidth ?? 0) + (padding.left ?? 0) + (padding.right ?? 0),
    minHeight: (minHeight ?? 0) + (padding.top ?? 0) + (padding.bottom ?? 0),
    maxWidth: (maxWidth ?? double.infinity) + (padding.left ?? 0) + (padding.right ?? 0),
    maxHeight: (maxHeight ?? double.infinity) + (padding.top ?? 0) + (padding.bottom ?? 0),
  );
}