caretPosition method
Resolves an exact line-local UTF-16 position, including boundary affinity.
Implementation
@override
DiagramPoint caretPosition(DiagramTextPosition position) {
if (emptyCaretX case final x?) return DiagramPoint(x, 0);
final point = _paragraph.getOffsetForCaret(
TextPosition(
offset: start + position.offset.clamp(0, end - start),
affinity: flutterTextAffinity(position.affinity),
),
Rect.zero,
);
return DiagramPoint(point.dx, point.dy - top);
}