handleTouch method

RadarTouchedSpot? handleTouch(
  1. Offset touchedPoint,
  2. Size viewSize,
  3. PaintHolder<RadarChartData> holder
)

Implementation

RadarTouchedSpot? handleTouch(
  Offset touchedPoint,
  Size viewSize,
  PaintHolder<RadarChartData> holder,
) {
  final targetData = holder.targetData;
  dataSetsPosition ??= calculateDataSetsPosition(viewSize, holder);

  for (var i = 0; i < dataSetsPosition!.length; i++) {
    final dataSetPosition = dataSetsPosition![i];
    for (var j = 0; j < dataSetPosition.entriesOffset.length; j++) {
      final entryOffset = dataSetPosition.entriesOffset[j];
      if ((touchedPoint.dx - entryOffset.dx).abs() <=
              targetData.radarTouchData.touchSpotThreshold &&
          (touchedPoint.dy - entryOffset.dy).abs() <=
              targetData.radarTouchData.touchSpotThreshold) {
        return RadarTouchedSpot(
          targetData.dataSets[i],
          i,
          targetData.dataSets[i].dataEntries[j],
          j,
          AFlSpot(entryOffset.dx, entryOffset.dy),
          entryOffset,
        );
      }
    }
  }
  return null;
}