JAL-3383 javadoc
[jalview.git] / src / jalview / renderer / seqfeatures / FeatureColourFinder.java
index cfe2735..ee40d83 100644 (file)
@@ -23,6 +23,7 @@ package jalview.renderer.seqfeatures;
 import jalview.api.FeatureRenderer;
 import jalview.api.FeaturesDisplayedI;
 import jalview.datamodel.SequenceI;
+import jalview.util.Platform;
 import jalview.viewmodel.seqfeatures.FeatureRendererModel;
 
 import java.awt.Color;
@@ -48,6 +49,8 @@ public class FeatureColourFinder
    */
   private BufferedImage offscreenImage;
 
+  private Graphics goff;
+
   /**
    * Constructor
    * 
@@ -57,6 +60,7 @@ public class FeatureColourFinder
   {
     featureRenderer = fr;
     offscreenImage = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB);
+    goff = offscreenImage.getGraphics();
   }
 
   /**
@@ -94,7 +98,7 @@ public class FeatureColourFinder
      */
     if (featureRenderer.getTransparency() != 1f)
     {
-      g = offscreenImage.getGraphics();
+      g = goff;
       if (defaultColour != null)
       {
         offscreenImage.setRGB(0, 0, defaultColour.getRGB());
@@ -109,8 +113,17 @@ public class FeatureColourFinder
 
     if (g != null)
     {
+      if (Platform.isJS())
+      {
+        /*
+         * for JavaScript the pixel itself
+         * is a resource that needs to be recreated in getRGB(0,0)
+         */
+        offscreenImage.flush();
+      }
       c = new Color(offscreenImage.getRGB(0, 0));
     }
+
     return c;
   }
 
@@ -120,7 +133,7 @@ public class FeatureColourFinder
    * 
    * @return
    */
-  boolean noFeaturesDisplayed()
+  public boolean noFeaturesDisplayed()
   {
     if (featureRenderer == null
             || !featureRenderer.getViewport().isShowSequenceFeatures())