generate method

  1. @override
List<Point> generate(
  1. List<Point> points
)
override

Generates curve points from the given data points.

Implementation

@override
List<Point> generate(List<Point> points) {
  if (points.isEmpty) return [];
  if (points.length == 1) return [points.first];

  final result = <Point>[];
  result.add(points.first);

  for (int i = 1; i < points.length; i++) {
    final prev = points[i - 1];
    final curr = points[i];
    final midX = (prev.x + curr.x) / 2;

    result.add(Point(midX, prev.y));
    result.add(Point(midX, curr.y));
    result.add(curr);
  }

  return result;
}