calcItemSize method

void calcItemSize(
  1. SliverGridDelegate delegate,
  2. double layoutWidth
)
inherited

Implementation

void calcItemSize(SliverGridDelegate delegate, double layoutWidth) {
  double width = 0, height = 0;
  if (delegate is SliverGridDelegateWithFixedCrossAxisCount) {
    _crossSpacing = delegate.crossAxisSpacing;
    _mainSpacing = delegate.mainAxisSpacing;
    width = (layoutWidth - ((delegate.crossAxisCount - 1) * _mainSpacing)) /
        delegate.crossAxisCount;
    height = delegate.mainAxisExtent ?? width * delegate.childAspectRatio;
  } else if (delegate is SliverGridDelegateWithMaxCrossAxisExtent) {
    _crossSpacing = delegate.crossAxisSpacing;
    _mainSpacing = delegate.mainAxisSpacing;
    width = delegate.maxCrossAxisExtent;
    if (width > layoutWidth) width = layoutWidth;
    height = delegate.mainAxisExtent ?? width * delegate.childAspectRatio;
  }
  _itemSize = Size(width.roundToDouble(), height.roundToDouble());
}