clamp method
Implementation
TextOffsetStateSnapshot clamp(
int textLength, {
bool preserveCollapsedSelection = false,
}) {
final clampedCursor = cursorOffset.clamp(0, textLength);
final clampedBase = selectionBaseOffset?.clamp(0, textLength);
final clampedExtent = selectionExtentOffset?.clamp(0, textLength);
if (clampedBase == null || clampedExtent == null) {
return TextOffsetStateSnapshot.collapsed(cursorOffset: clampedCursor);
}
if (clampedBase == clampedExtent && !preserveCollapsedSelection) {
return TextOffsetStateSnapshot.collapsed(cursorOffset: clampedCursor);
}
return TextOffsetStateSnapshot(
cursorOffset: clampedCursor,
selectionBaseOffset: clampedBase,
selectionExtentOffset: clampedExtent,
);
}