JAL-3210 Barebones gradle/buildship/eclipse. See README
[jalview.git] / src / jalview / schemes / ColourSchemeProperty.java
index 0123384..2d5b23d 100755 (executable)
@@ -22,6 +22,9 @@ package jalview.schemes;
 
 import jalview.api.AlignViewportI;
 import jalview.datamodel.AnnotatedCollectionI;
+import jalview.util.ColorUtils;
+
+import java.awt.Color;
 
 /**
  * ColourSchemeProperty binds names to hardwired colourschemes and tries to deal
@@ -38,11 +41,6 @@ import jalview.datamodel.AnnotatedCollectionI;
 public class ColourSchemeProperty
 {
 
-  private ColourSchemeProperty()
-  {
-    // requires static call to getColourScheme(...).
-  }
-
   /**
    * Returns a colour scheme for the given name, with which the given data may
    * be coloured. The name is not case-sensitive, and may be one of
@@ -111,6 +109,41 @@ public class ColourSchemeProperty
     return ucs;
   }
 
+  public static Color rnaHelices[] = null;
+
+  public static void initRnaHelicesShading(int n)
+  {
+    int j = 0;
+    if (rnaHelices == null)
+    {
+      rnaHelices = new Color[n + 1];
+    }
+    else if (rnaHelices != null && rnaHelices.length <= n)
+    {
+      Color[] t = new Color[n + 1];
+      System.arraycopy(rnaHelices, 0, t, 0, rnaHelices.length);
+      j = rnaHelices.length;
+      rnaHelices = t;
+    }
+    else
+    {
+      return;
+    }
+    // Generate random colors and store
+    for (; j <= n; j++)
+    {
+      rnaHelices[j] = ColorUtils.generateRandomColor(Color.white);
+    }
+  }
+
+  /**
+   * delete the existing cached RNA helices colours
+   */
+  public static void resetRnaHelicesShading()
+  {
+    rnaHelices = null;
+  }
+
   /**
    * Returns the name of the colour scheme (or "None" if it is null)
    *