getOffsetForCaret method

Offset getOffsetForCaret (TextPosition position, Rect caretPrototype)

Returns the offset at which to paint the caret.

Valid only after layout has been called.

Implementation

Offset getOffsetForCaret(TextPosition position, Rect caretPrototype) {
  assert(!_needsLayout);
  final int offset = position.offset;
  assert(position.affinity != null);
  switch (position.affinity) {
    case TextAffinity.upstream:
      return _getOffsetFromUpstream(offset, caretPrototype)
          ?? _getOffsetFromDownstream(offset, caretPrototype)
          ?? _emptyOffset;
    case TextAffinity.downstream:
      return _getOffsetFromDownstream(offset, caretPrototype)
          ?? _getOffsetFromUpstream(offset, caretPrototype)
          ?? _emptyOffset;
  }
  return null;
}