hitTestContent method
TextHitResult?
hitTestContent(
- TextDocument document,
- EditorState state, {
- required int localX,
- required int visualRow,
Implementation
TextHitResult? hitTestContent(
TextDocument document,
EditorState state, {
required int localX,
required int visualRow,
}) {
final lines = softWrap
? buildViewportLines(document, state)
: buildLinesForCurrentViewport(document, state);
if (visualRow < 0 || visualRow >= lines.length) {
return null;
}
final line = lines[visualRow];
final columnInSegment = layout.localCellXToGraphemeIndex(line.text, localX);
final column = line.charOffset + columnInSegment;
final clampedColumn = column.clamp(
0,
document.lineLength(line.logicalLine),
);
return TextHitResult(
line: line.logicalLine,
column: clampedColumn,
visualRow: visualRow,
);
}