getPositionForPoint method
Implementation
@override
TextPosition getPositionForPoint(Offset? globalPosition) {
layoutTextWithConstraints(constraints);
final Offset offset = globalToLocal(globalPosition!);
TextPosition result = _textPainter.getPositionForOffset(offset);
// never drag over the over flow text span
final TextSelection selection = neverDragOnOverflow(TextSelection.collapsed(
offset: result.offset,
affinity: result.affinity,
));
if (selection.baseOffset != result.offset) {
result =
TextPosition(offset: selection.baseOffset, affinity: result.affinity);
} else if (selection.extentOffset != result.offset) {
result = TextPosition(
offset: selection.extentOffset, affinity: result.affinity);
}
return result;
}