You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

45 lines
1.1 KiB

import 'package:flutter/material.dart';
class TrianglePainter extends CustomPainter {
Paint _paint;
final Color color;
final RelativeRect position;
final Size size;
final double radius;
final bool isInverted;
final double screenWidth;
TrianglePainter(
{@required this.color,
@required this.position,
@required this.size,
this.radius = 20,
this.isInverted = false,
this.screenWidth}) {
_paint = Paint()
..style = PaintingStyle.fill
..color = color
..strokeWidth = 10
..isAntiAlias = true;
}
@override
void paint(Canvas canvas, Size size) {
var path = Path();
path.moveTo(size.width - this.size.width + this.size.width / 1.5,
isInverted ? 0 : size.height);
path.lineTo(
size.width - this.size.width + this.size.width / 1.5 - radius / 3,
isInverted ? size.height : 0);
path.lineTo(
size.width - this.size.width + this.size.width / 1.5 + radius / 3,
isInverted ? size.height : 0);
path.close();
canvas.drawPath(path, _paint);
}
@override
bool shouldRepaint(CustomPainter oldDelegate) {
return true;
}
}