hide method

void hide()

Hides the trackball if it is displayed.

Implementation

void hide() {
  final SfCartesianChartState chartState = _chartState!;
  final TrackballBehaviorRenderer trackballBehaviorRenderer =
      chartState._trackballBehaviorRenderer;
  if (trackballBehaviorRenderer._trackballPainter != null &&
      !trackballBehaviorRenderer._isTrackballTemplate &&
      activationMode != ActivationMode.none) {
    if (chartState._chart.trackballBehavior.activationMode ==
        ActivationMode.doubleTap) {
      trackballBehaviorRenderer._trackballPainter!.canResetPath = false;
      ValueNotifier<int>(trackballBehaviorRenderer
          ._trackballPainter!.chartState._trackballRepaintNotifier.value++);
      if (trackballBehaviorRenderer._trackballPainter!.timer != null) {
        trackballBehaviorRenderer._trackballPainter!.timer?.cancel();
      }
    }
    if (!_chartState!._isTouchUp) {
      trackballBehaviorRenderer
          ._trackballPainter!.chartState._trackballRepaintNotifier.value++;
      trackballBehaviorRenderer._trackballPainter!.canResetPath = true;
    } else {
      final double duration =
          (hideDelay == 0 && chartState._enableDoubleTap) ? 200 : hideDelay;
      if (!shouldAlwaysShow) {
        trackballBehaviorRenderer._trackballPainter!.timer =
            Timer(Duration(milliseconds: duration.toInt()), () {
          trackballBehaviorRenderer._trackballPainter!.chartState
              ._trackballRepaintNotifier.value++;
          trackballBehaviorRenderer._trackballPainter!.canResetPath = true;
        });
      }
    }
  } else if (trackballBehaviorRenderer._trackballTemplate != null) {
    final GlobalKey key =
        trackballBehaviorRenderer._trackballTemplate!.key as GlobalKey;
    final _TrackballTemplateState trackballTemplateState =
        key.currentState as _TrackballTemplateState;
    final double duration =
        shouldAlwaysShow || (hideDelay == 0 && chartState._enableDoubleTap)
            ? 200
            : hideDelay;
    trackballTemplateState._trackballTimer =
        Timer(Duration(milliseconds: duration.toInt()), () {
      trackballTemplateState.hideTrackballTemplate();
    });
  }
}