getClip method

  1. @override
Path getClip(
  1. Size size
)
override

Returns a description of the clip given that the render object being clipped is of the given size.

Implementation

@override
Path getClip(Size size) {
  var path = new Path();

  path.lineTo(0, 0);
  var nX = 0.0, nY = 0.0;
  for (var i = 0; i < points.length; i++) {
    var prevX = nX, prevY = nY;

    nX = points[i].x;
    nY = points[i].y;
    var dir = points[i].dir;

    var firstStart;
    if (dir == 0) {
      firstStart = Offset((size.width * prevX) / 12, (size.height * nY) / 12);
    } else {
      firstStart = Offset((size.width * nX) / 12, (size.height * prevY) / 12);
    }

    var firstEnd = Offset((size.width * nX) / 12, (size.height * nY) / 12);

    path.quadraticBezierTo(
        firstStart.dx, firstStart.dy, firstEnd.dx, firstEnd.dy);
  }
  path.lineTo(size.width, 0);

  path.close();
  return path;
}