Merge branch 'develop' into update_212_Dec_merge_with_21125_chamges
[jalview.git] / src / jalview / gui / IdCanvas.java
index 14ae033..4f4b796 100755 (executable)
  */
 package jalview.gui;
 
-import jalview.datamodel.SequenceI;
-import jalview.viewmodel.ViewportListenerI;
-import jalview.viewmodel.ViewportRanges;
-
 import java.awt.BorderLayout;
 import java.awt.Color;
 import java.awt.Font;
@@ -37,6 +33,10 @@ import java.util.List;
 
 import javax.swing.JPanel;
 
+import jalview.datamodel.SequenceI;
+import jalview.viewmodel.ViewportListenerI;
+import jalview.viewmodel.ViewportRanges;
+
 /**
  * DOCUMENT ME!
  * 
@@ -66,6 +66,7 @@ public class IdCanvas extends JPanel implements ViewportListenerI
   AnnotationPanel ap;
 
   private Font idfont;
+  private boolean allowFastPaint;
 
   /**
    * Creates a new IdCanvas object.
@@ -226,11 +227,10 @@ public class IdCanvas extends JPanel implements ViewportListenerI
     {
       return;
     }
-
     g.setColor(Color.white);
     g.fillRect(0, 0, getWidth(), getHeight());
     
-    if (fastPaint)
+    if (allowFastPaint && fastPaint)
     {
       fastPaint = false;
       g.drawImage(image, 0, 0, this);
@@ -330,6 +330,7 @@ public class IdCanvas extends JPanel implements ViewportListenerI
       if (hasHiddenRows || alignViewport.isDisplayReferenceSeq())
       {
         g.setFont(getHiddenFont(sequence, alignViewport));
+        fm = g.getFontMetrics();
       }
 
       // Selected sequence colours
@@ -390,8 +391,6 @@ public class IdCanvas extends JPanel implements ViewportListenerI
     int alignmentWidth = alignViewport.getAlignment().getWidth();
     final int alheight = alignViewport.getAlignment().getHeight();
 
-    
-//    int annotationHeight = 0;
 
     /* (former)
      * assumption: SeqCanvas.calculateWrappedGeometry has been called
@@ -417,22 +416,9 @@ public class IdCanvas extends JPanel implements ViewportListenerI
       {
         ap = new AnnotationPanel(alignViewport);
       }
-//      annotationHeight = ap.adjustPanelHeight();
       labels = new AnnotationLabels(alignViewport);
     }
 
-//    int hgap = charHeight;
-//    if (alignViewport.getScaleAboveWrapped())
-//    {
-//      hgap += charHeight;
-//    }
-//
-//    /*
-//     * height of alignment + gap + annotations (if shown)
-//     */
-//    int cHeight = alheight * charHeight + hgap
-//            + annotationHeight;
-//
     ViewportRanges ranges = alignViewport.getRanges();
 
     int rowSize = ranges.getViewportWidth();
@@ -631,6 +617,6 @@ public class IdCanvas extends JPanel implements ViewportListenerI
    */
   public void setNoFastPaint()
   {
-    fastPaint = false;
+    allowFastPaint = false;
   }
 }