calculateLayoutDimensions function
LayoutDimensions
calculateLayoutDimensions({
- required int columns,
- required LayoutMode layoutMode,
- required int optimalLeftWidth,
Calculate layout dimensions for the Logo component.
Implementation
LayoutDimensions calculateLayoutDimensions({
required int columns,
required LayoutMode layoutMode,
required int optimalLeftWidth,
}) {
if (layoutMode == LayoutMode.horizontal) {
final leftWidth = optimalLeftWidth;
final usedSpace =
_borderPadding + _contentPadding + _dividerWidth + leftWidth;
final availableForRight = columns - usedSpace;
var rightWidth = math.max(30, availableForRight);
var totalWidth = math.min(
leftWidth + rightWidth + _dividerWidth + _contentPadding,
columns - _borderPadding,
);
if (totalWidth < leftWidth + rightWidth + _dividerWidth + _contentPadding) {
rightWidth = totalWidth - leftWidth - _dividerWidth - _contentPadding;
}
return LayoutDimensions(
leftWidth: leftWidth,
rightWidth: rightWidth,
totalWidth: totalWidth,
);
}
// Compact mode
final totalWidth = math.min(columns - _borderPadding, _maxLeftWidth + 20);
return LayoutDimensions(
leftWidth: totalWidth,
rightWidth: totalWidth,
totalWidth: totalWidth,
);
}