FTooltipController constructor

FTooltipController({
  1. required TickerProvider vsync,
  2. bool shown = false,
  3. FTooltipMotionDelta motion = const FTooltipMotion(),
})

Creates a FTooltipController with the given vsync, shown and motion.

Implementation

FTooltipController({
  required TickerProvider vsync,
  bool shown = false,
  FTooltipMotionDelta motion = const FTooltipMotion(),
}) {
  if (shown) {
    _overlay.show();
  }

  final tooltipMotion = motion(const FTooltipMotion());
  _animation = AnimationController(
    vsync: vsync,
    duration: tooltipMotion.entranceDuration,
    reverseDuration: tooltipMotion.exitDuration,
  )..value = shown ? 1 : 0;
  _curveFade = CurvedAnimation(
    parent: _animation,
    curve: tooltipMotion.fadeInCurve,
    reverseCurve: tooltipMotion.fadeOutCurve,
  );
  _curveScale = CurvedAnimation(
    parent: _animation,
    curve: tooltipMotion.expandCurve,
    reverseCurve: tooltipMotion.collapseCurve,
  );
  _fade = tooltipMotion.fadeTween.animate(_curveFade);
  _scale = tooltipMotion.scaleTween.animate(_curveScale);
}