calculateConstraints function
Implementation
BoxConstraints calculateConstraints(Size size, BoxSpec spec) {
final padding = spec.padding ?? EdgeInsets.zero;
final margin = spec.margin ?? EdgeInsets.zero;
double horizontalBorder = 0.0;
double verticalBorder = 0.0;
if (spec.decoration is BoxDecoration) {
final border = (spec.decoration as BoxDecoration).border;
if (border != null) {
horizontalBorder = border.dimensions.horizontal;
verticalBorder = border.dimensions.vertical;
}
}
final horizontalSpacing =
padding.horizontal + margin.horizontal + horizontalBorder;
final verticalSpacing = padding.vertical + margin.vertical + verticalBorder;
return BoxConstraints(
maxHeight: size.height - verticalSpacing,
maxWidth: size.width - horizontalSpacing,
);
}