void (@NotNull Graphics g, @NotNull Rectangle r, EditorImpl editor, TextAttributes inlineAttributes, Font font, FontMetrics metrics) { Color effectColor = inlineAttributes.getEffectColor(); EffectType effectType = inlineAttributes.getEffectType(); if (effectColor != null) { g.setColor(effectColor); Graphics2D g2d = (Graphics2D)g; int xStart = r.x; int xEnd = r.x + r.width; int y = r.y + metrics.getAscent(); if (effectType == EffectType.LINE_UNDERSCORE) { EffectPainter.LINE_UNDERSCORE.paint(g2d, xStart, y, xEnd - xStart, metrics.getDescent(), font); } else if (effectType == EffectType.BOLD_LINE_UNDERSCORE) { EffectPainter.BOLD_LINE_UNDERSCORE.paint(g2d, xStart, y, xEnd - xStart, metrics.getDescent(), font); } else if (effectType == EffectType.STRIKEOUT) { EffectPainter.STRIKE_THROUGH.paint(g2d, xStart, y, xEnd - xStart, editor.getCharHeight(), font); } else if (effectType == EffectType.WAVE_UNDERSCORE) { EffectPainter.WAVE_UNDERSCORE.paint(g2d, xStart, y, xEnd - xStart, metrics.getDescent(), font); } else if (effectType == EffectType.BOLD_DOTTED_LINE) { EffectPainter.BOLD_DOTTED_UNDERSCORE.paint(g2d, xStart, y, xEnd - xStart, metrics.getDescent(), font); } } }