///
/// 轨迹线类
///
class MoreLine CustomPainter {
final List?points;
final Color?color;
final double?myW;
final double?myH;
MoreLine(this.myH, this.myW, this.points, {this.color});
@override
void paint(Canvas canvas, Size size) {
final Path path =Path();
if (points?.length ==0) return;
final paint =Paint()
..color =color ?? Colors.red
..style = PaintingStyle.stroke
..strokeWidth =1.5;
bool first =true;
for (Offset pointin points!) {
if (first) {
path.moveTo(point.dx *myW!, point.dy *myH!);
first =false;
}else {
path.lineTo(point.dx *myW!, point.dy *myH!);
}
}
// 如果多边形是闭合的,添加close()调用
path.close();
canvas.drawPath(path, paint);
}
@override
boolshouldRepaint(covariant MoreLine oldDelegate) {
return color != oldDelegate.color;
}
}
///轨迹线的调用
CustomPaint(
size: Size(wr, hr),
painter: MoreLine(
mark_hr,
mark_wr,
logic.pointsAlien,
color: logic.isFrosted
? Colors.red?.withOpacity(0.3)
: Colors.red,
),
)