buildPath method
Implementation
Path buildPath(ShapeEntity shape) {
final path = Path();
if (shape.type == ShapeEntityType.SHAPE) {
final args = shape.shape;
final argD = args.d;
return buildDPath(argD, path: path);
} else if (shape.type == ShapeEntityType.ELLIPSE) {
final args = shape.ellipse;
final xv = args.x;
final yv = args.y;
final rxv = args.radiusX;
final ryv = args.radiusY;
final rect = Rect.fromLTWH(xv - rxv, yv - ryv, rxv * 2, ryv * 2);
if (!rect.isEmpty) path.addOval(rect);
} else if (shape.type == ShapeEntityType.RECT) {
final args = shape.rect;
final xv = args.x;
final yv = args.y;
final wv = args.width;
final hv = args.height;
final crv = args.cornerRadius;
final rrect = RRect.fromRectAndRadius(
Rect.fromLTWH(xv, yv, wv, hv), Radius.circular(crv));
if (!rrect.isEmpty) path.addRRect(rrect);
}
return path;
}