draw method
void
draw()
override
Implementation
@override
void draw(Canvas canvas, Size size, double scaleX, double scrollX,
double Function(double) getX, double Function(double) getY) {
if (centerPoint == null) return;
final paint = Paint()
..color = color.withOpacity(state == DrawingToolState.drawing ? 0.6 : 1.0)
..strokeWidth = strokeWidth
..style = PaintingStyle.stroke;
// 如果是预览状态,绘制虚线效果
if (state == DrawingToolState.drawing) {
// 绘制虚线垂直线
_drawDashedLine(canvas, Offset(centerPoint!.dx, 0),
Offset(centerPoint!.dx, size.height), paint);
// 绘制虚线水平线
_drawDashedLine(canvas, Offset(0, centerPoint!.dy),
Offset(size.width, centerPoint!.dy), paint);
} else {
// 绘制垂直线
canvas.drawLine(
Offset(centerPoint!.dx, 0),
Offset(centerPoint!.dx, size.height),
paint,
);
// 绘制水平线
canvas.drawLine(
Offset(0, centerPoint!.dy),
Offset(size.width, centerPoint!.dy),
paint,
);
}
}