@Override
public void onMouseClick(Buffer buffer, int clickCount, int x, int y, boolean isShiftHeld) {
int lineNumber = buffer.convertYToLineNumber(y, true);
LineInfo newLineInfo =
buffer.getDocument().getLineFinder().findLine(cursorAnchor.getLineInfo(), lineNumber);
int newColumn = buffer.convertXToRoundedVisibleColumn(x, newLineInfo.line());
// Allow the user to keep clicking to iterate through selection modes
clickCount = (clickCount - 1) % 3 + 1;
selectionGranularity = SelectionGranularity.forClickCount(clickCount);