drawPolygonArea method

void drawPolygonArea(
  1. Canvas canvas,
  2. Paint paint,
  3. List<Offset> points, {
  4. double? colorOpacity,
})

Implementation

void drawPolygonArea(Canvas canvas, Paint paint, List<Offset> points, {double? colorOpacity}) {
  if (_notDraw()) {
    return;
  }
  if (points.isEmpty) {
    return;
  }
  if (points.length == 1) {
    fillPaint(paint, null);
    canvas.drawPoints(PointMode.points, points, paint);
    return;
  }

  Path path = Path();
  path.moveTo(points[0].dx, points[0].dy);
  for (int i = 1; i < points.length; i++) {
    Offset offset = points[i];
    path.lineTo(offset.dx, offset.dy);
  }
  if (points.length >= 3) {
    path.close();
  }
  fillPaint(paint, path.getBounds(), colorOpacity: colorOpacity);
  paint.style = PaintingStyle.fill;
  canvas.drawPath(path, paint);

  border?.drawPolygon(canvas, paint, points, close: true);
}