calculateAlignment method
Implementation
double? calculateAlignment({
required int index,
required AntdEdge viewportAlign,
required AntdEdge itemAlign,
required bool isHorizontal,
required double viewportSize,
}) {
final itemLength = getLength(index, isHorizontal);
if (itemLength == null) return null;
switch (viewportAlign) {
case AntdEdge.start:
return itemAlign == AntdEdge.start
? 0
: (itemAlign == AntdEdge.center ? itemLength / 2 : itemLength);
case AntdEdge.center:
return itemAlign == AntdEdge.start
? -viewportSize / 2
: (itemAlign == AntdEdge.center
? -(viewportSize - itemLength) / 2
: -viewportSize / 2 + itemLength);
case AntdEdge.end:
return itemAlign == AntdEdge.start
? -viewportSize
: (itemAlign == AntdEdge.center
? -viewportSize + itemLength / 2
: -viewportSize + itemLength);
}
}