nextStep static method
({int itemScrolled, double nextScrollPosition})?
nextStep({
- required M3ECarouselType type,
- required M3ECarouselHeroAlignment heroAlignment,
- required bool isExtended,
- required double uncontainedItemExtent,
- required List<
int> layoutWeight, - required double mainExtent,
- required int childrenLength,
- required int itemScrolled,
- required double prevScrollPosition,
- required int direction,
Computes the next scroll position and updated itemScrolled for one step.
Returns null when the step is out of bounds.
Implementation
static ({double nextScrollPosition, int itemScrolled})? nextStep({
required M3ECarouselType type,
required M3ECarouselHeroAlignment heroAlignment,
required bool isExtended,
required double uncontainedItemExtent,
required List<int> layoutWeight,
required double mainExtent,
required int childrenLength,
required int itemScrolled,
required double prevScrollPosition,
required int direction,
}) {
return switch (type) {
M3ECarouselType.hero => _heroStep(
heroAlignment: heroAlignment,
layoutWeight: layoutWeight,
mainExtent: mainExtent,
childrenLength: childrenLength,
itemScrolled: itemScrolled,
prevScrollPosition: prevScrollPosition,
direction: direction,
),
M3ECarouselType.contained => _containedStep(
isExtended: isExtended,
layoutWeight: layoutWeight,
mainExtent: mainExtent,
childrenLength: childrenLength,
itemScrolled: itemScrolled,
prevScrollPosition: prevScrollPosition,
direction: direction,
),
M3ECarouselType.uncontained => _uncontainedStep(
uncontainedItemExtent: uncontainedItemExtent,
childrenLength: childrenLength,
itemScrolled: itemScrolled,
prevScrollPosition: prevScrollPosition,
direction: direction,
),
};
}