X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FSeqCanvas.java;h=469dec951ae90d6aeb21c9a1bbaba4ed3a48701f;hb=a41b74d63832baaf00daac0a176118dc751c3b24;hp=da54ecfba4f74e0397de33bc87b2e5816f0e762f;hpb=c1f777a6a4a74ee1573e5f3f883e0de902818ae7;p=jalview.git diff --git a/src/jalview/appletgui/SeqCanvas.java b/src/jalview/appletgui/SeqCanvas.java index da54ecf..469dec9 100755 --- a/src/jalview/appletgui/SeqCanvas.java +++ b/src/jalview/appletgui/SeqCanvas.java @@ -873,15 +873,17 @@ public class SeqCanvas extends Panel implements ViewportListenerI @Override public void propertyChange(PropertyChangeEvent evt) { + String eventName = evt.getPropertyName(); + if (!av.getWrapAlignment()) { - if (evt.getPropertyName().equals("startres") - || evt.getPropertyName().equals("endres")) + int scrollX = 0; + if (eventName.equals(ViewportRanges.STARTRES)) { // 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(); @@ -890,15 +892,24 @@ public class SeqCanvas extends Panel implements ViewportListenerI { scrollX = vpRanges.getStartRes() - vpRanges.getEndRes(); } + } + + // Both scrolling and resizing change viewport ranges: scrolling changes + // both start and end points, but resize only changes end values. + // Here we only want to fastpaint on a scroll, with resize using a normal + // paint, so scroll events are identified as changes to the horizontal or + // vertical start value. + if (eventName.equals(ViewportRanges.STARTRES)) + { + // scroll - startres and endres both change fastPaint(scrollX, 0); } - else if (evt.getPropertyName().equals("startseq") - || evt.getPropertyName().equals("endseq")) + else if (eventName.equals(ViewportRanges.STARTSEQ)) { + // scroll fastPaint(0, (int) evt.getNewValue() - (int) evt.getOldValue()); } } - } }