scale static method

CarouselTransitionBuilder scale({
  1. double scale = 0.3,
  2. Curve curve = Curves.easeOut,
})

Implementation

static CarouselTransitionBuilder scale({
  double scale = 0.3,
  Curve curve = Curves.easeOut,
}) {
  return (
    BuildContext context,
    Widget? child,
    int page,
    double currentPage,
    int index,
    double currentIndex,
    int itemCount,
  ) {
    final distance = page - currentPage;
    if (distance == 0.0 || scale == 0) {
      return child ?? SizedBox();
    }

    final pageScale = (1 - distance.abs() * scale).clamp(0.0, 1.0);
    return Transform.scale(
      scale: curve.transform(pageScale),
      child: child,
    );
  };
}