JAL-2600 Abandoned fastpaint for resize; now full repaint, single call
[jalview.git] / src / jalview / gui / SeqCanvas.java
index c46e752..448dc6d 100755 (executable)
@@ -286,8 +286,6 @@ public class SeqCanvas extends JComponent implements ViewportListenerI
     fastpainting = true;
     fastPaint = true;
     updateViewport();
-    gg.copyArea(horizontal * charWidth, vertical * charHeight, imgWidth,
-            imgHeight, -horizontal * charWidth, -vertical * charHeight);
 
     ViewportRanges ranges = av.getRanges();
     int sr = ranges.getStartRes();
@@ -297,6 +295,9 @@ public class SeqCanvas extends JComponent implements ViewportListenerI
     int transX = 0;
     int transY = 0;
 
+    gg.copyArea(horizontal * charWidth, vertical * charHeight, imgWidth,
+            imgHeight, -horizontal * charWidth, -vertical * charHeight);
+
     if (horizontal > 0) // scrollbar pulled right, image to the left
     {
       transX = (er - sr - horizontal) * charWidth;
@@ -668,7 +669,7 @@ public class SeqCanvas extends JComponent implements ViewportListenerI
       int blockEnd = endRes;
 
       for (int[] region : av.getAlignment().getHiddenColumns()
-              .getHiddenColumnsCopyAsList())
+              .getHiddenColumnsCopy())
       {
         int hideStart = region[0];
         int hideEnd = region[1];
@@ -989,13 +990,14 @@ public class SeqCanvas extends JComponent implements ViewportListenerI
   {
     if (!av.getWrapAlignment())
     {
-      if (evt.getPropertyName().equals("startres")
-              || evt.getPropertyName().equals("endres"))
+      int scrollX = 0;
+      if ((evt.getPropertyName().equals("startres"))
+              || (evt.getPropertyName().equals("endres")))
       {
         // Make sure we're not trying to draw a panel
         // larger than the visible window
         ViewportRanges vpRanges = av.getRanges();
-        int scrollX = (int) evt.getNewValue() - (int) evt.getOldValue();
+        scrollX = (int) evt.getNewValue() - (int) evt.getOldValue();
         if (scrollX > vpRanges.getEndRes() - vpRanges.getStartRes())
         {
           scrollX = vpRanges.getEndRes() - vpRanges.getStartRes();
@@ -1004,13 +1006,28 @@ public class SeqCanvas extends JComponent implements ViewportListenerI
         {
           scrollX = vpRanges.getStartRes() - vpRanges.getEndRes();
         }
+      }
+
+      if (evt.getPropertyName().equals("startres"))
+      {
+        // scroll - startres and endres both change
         fastPaint(scrollX, 0);
       }
-      else if (evt.getPropertyName().equals("startseq")
-              || evt.getPropertyName().equals("endseq"))
+      else if (evt.getPropertyName().equals("endres"))
+      {
+        // resize - only endres changes
+
+      }
+      else if (evt.getPropertyName().equals("startseq"))
       {
+        // scroll
         fastPaint(0, (int) evt.getNewValue() - (int) evt.getOldValue());
       }
+      else if (evt.getPropertyName().equals("endseq"))
+      {
+        // resize
+
+      }
     }
   }
 }