selectPositionAt method
- required Offset from,
- Offset? to,
- required SelectionChangedCause cause,
Select text between the global positions from
and to
.
from
corresponds to the TextSelection.baseOffset, and to
corresponds
to the TextSelection.extentOffset.
Implementation
void selectPositionAt({required Offset from, Offset? to, required SelectionChangedCause cause}) {
_computeTextMetricsIfNeeded();
final TextPosition fromPosition = _textPainter.getPositionForOffset(
globalToLocal(from) - _paintOffset,
);
final TextPosition? toPosition =
to == null ? null : _textPainter.getPositionForOffset(globalToLocal(to) - _paintOffset);
final int baseOffset = fromPosition.offset;
final int extentOffset = toPosition?.offset ?? fromPosition.offset;
final TextSelection newSelection = TextSelection(
baseOffset: baseOffset,
extentOffset: extentOffset,
affinity: fromPosition.affinity,
);
_setSelection(newSelection, cause);
}