{
boolean changedLocation = false;
- int vis_x = al.getHiddenColumns().findColumnPosition(x);
- int vis_y = al.getHiddenSequences().findIndexWithoutHiddenSeqs(y);
+ // convert the x,y location to absolute values
+ int visX = al.getHiddenColumns().findColumnPosition(x);
+ int visY = al.getHiddenSequences().findIndexWithoutHiddenSeqs(y);
// if (vis_x,vis_y) is already visible don't do anything
- if (startRes > vis_x || vis_x > endRes
- || startSeq > vis_y && vis_y > endSeq)
+ if (startRes > visX || visX > endRes
+ || startSeq > visY && visY > endSeq)
{
int[] old = new int[] { startRes, startSeq };
int[] newresseq;
if (wrappedMode)
{
- int newstartres = calcWrappedStartResidue(vis_x);
+ int newstartres = calcWrappedStartResidue(visX);
setStartRes(newstartres);
newresseq = new int[] { startRes, startSeq };
}
else
{
- int width = getViewportWidth();
- updateStartEndRes(vis_x, vis_x + width - 1);
-
- int startseq = vis_y;
- int height = getViewportHeight();
- if (startseq + height - 1 > getVisibleAlignmentHeight() - 1)
- {
- startseq = getVisibleAlignmentHeight() - height;
- }
+ // set the viewport x location to contain vis_x
+ int width = getViewportWidth();
+ updateStartEndRes(visX, visX + width - 1);
+
+ // set the viewport y location to contain vis_y
+ int startseq = visY;
+ int height = getViewportHeight();
+ if (startseq + height - 1 > getVisibleAlignmentHeight() - 1)
+ {
+ startseq = getVisibleAlignmentHeight() - height;
+ }
updateStartEndSeq(startseq,
startseq + height - 1);
- // int[] old = new int[] { oldresvalues[0], oldseqvalues[0] };
newresseq = new int[] { startRes, startSeq };
}
- changedLocation = true;
- changeSupport.firePropertyChange(MOVE_VIEWPORT, old, newresseq);
+ changedLocation = true;
+ changeSupport.firePropertyChange(MOVE_VIEWPORT, old, newresseq);
}
return changedLocation;
}