- int offy = vscroll.getValue();
- int rowSize = getSeqPanel().seqCanvas
- .getWrappedCanvasWidth(getSeqPanel().seqCanvas.getWidth());
-
- // if we're scrolling to the position we're already at, stop
- // this prevents infinite recursion of events when the scroll/viewport
- // ranges values are the same
- int newX = offy * rowSize;
- newX += oldX % rowSize; // horizontal scroll offset if any
- if ((newX == oldX) && (oldwidth == rowSize))
- {
- return;
- }
- else if (offy > -1)
- {
- // limit page up/down to one width's worth of positions
- newX = newX > oldX ? oldX + rowSize : oldX - rowSize;
- vpRanges.setViewportStartAndWidth(newX, rowSize);
- }