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);
}