draw method
绘制核心方法
deeper当前是否为底层绘制- 出于性能考虑
- 绘制过程为表层绘制,绘制完成抬起手指时会进行底层绘制
Implementation
@override
void draw(Canvas canvas, Size size, bool deeper) {
if (points.isEmpty) {
return;
}
if (points.length == 1) {
// 单点绘制
canvas.drawCircle(points[0], strokeWidthList[0] / 8, paint);
return;
}
if (useBezierCurve && points.length > 2) {
// 使用贝塞尔曲线绘制平滑线条
_drawWithBezierCurve(canvas);
} else {
// 使用原始的直线绘制
_drawWithStraightLines(canvas);
}
}