JAL-2094 first pass with jalview.api.ColorI interface
[jalview.git] / src / jalview / appletgui / SeqCanvas.java
index ce70597..0e5c0e7 100755 (executable)
@@ -24,6 +24,7 @@ import jalview.datamodel.AlignmentI;
 import jalview.datamodel.SearchResults;
 import jalview.datamodel.SequenceGroup;
 import jalview.datamodel.SequenceI;
+import jalview.util.ColorUtils;
 import jalview.viewmodel.AlignmentViewport;
 
 import java.awt.Color;
@@ -276,6 +277,7 @@ public class SeqCanvas extends Panel
    * at 0). NOTE 1: The av limits are set in setFont in this class and in the
    * adjustment listener in SeqPanel when the scrollbars move.
    */
+  @Override
   public void update(Graphics g)
   {
     paint(g);
@@ -573,10 +575,17 @@ public class SeqCanvas extends Panel
           g1.translate(-screenY * avcharWidth, 0);
           screenY += blockEnd - blockStart + 1;
           blockStart = hideEnd + 1;
+
+          if (screenY > (endRes - startRes))
+          {
+            // already rendered last block
+            return;
+          }
         }
       }
       if (screenY <= (endRes - startRes))
       {
+        // remaining visible region to render
         blockEnd = blockStart + (endRes - startRes) - screenY;
         g1.translate(screenY * avcharWidth, 0);
         draw(g1, blockStart, blockEnd, startSeq, endSeq, offset);
@@ -723,7 +732,7 @@ public class SeqCanvas extends Panel
               }
               else
               {
-                g.setColor(group.getOutlineColour());
+                g.setColor(ColorUtils.getColor(group.getOutlineColour()));
               }
             }
           }