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) {
  Path path = Path();
  path.lineTo(0.0, size.height);
  path.lineTo(size.width, size.height);
  path.lineTo(size.width, 0.0);
  path.lineTo(0.0, 0.0);
  path.close();

  double arrowWidth = 8.0;
  double startPointX = (size.width - arrowWidth) / 2;
  double startPointY = size.height / 2 - arrowWidth / 2;
  path.moveTo(startPointX, startPointY);
  path.lineTo(startPointX + arrowWidth / 2, startPointY - arrowWidth / 2);
  path.lineTo(startPointX + arrowWidth, startPointY);
  path.lineTo(startPointX + arrowWidth, startPointY + 1.0);
  path.lineTo(
      startPointX + arrowWidth / 2, startPointY - arrowWidth / 2 + 1.0);
  path.lineTo(startPointX, startPointY + 1.0);
  path.close();

  startPointY = size.height / 2 + arrowWidth / 2;
  path.moveTo(startPointX + arrowWidth, startPointY);
  path.lineTo(startPointX + arrowWidth / 2, startPointY + arrowWidth / 2);
  path.lineTo(startPointX, startPointY);
  path.lineTo(startPointX, startPointY - 1.0);
  path.lineTo(
      startPointX + arrowWidth / 2, startPointY + arrowWidth / 2 - 1.0);
  path.lineTo(startPointX + arrowWidth, startPointY - 1.0);
  path.close();

  return path;
}