}
else
{
- while (seqCanvas.cursorY < av.getRanges().getStartSeq())
- {
- av.getRanges().scrollUp(true);
- }
- while (seqCanvas.cursorY + 1 > av.getRanges().getEndSeq())
- {
- av.getRanges().scrollUp(false);
- }
-
- while (seqCanvas.cursorX < av.getColumnSelection()
- .adjustForHiddenColumns(av.getRanges().getStartRes()))
- {
- if (!av.getRanges().scrollRight(false))
- {
- break;
- }
- }
- while (seqCanvas.cursorX > av.getColumnSelection()
- .adjustForHiddenColumns(av.getRanges().getEndRes()))
- {
- if (!av.getRanges().scrollRight(true))
- {
- break;
- }
- }
-
+ av.getRanges().scrollToVisible(seqCanvas.cursorX, seqCanvas.cursorY,
+ av);
}
setStatusMessage(av.getAlignment().getSequenceAt(seqCanvas.cursorY),
seqCanvas.cursorX, seqCanvas.cursorY);
*/
package jalview.viewmodel;
+import jalview.api.AlignViewportI;
import jalview.datamodel.AlignmentI;
/**
setStartRes((res / width) * width);
}
+ // pass av here until hidden columns JAL-2388 merged, then use alignment
+ // instead
+ public void scrollToVisible(int x, int y, AlignViewportI av)
+ {
+ while (y < startSeq)
+ {
+ scrollUp(true);
+ }
+ while (y + 1 > endSeq)
+ {
+ scrollUp(false);
+ }
+
+ while (x < av.getColumnSelection().adjustForHiddenColumns(startRes))
+ {
+ if (!scrollRight(false))
+ {
+ break;
+ }
+ }
+ while (x > av.getColumnSelection().adjustForHiddenColumns(endRes))
+ {
+ if (!scrollRight(true))
+ {
+ break;
+ }
+ }
+ }
+
}