void (int visualLine, int columnEnd, float xEnd, int y, VisualPosition selectionStartPosition, VisualPosition selectionEndPosition) { if (selectionStartPosition.equals(selectionEndPosition) || visualLine < selectionStartPosition.line || visualLine > selectionEndPosition.line || visualLine == selectionStartPosition.line && selectionStartPosition.column >= columnEnd) { return; } float startX = (selectionStartPosition.line == visualLine && selectionStartPosition.column > 0) ? (float)myView.visualPositionToXY(selectionStartPosition).getX() : myCorrector.startX(visualLine); float endX = (selectionEndPosition.line == visualLine && selectionEndPosition.column < columnEnd) ? (float)myView.visualPositionToXY(selectionEndPosition).getX() : xEnd; paintBackground(myEditor.getColorsScheme().getColor(EditorColors.SELECTION_BACKGROUND_COLOR), startX, y, endX - startX); }