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 = Path();

  if (type == BubbleType.sendBubble) {
    path.addRRect(RRect.fromLTRBR(
        0, 0, size.width - nipSize, size.height, Radius.circular(radius)));

    var path2 = Path();
    path2.lineTo(nipSize, nipSize);
    path2.lineTo(0, 2 * nipSize);
    path2.lineTo(0, 0);

    path.addPath(path2,
        Offset(size.width - nipSize, size.height - offset - 2 * nipSize));
  } else {
    path.addRRect(RRect.fromLTRBR(
        nipSize, 0, size.width, size.height, Radius.circular(radius)));

    var path2 = Path();
    path2.lineTo(0, 2 * nipSize);
    path2.lineTo(-nipSize, nipSize);
    path2.lineTo(0, 0);

    path.addPath(path2, Offset(nipSize, size.height - offset - 2 * nipSize));
  }

  return path;
}