X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FIdCanvas.java;h=cfbc403e42e5980927da36aae8f73898296350c4;hb=bef980d8536bd7da240abcbf357e3ed3b064b523;hp=5ce36cb108d045f85461d3af816b491823b753ba;hpb=76b5df40b2ae218a21d54b30bf726684fe660971;p=jalview.git diff --git a/src/jalview/gui/IdCanvas.java b/src/jalview/gui/IdCanvas.java index 5ce36cb..cfbc403 100755 --- a/src/jalview/gui/IdCanvas.java +++ b/src/jalview/gui/IdCanvas.java @@ -153,7 +153,7 @@ public class IdCanvas extends JPanel implements ViewportListenerI * @param vertical * DOCUMENT ME! */ - public void fastPaint(int vertical) + public void fastPaint(int vertical, boolean isresize) { if (gg == null) { @@ -171,26 +171,37 @@ public class IdCanvas extends JPanel implements ViewportListenerI int es = ranges.getEndSeq(); int transY = 0; - if (vertical > 0) // scroll down + if (isresize) { - ss = es - vertical; - - if (ss < ranges.getStartSeq()) - { // ie scrolling too fast, more than a page at a time - ss = ranges.getStartSeq(); - } - else + if (vertical != 0) { transY = imgHeight - ((vertical + 1) * av.getCharHeight()); + ss = es - vertical - ss; } } - else if (vertical < 0) // scroll up + else { - es = ss - vertical; + if (vertical > 0) // scroll down + { + ss = es - vertical; - if (es > ranges.getEndSeq()) + if (ss < ranges.getStartSeq()) + { // ie scrolling too fast, more than a page at a time + ss = ranges.getStartSeq(); + } + else + { + transY = imgHeight - ((vertical + 1) * av.getCharHeight()); + } + } + else if (vertical < 0) // scroll up { - es = ranges.getEndSeq(); + es = ss - vertical; + + if (es > ranges.getEndSeq()) + { + es = ranges.getEndSeq(); + } } } @@ -524,10 +535,13 @@ public class IdCanvas extends JPanel implements ViewportListenerI public void propertyChange(PropertyChangeEvent evt) { // Respond to viewport range changes (e.g. alignment panel was scrolled) - if (evt.getPropertyName().equals("startseq") - || evt.getPropertyName().equals("endseq")) + if (evt.getPropertyName().equals("startseq")) + { + fastPaint((int) evt.getNewValue() - (int) evt.getOldValue(), false); + } + else if (evt.getPropertyName().equals("endseq")) { - fastPaint((int) evt.getNewValue() - (int) evt.getOldValue()); + fastPaint((int) evt.getNewValue() - (int) evt.getOldValue(), true); } } }