getLocalRectForCaret method
Returns the Rect in local coordinates for the caret at the given text position.
See also:
- getPositionForPoint, which is the reverse operation, taking an Offset in global coordinates and returning a TextPosition.
- getEndpointsForSelection, which is the equivalent but for a selection rather than a particular text position.
- TextPainter.getOffsetForCaret, the equivalent method for a TextPainter object.
Implementation
Rect getLocalRectForCaret(TextPosition caretPosition) {
_layoutText(constraints.maxWidth);
final Offset caretOffset = _textPainter.getOffsetForCaret(caretPosition, _caretPrototype);
// This rect is the same as _caretPrototype but without the vertical padding.
return Rect.fromLTWH(0.0, 0.0, cursorWidth, preferredLineHeight).shift(caretOffset + _paintOffset);
}