INNER CODE UNIT · Dart

CircularRevealClipper

aagarwal1012/IntroViews-Flutter · lib/src/clipper/circular_reveal_clipper.dart:6

class CircularRevealClipper extends CustomClipper<Rect> {
  const CircularRevealClipper({
    required this.revealPercent,
  });

  final double revealPercent;

  @override
  Rect getClip(Size size) {
    // center of rectangle
    final center = Offset(size.width / 2, size.height * 0.9);

    // Calculate distance from center to the top left corner to make sure we fill the screen via simple trigonometry.
    final theta = atan(center.dy / center.dx);
    final distanceToCorner = center.dy / sin(theta);

    final radius = distanceToCorner * revealPercent;
    final diameter = 2 * radius;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…