Fastpaint updates
authoramwaterhouse <Andrew Waterhouse>
Thu, 16 Mar 2006 15:18:02 +0000 (15:18 +0000)
committeramwaterhouse <Andrew Waterhouse>
Thu, 16 Mar 2006 15:18:02 +0000 (15:18 +0000)
src/jalview/appletgui/AlignmentPanel.java

index 0423cbb..e0c327f 100755 (executable)
@@ -296,8 +296,7 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
       {\r
         return false;\r
       }\r
-      fastPaint = false;\r
-      vscroll.setValue(vscroll.getValue() - 1);\r
+      setScrollValues(hscroll.getValue(), vscroll.getValue()-1);\r
     }\r
     else\r
     {\r
@@ -305,10 +304,9 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
       {\r
         return false;\r
       }\r
-      fastPaint = false;\r
-      vscroll.setValue(vscroll.getValue() + 1);\r
+      setScrollValues(hscroll.getValue(), vscroll.getValue()+1);\r
     }\r
-    fastPaint = true;\r
+    repaint();\r
     return true;\r
   }\r
 \r
@@ -321,8 +319,7 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
       {\r
         return false;\r
       }\r
-      fastPaint = false;\r
-      hscroll.setValue(hscroll.getValue() - 1);\r
+      setScrollValues(hscroll.getValue()-1, vscroll.getValue());\r
     }\r
     else\r
     {\r
@@ -330,16 +327,15 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
       {\r
         return false;\r
       }\r
-      fastPaint = false;\r
-      hscroll.setValue(hscroll.getValue() + 1);\r
+      setScrollValues(hscroll.getValue()+1, vscroll.getValue());\r
     }\r
-    fastPaint = true;\r
+\r
+    repaint();\r
     return true;\r
   }\r
 \r
   public void setScrollValues(int x, int y)\r
   {\r
-\r
     av.setStartRes(x);\r
     av.setStartSeq(y);\r
     av.setEndRes(x + seqPanel.seqCanvas.getSize().width / av.getCharWidth() - 1);\r
@@ -385,7 +381,6 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
     av.setEndSeq(endSeq);\r
     hscroll.setValues(x, hextent, 0, av.getAlignment().getWidth());\r
     vscroll.setValues(y, vextent, 0, av.getAlignment().getHeight());\r
-\r
   }\r
 \r
   public void adjustmentValueChanged(AdjustmentEvent evt)\r
@@ -393,6 +388,7 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
     int oldX = av.getStartRes();\r
     int oldY = av.getStartSeq();\r
 \r
+\r
     if (evt==null || evt.getSource() == hscroll)\r
     {\r
       int x = hscroll.getValue();\r
@@ -401,6 +397,7 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
                    1);\r
     }\r
 \r
+\r
     if (evt==null || evt.getSource() == vscroll)\r
     {\r
       int offy = vscroll.getValue();\r
@@ -431,12 +428,14 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
     {\r
       repaint();\r
     }\r
-    else if(!seqPanel.seqCanvas.fastPaint)\r
+    else\r
     {\r
       // Make sure we're not trying to draw a panel\r
       // larger than the visible window\r
       if(scrollX>av.endRes-av.startRes)\r
-        scrollX = av.endRes-av.startRes;\r
+      {\r
+        scrollX = av.endRes - av.startRes;\r
+      }\r
       else if(scrollX<av.startRes-av.endRes)\r
         scrollX = av.startRes - av.endRes;\r
 \r
@@ -460,6 +459,7 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
 \r
   public void paint(Graphics g)\r
   {\r
+    invalidate();\r
     Dimension d = idPanel.idCanvas.getSize();\r
     idPanel.idCanvas.setSize(d.width, seqPanel.seqCanvas.getSize().height);\r
     annotationSpaceFillerHolder.setSize(d.width,\r