JAL-3383 JAL-3253-applet removes unnecessary updateOverviewImage()
[jalview.git] / src / jalview / renderer / OverviewResColourFinder.java
index a497d92..ff52f1d 100644 (file)
@@ -81,30 +81,24 @@ public class OverviewResColourFinder extends ResidueColourFinder
   @Override
   public Color getBoxColour(ResidueShaderI shader, SequenceI seq, int i)
   {
-    Color resBoxColour = RESIDUE_COLOUR;
+    seq.resetColors();
+    Color c = seq.getColor(i);
+    if (c != null)
+    {
+      return c;
+    }
     char currentChar = seq.getCharAt(i);
-
     // In the overview window, gaps are coloured grey, unless the colour scheme
     // specifies a gap colour, in which case gaps honour the colour scheme
     // settings
-    if (shader.getColourScheme() != null)
+    boolean isGap = Comparison.isGap(currentChar);
+    if (shader.getColourScheme() == null)
     {
-      if (Comparison.isGap(currentChar)
-              && (!shader.getColourScheme().hasGapColour()))
-      {
-        resBoxColour = GAP_COLOUR;
-      }
-      else
-      {
-        resBoxColour = shader.findColour(currentChar, i, seq);
-      }
+      return seq.setColor(i, isGap ? GAP_COLOUR : RESIDUE_COLOUR);
     }
-    else if (Comparison.isGap(currentChar))
-    {
-      resBoxColour = GAP_COLOUR;
-    }
-
-    return resBoxColour;
+    return seq.setColor(i,
+            isGap && !shader.getColourScheme().hasGapColour() ? GAP_COLOUR
+                    : shader.findColour(currentChar, i, seq));
   }
 
   /**
@@ -113,21 +107,13 @@ public class OverviewResColourFinder extends ResidueColourFinder
    */
   @Override
   protected Color getResidueBoxColour(boolean showBoxes,
-          ResidueShaderI shader,
-          SequenceGroup[] allGroups, SequenceI seq, int i)
+          ResidueShaderI shader, SequenceGroup[] allGroups, SequenceI seq,
+          int i)
   {
-    ResidueShaderI currentShader;
     SequenceGroup currentSequenceGroup = getCurrentSequenceGroup(allGroups,
             i);
-    if (currentSequenceGroup != null)
-    {
-      currentShader = currentSequenceGroup.getGroupColourScheme();
-    }
-    else
-    {
-      currentShader = shader;
-    }
-
+    ResidueShaderI currentShader = (currentSequenceGroup == null ? shader
+            : currentSequenceGroup.getGroupColourScheme());
     return getBoxColour(currentShader, seq, i);
   }