drawHighlighted method

  1. @override
void drawHighlighted(
  1. Canvas c,
  2. List<Highlight>? indices
)
override

Draws all highlight indicators for the values that are currently highlighted.

@param c @param indices the highlighted values

Implementation

@override
void drawHighlighted(Canvas c, List<Highlight>? indices) {
  ChartPainter? chart = _painter;
  if (chart == null) return;

  for (DataRenderer renderer in _renderers) {
    ChartData? data;

    if (renderer is BarChartRenderer) {
      data = renderer.provider!.getBarData();
    } else if (renderer is LineChartRenderer) {
      data = renderer.provider!.getLineData();
    } else if (renderer is CandleStickChartRenderer) {
      data = renderer.porvider!.getCandleData();
    } else if (renderer is ScatterChartRenderer) {
      data = renderer.provider!.getScatterData();
    } else if (renderer is BubbleChartRenderer) {
      data = renderer.provider!.getBubbleData();
    }

    int dataIndex = data == null
        ? -1
        : (chart.getData() as CombinedData)
            .getAllData()
            .indexOf(data as BarLineScatterCandleBubbleData);

    mHighlightBuffer.clear();

    for (Highlight h in indices!) {
      if (h.dataIndex == dataIndex || h.dataIndex == -1) {
        mHighlightBuffer.add(h);
      }
    }

    renderer.drawHighlighted(c, mHighlightBuffer);
  }
}