Polygon.from constructor

Polygon.from(
  1. dynamic value, {
  2. bool? stroke,
  3. Color? strokeColor,
  4. num? strokeWidth,
  5. double? strokeOpacity,
  6. StrokeCap? strokeCap,
  7. StrokeJoin? strokeJoin,
  8. Color? fillColor,
  9. double? fillOpacity,
  10. PathFillType? pathFillType,
  11. List<Color>? gradientStrokeColors,
  12. List<double>? gradientStrokeStops,
  13. List<Color>? gradientFillColors,
  14. List<double>? gradientFillStops,
  15. List<List<LatLng>>? holes,
  16. bool? withHoles,
  17. bool? isDotted,
  18. dynamic data,
})

Implementation

factory Polygon.from(
  dynamic value, {
  bool? stroke,
  Color? strokeColor,
  num? strokeWidth,
  double? strokeOpacity,
  StrokeCap? strokeCap,
  StrokeJoin? strokeJoin,
  Color? fillColor,
  double? fillOpacity,
  PathFillType? pathFillType,
  List<Color>? gradientStrokeColors,
  List<double>? gradientStrokeStops,
  List<Color>? gradientFillColors,
  List<double>? gradientFillStops,
  List<List<LatLng>>? holes,
  bool? withHoles,
  bool? isDotted,
  dynamic data,
}) {
  bool isPolygon = value is Polygon;
  bool isList = value is List;
  bool isLatLngs = isList && value.first is LatLng;
  bool isCoordinates =
      isList && value.first is List && value.first.first is num;

  assert(isPolygon || isLatLngs || isCoordinates);

  Polygon polygon = isPolygon ? value : Polygon(value);

  return polygon.copy(
    stroke: stroke,
    strokeColor: strokeColor,
    strokeWidth: strokeWidth,
    strokeOpacity: strokeOpacity,
    strokeCap: strokeCap,
    strokeJoin: strokeJoin,
    fillColor: fillColor,
    fillOpacity: fillOpacity,
    pathFillType: pathFillType,
    gradientStrokeColors: gradientStrokeColors,
    gradientStrokeStops: gradientStrokeStops,
    gradientFillColors: gradientFillColors,
    gradientFillStops: gradientFillStops,
    holes: holes,
    withHoles: withHoles,
    isDotted: isDotted,
    data: data,
  );
}