void (@NotNull Graphics2D g, @Nullable Color color, @Nullable Color borderColor, int x1, int y1, int x2, int y2) { if (ExperimentalUI.isNewUI()) { if (color != null) { g.setColor(color); double width = x2 - x1; RectanglePainter2D.FILL.paint(g, x1, y1 + 1, width, y2 - y1 - 2, width); } else if (borderColor != null) { g.setColor(borderColor); double width = x2 - x1; RectanglePainter2D.DRAW.paint(g, x1, y1 + 1, width, y2 - y1 - 2, width); } return; } if (color != null) { g.setColor(color); g.fillRect(x1, y1, x2 - x1, y2 - y1); } if (borderColor != null) { Stroke oldStroke = g.getStroke(); g.setStroke(new BasicStroke(JBUIScale.scale(1))); g.setColor(borderColor); LinePainter2D.paint(g, x1, y1, x2 - 1, y1); LinePainter2D.paint(g, x1, y1, x1, y2 - 1); LinePainter2D.paint(g, x1, y2 - 1, x2 - 1, y2 - 1); g.setStroke(oldStroke); } }