}
public int currentLineIndex() {
TextLine[] lines = getLines();
TwoLevelNavigator navigator = new TwoLevelNavigator(() -> lines.length, i -> lines[i].getLength());
return navigator.offsetToPosition(clampedCaretPosition.intValue(), Forward).getMajor();
}
private float getLineCenter(int index) {
return getLineY(index) + getLines()[index].getBounds().getHeight() / 2;
}