circle method

List<Rect> circle(
  1. Size size
)

Returns the two large circular cutouts (either left/right or top/bottom).

Implementation

List<Rect> circle(Size size) {
  final clipCenterY = size.height * circlePosition + clipRadius;
  final clipCenterX = size.width * circlePosition + clipRadius;

  switch (cardPosition) {
    case CardPosition.horizontal:
      return [
        Rect.fromCircle(center: Offset(0, clipCenterY), radius: clipRadius),
        Rect.fromCircle(
            center: Offset(size.width, clipCenterY), radius: clipRadius),
      ];
    case CardPosition.vertical:
      return [
        Rect.fromCircle(center: Offset(clipCenterX, 0), radius: clipRadius),
        Rect.fromCircle(
            center: Offset(clipCenterX, size.height), radius: clipRadius),
      ];
  }
}