ExtendedTransformScrollbarController constructor

ExtendedTransformScrollbarController({
  1. required AnimationController fadeoutAnimationControllerVertical,
  2. required AnimationController fadeoutAnimationControllerHorizontal,
  3. required TransformScrollbarWidgetInterface controlInterface,
  4. ScrollPhysics? scrollPhysics,
  5. bool? thumbVisibility,
  6. OutlinedBorder? shape,
  7. Radius? radius,
  8. double? thickness,
  9. Color? thumbColor,
  10. double minThumbLength = _kMinThumbExtent,
  11. double? minOverscrollLength,
  12. bool? trackVisibility,
  13. Radius? trackRadius,
  14. Color? trackColor,
  15. Color? trackBorderColor,
  16. Duration fadeDuration = _kScrollbarFadeDuration,
  17. Duration timeToFade = _kScrollbarTimeToFade,
  18. Duration pressDuration = Duration.zero,
  19. bool? interactive,
  20. double mainAxisMargin = 0.0,
  21. double crossAxisMargin = 0.0,
  22. EdgeInsets? padding,
})

Implementation

ExtendedTransformScrollbarController({
  required this.fadeoutAnimationControllerVertical,
  required this.fadeoutAnimationControllerHorizontal,
  required this.controlInterface,
  this.scrollPhysics,
  this.thumbVisibility,
  this.shape,
  this.radius,
  this.thickness,
  this.thumbColor,
  this.minThumbLength = _kMinThumbExtent,
  this.minOverscrollLength,
  bool? trackVisibility,
  this.trackRadius,
  this.trackColor,
  this.trackBorderColor,
  this.fadeDuration = _kScrollbarFadeDuration,
  this.timeToFade = _kScrollbarTimeToFade,
  this.pressDuration = Duration.zero,
  this.interactive,
  this.mainAxisMargin = 0.0,
  this.crossAxisMargin = 0.0,
  this.padding,
})  : assert(
        !(thumbVisibility == false && (trackVisibility ?? false)),
        'A scrollbar track cannot be drawn without a scrollbar thumb.',
      ),
      assert(minThumbLength >= 0),
      assert(minOverscrollLength == null ||
          minOverscrollLength <= minThumbLength),
      assert(minOverscrollLength == null || minOverscrollLength >= 0),
      assert(radius == null || shape == null),
      trackVisibilityV = trackVisibility,
      trackVisibilityH = trackVisibility,
      super(
        fadeoutOpacityAnimationHorizontal: CurvedAnimation(
          parent: fadeoutAnimationControllerHorizontal,
          curve: Curves.fastOutSlowIn,
        ),
        fadeoutOpacityAnimationVertical: CurvedAnimation(
          parent: fadeoutAnimationControllerVertical,
          curve: Curves.fastOutSlowIn,
        ),
        color: thumbColor ?? const Color(0x66BCBCBC),
        thickness: thickness ?? _kScrollbarThickness,
        radius: radius,
        trackRadius: trackRadius,
        mainAxisMargin: mainAxisMargin,
        shape: shape,
        crossAxisMargin: crossAxisMargin,
        minLength: minThumbLength,
        minOverscrollLength: minOverscrollLength ?? minThumbLength,
      );