From 94c2318b89f17744c8041de99ae49252aa54e707 Mon Sep 17 00:00:00 2001 From: Oleg Shpynov Date: Tue, 3 Nov 2009 19:12:33 +0300 Subject: [PATCH] =?UTF-8?q?RUBY-5272=09Find=20usages=20shouldn=E2=80=8B'?= =?UTF-8?q?=E2=80=8Bt=20use=20foreground=20attributes=20for=20elements=20i?= =?UTF-8?q?n=20presentation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../usages/impl/UsageViewTreeCellRenderer.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/platform/usageView/src/com/intellij/usages/impl/UsageViewTreeCellRenderer.java b/platform/usageView/src/com/intellij/usages/impl/UsageViewTreeCellRenderer.java index dde3c506b8eb..71ee5f331c09 100644 --- a/platform/usageView/src/com/intellij/usages/impl/UsageViewTreeCellRenderer.java +++ b/platform/usageView/src/com/intellij/usages/impl/UsageViewTreeCellRenderer.java @@ -29,6 +29,7 @@ import com.intellij.usages.*; import javax.swing.*; import javax.swing.tree.DefaultMutableTreeNode; +import java.awt.*; /** * @author max @@ -131,6 +132,19 @@ class UsageViewTreeCellRenderer extends ColoredTreeCellRenderer { original = new SimpleTextAttributes(original.getStyle() | SimpleTextAttributes.STYLE_BOLD, original.getFgColor(), original.getWaveColor()); } } + // Fix problems with black background or white text as foreground + // Logic of checking hsb component was taken from CssColorGutterRenderer + if (original.getBgColor() != null){ + Color fgColor = original.getFgColor(); + if (fgColor != null){ + final float hsb[] = new float[3]; + Color.RGBtoHSB(fgColor.getRed(), fgColor.getGreen(), fgColor.getBlue(), hsb); + if (hsb[2] > 0.7f){ + fgColor = null; + } + } + return new SimpleTextAttributes(original.getStyle(), fgColor, original.getWaveColor()); + } return original; }