void (int visualLine, int columnStart, float xStart, int y) { IntPair selectionRange = myVirtualSelectionMap.get(visualLine); if (selectionRange == null || selectionRange.second <= columnStart) return; float startX = selectionRange.first <= columnStart ? xStart : (float)myView.visualPositionToXY(new VisualPosition(visualLine, selectionRange.first)).getX(); float endX = (float)Math.min(myClip.x + myClip.width, myView.visualPositionToXY(new VisualPosition(visualLine, selectionRange.second)).getX()); paintBackground(myEditor.getColorsScheme().getColor(EditorColors.SELECTION_BACKGROUND_COLOR), startX, y, endX - startX); }