paintText method

void paintText(
  1. Canvas canvas,
  2. Offset center,
  3. List<Offset> points,
  4. List<double> data,
)

Implementation

void paintText(
    Canvas canvas, Offset center, List<Offset> points, List<double> data) {
  var textPainter = TextPainter(textDirection: TextDirection.ltr);
  for (var i = 0; i < points.length; i++) {
    String s = data[i].toStringAsFixed(decimalPrecision);
    textPainter.text =
        TextSpan(text: s, style: const TextStyle(color: Colors.black));
    textPainter.layout();
    if (points[i].dx < center.dx) {
      textPainter.paint(
          canvas, points[i].translate(-(textPainter.size.width + 5.0), 0));
    } else if (points[i].dx > center.dx) {
      textPainter.paint(canvas, points[i].translate(5.0, 0));
    } else if (points[i].dy < center.dy) {
      textPainter.paint(
          canvas, points[i].translate(-(textPainter.size.width / 2), -20));
    } else {
      textPainter.paint(
          canvas, points[i].translate(-(textPainter.size.width / 2), 4));
    }
  }
}