paintOverlay method
void
paintOverlay()
The snap marker, then a ring at each attaching placed or hovered point (decided on the pointer move; nothing is searched here).
Implementation
@override
void paintOverlay(Canvas canvas, ViewportTransform camera, Size viewport,
PaperPalette paper) {
super.paintOverlay(canvas, camera, viewport, paper);
_ringPaint.color = paper.preview;
final m = camera.worldToScreenMatrix;
void ring(Vector2 p) => canvas.drawCircle(
Offset(m.a * p.x + m.c * p.y + m.e, m.b * p.x + m.d * p.y + m.f),
kAttachRingPixels,
_ringPaint);
if (_ring0 && points.isNotEmpty) ring(points[0]);
if (_ring1 && points.length > 1) ring(points[1]);
if (_ringHover && hoverVisible) ring(hoverPoint);
}