flutter_date_time_picker/example/lib/shaped_border.dart
2022-11-22 11:53:08 +01:00

37 lines
912 B
Dart

import 'package:flutter/material.dart';
class ArrowedBorder extends ShapeBorder {
const ArrowedBorder();
@override
EdgeInsetsGeometry get dimensions => EdgeInsets.zero;
@override
Path getInnerPath(Rect rect, {TextDirection? textDirection}) {
rect = Rect.fromPoints(rect.topLeft, rect.bottomRight);
return Path()..addRect(rect);
}
@override
Path getOuterPath(Rect rect, {TextDirection? textDirection}) {
rect = Rect.fromPoints(rect.topLeft, rect.bottomRight);
return Path()
..addRRect(RRect.fromRectAndRadius(
rect,
const Radius.circular(16),
))
..moveTo(rect.bottomCenter.dx - 15, rect.bottomCenter.dy)
..relativeLineTo(15, 20)
..relativeLineTo(15, -20)
..close();
}
@override
void paint(Canvas canvas, Rect rect, {TextDirection? textDirection}) {}
@override
ShapeBorder scale(double t) {
return this;
}
}