You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
873 B
Dart
27 lines
873 B
Dart
import 'package:flutter/material.dart';
|
|
|
|
class CustomShapeClipper extends CustomClipper<Path> {
|
|
@override
|
|
Path getClip(Size size) {
|
|
final Path path = Path();
|
|
path.lineTo(0.0, size.height);
|
|
|
|
var firstEndPoint = Offset(size.width * .5, size.height / 2);
|
|
var firstControlpoint = Offset(size.width * 0.25, size.height * 0.95 + 30);
|
|
path.quadraticBezierTo(firstControlpoint.dx, firstControlpoint.dy,
|
|
firstEndPoint.dx, firstEndPoint.dy);
|
|
|
|
var secondEndPoint = Offset(size.width, size.height * 0.10);
|
|
var secondControlPoint = Offset(size.width * .75, size.height * .10 - 20);
|
|
path.quadraticBezierTo(secondControlPoint.dx, secondControlPoint.dy,
|
|
secondEndPoint.dx, secondEndPoint.dy);
|
|
|
|
path.lineTo(size.width, 0.0);
|
|
path.close();
|
|
return path;
|
|
}
|
|
|
|
@override
|
|
bool shouldReclip(CustomClipper oldClipper) => true;
|
|
}
|