copyWith method

StackBannersOptions copyWith({
  1. double? height,
  2. double? aspectRatio,
  3. bool? loop,
  4. Duration? autoPlayInterval,
  5. Duration? autoPlayAnimationDuration,
  6. Curve? autoPlayCurve,
  7. Axis? scrollDirection,
  8. Alignment? alignment,
  9. bool? autoPlay,
  10. Curve? curve,
  11. EdgeInsetsGeometry? padding,
  12. double? borderRadius,
  13. StackBannersStyle? style,
  14. Duration? itemAnimationDuration,
  15. Clip? clipBehavior,
})

Implementation

StackBannersOptions copyWith({
  double? height,
  double? aspectRatio,
  bool? loop,
  Duration? autoPlayInterval,
  Duration? autoPlayAnimationDuration,
  Curve? autoPlayCurve,
  Axis? scrollDirection,
  Alignment? alignment,
  bool? autoPlay,
  Curve? curve,
  EdgeInsetsGeometry? padding,
  double? borderRadius,
  StackBannersStyle? style,
  Duration? itemAnimationDuration,
  Clip? clipBehavior,
}) {
  var newAlignment = alignment ?? this.alignment;
  assert(
    newAlignment == Alignment.topCenter ||
        newAlignment == Alignment.bottomCenter ||
        newAlignment == Alignment.centerLeft ||
        newAlignment == Alignment.centerRight,
    'Alignment $newAlignment is not supported. '
    'Supported alignments are: Alignment.topCenter, Alignment.bottomCenter, '
    'Alignment.centerLeft, Alignment.centerRight.',
  );
  return StackBannersOptions(
    height: height ?? this.height,
    aspectRatio: aspectRatio ?? this.aspectRatio,
    loop: loop ?? this.loop,
    autoPlay: autoPlay ?? this.autoPlay,
    autoPlayInterval: autoPlayInterval ?? this.autoPlayInterval,
    autoPlayCurve: autoPlayCurve ?? this.autoPlayCurve,
    scrollDirection: scrollDirection ?? this.scrollDirection,
    alignment: newAlignment,
    curve: curve ?? this.curve,
    padding: padding ?? this.padding,
    borderRadius: borderRadius ?? this.borderRadius,
    style: style ?? this.style,
    itemAnimationDuration: itemAnimationDuration ?? this.itemAnimationDuration,
    clipBehavior: clipBehavior ?? this.clipBehavior,
  );
}