import 'package:flutter/material.dart' hide TextStyle; import 'package:segmentation_douglas_peucker_flutter/dali_point.dart'; class SketcherPoints extends CustomPainter { SketcherPoints({ required this.points, }); final List points; @override void paint(Canvas canvas, Size size) { final Paint paint = Paint(); paint.color = Colors.red; final path = Path(); if (points.isEmpty) { return; } // Otherwise, draw a line that connects each point with a curve. path.moveTo( points[0].x.toDouble(), points[0].y.toDouble(), ); for (int i = 0; i < points.length; i++) { path.addOval( Rect.fromCircle( center: Offset( points[i].x.toDouble(), points[i].y.toDouble(), ), radius: 5, ), ); canvas.drawPath(path, paint); } } @override bool shouldRepaint(SketcherPoints oldDelegate) => true; }