{
// wider
width = MAX_WIDTH;
- sequencesHeight = (int) (MAX_WIDTH / initialScale);
+ sequencesHeight = Math.round(MAX_WIDTH / initialScale);
if (sequencesHeight < MIN_SEQ_HEIGHT)
{
sequencesHeight = MIN_SEQ_HEIGHT;
else
{
// taller
- width = (int) (MAX_WIDTH * initialScale);
+ width = Math.round(MAX_WIDTH * initialScale);
sequencesHeight = MAX_SEQ_HEIGHT;
if (width < MIN_WIDTH)
// if last position was before the end of the alignment, need to update
if ((scrollCol + vpwidth - 1) < visAlignWidth)
{
- visXAsRes = hiddenCols.findColumnNToLeft(vpwidth - 1, alwidth - 1);
+ visXAsRes = hiddenCols.findColumnPosition(hiddenCols
+ .findColumnNToLeft(vpwidth - 1, alwidth - 1));
}
else
{
yAsSeq = hiddenSeqs.adjustForHiddenSeqs(hiddenSeqs
.findIndexWithoutHiddenSeqs(yAsSeq));
- // get where end seq should be by adding the viewport height on
- int endSeq = yAsSeq + vpheight - 1;
-
// check in case we went off the edge of the alignment
int visAlignHeight = hiddenSeqs.findIndexWithoutHiddenSeqs(alheight);
int visYAsRes = hiddenSeqs.findIndexWithoutHiddenSeqs(yAsSeq);
- if (hiddenSeqs.findIndexWithoutHiddenSeqs(endSeq) > visAlignHeight)
+ if (visYAsRes + vpheight - 1 > visAlignHeight)
{
// went past the end of the alignment, adjust backwards
if ((scrollRow + vpheight - 1) < visAlignHeight)
{
- visYAsRes = hiddenSeqs
- .findIndexNAboveRow(vpheight - 1, alheight - 1);
+ visYAsRes = hiddenSeqs.findIndexWithoutHiddenSeqs(hiddenSeqs
+ .findIndexNAboveRow(vpheight - 1, alheight - 1));
}
else
{
}
}
- // convert absolute positions back to visible alignment positions for
- // viewport scrolling
+ // update scroll values
scrollCol = visXAsRes;
- scrollRow = visYAsRes; // hiddenSeqs.findIndexWithoutHiddenSeqs(yAsSeq);
+ scrollRow = visYAsRes;
}
g.drawRect(boxX + 1, boxY + 1, boxWidth - 2, boxHeight - 2);
}
- // don't like this, scroll vals are separate from setting code
public int getScrollCol()
{
return scrollCol;