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) {
  if (position == null) position = size.width - 16;
  if (position! > size.width)
    throw Exception('position is greater than width.');
  final path = Path()
    ..moveTo(0, 0)
    ..lineTo(position! - holeRadius, 0.0)
    ..arcToPoint(
      Offset(position!, 0),
      clockwise: false,
      radius: Radius.circular(1),
    )
    ..lineTo(size.width, 0.0)
    ..lineTo(size.width, size.height)
    ..lineTo(position!, size.height)
    ..arcToPoint(
      Offset(position! - holeRadius, size.height),
      clockwise: false,
      radius: Radius.circular(1),
    );

  path.lineTo(0.0, size.height);

  path.close();
  return path;
}