JAL-3253-applet JAL-3383 Overview
[jalview.git] / src / jalview / util / ColorUtils.java
index 3eb080b..a2d8d3e 100644 (file)
@@ -199,6 +199,42 @@ public class ColorUtils
     }
   }
 
+  public static int bleachColourInt(int colour, float bleachFactor)
+  {
+    if (bleachFactor >= 1f)
+    {
+      return -1;// Color.WHITE;
+    }
+    if (bleachFactor <= -1f)
+    {
+      return 0xFF000000;// Color.BLACK;
+    }
+    if (bleachFactor == 0f)
+    {
+      return colour;
+    }
+
+    int red = (colour >> 16) & 0xFF;// getRed();
+    int green = (colour >> 8) & 0xFF;// colour.getGreen();
+    int blue = colour & 0xFF;// .getBlue();
+
+    if (bleachFactor > 0)
+    {
+      red += (255 - red) * bleachFactor;
+      green += (255 - green) * bleachFactor;
+      blue += (255 - blue) * bleachFactor;
+    }
+    else
+    {
+      float factor = 1 + bleachFactor;
+      red *= factor;
+      green *= factor;
+      blue *= factor;
+    }
+    return 0xFF000000 | (red << 16) | (green << 8) | blue;// new Color(red,
+                                                          // green, blue);
+  }
+
   /**
    * Parses a string into a Color, where the accepted formats are
    * <ul>