tooltipInfo method

  1. @override
TooltipInfo? tooltipInfo({
  1. Offset? position,
  2. int? pointIndex,
})
override

Implementation

@override
TooltipInfo? tooltipInfo({Offset? position, int? pointIndex}) {
  if (segmentRect != null) {
    pointIndex ??= currentSegmentIndex;
    final CartesianChartPoint<D> chartPoint = _chartPoint();
    final TooltipPosition? tooltipPosition =
        series.parent?.tooltipBehavior?.tooltipPosition;
    final Offset posFromRect =
        y.isNegative && bottom == 0
            ? segmentRect!.outerRect.bottomCenter
            : segmentRect!.outerRect.topCenter;
    final Offset preferredPos =
        tooltipPosition == TooltipPosition.pointer
            ? position ?? posFromRect
            : posFromRect;
    final ChartMarker marker = series.markerAt(pointIndex);
    final double markerHeight =
        series.markerSettings.isVisible ? marker.height / 2 : 0;
    return ChartTooltipInfo<T, D>(
      primaryPosition: series.localToGlobal(
        preferredPos.translate(0, -markerHeight),
      ),
      secondaryPosition: series.localToGlobal(
        preferredPos.translate(0, markerHeight),
      ),
      text: series.tooltipText(chartPoint),
      header:
          series.parent!.tooltipBehavior!.shared
              ? series.tooltipHeaderText(chartPoint)
              : series.name,
      data: series.dataSource![pointIndex],
      point: chartPoint,
      series: series.widget,
      renderer: series,
      segmentIndex: currentSegmentIndex,
      pointIndex: pointIndex,
      seriesIndex: series.index,
      markerColors: <Color?>[fillPaint.color],
      markerType: marker.type,
    );
  }
  return null;
}