* at 0). NOTE 1: The av limits are set in setFont in this class and in the
* adjustment listener in SeqPanel when the scrollbars move.
*/
+ @Override
public void update(Graphics g)
{
paint(g);
continue;
}
- gg.fillPolygon(new int[]
- { res * avcharWidth - avcharHeight / 4,
+ gg.fillPolygon(new int[] { res * avcharWidth - avcharHeight / 4,
res * avcharWidth + avcharHeight / 4, res * avcharWidth },
- new int[]
- { ypos - (avcharHeight / 2), ypos - (avcharHeight / 2),
+ new int[] { ypos - (avcharHeight / 2),
+ ypos - (avcharHeight / 2),
ypos - (avcharHeight / 2) + 8 }, 3);
}
}
private void drawPanel(Graphics g1, int startRes, int endRes,
- int startSeq,
- int endSeq, int offset)
+ int startSeq, int endSeq, int offset)
{
-
if (!av.hasHiddenColumns())
{
draw(g1, startRes, endRes, startSeq, endSeq, offset);
g1.translate(-screenY * avcharWidth, 0);
screenY += blockEnd - blockStart + 1;
blockStart = hideEnd + 1;
+
+ if (screenY > (endRes - startRes))
+ {
+ // already rendered last block
+ return;
+ }
}
}
if (screenY <= (endRes - startRes))
{
+ // remaining visible region to render
blockEnd = blockStart + (endRes - startRes) - screenY;
g1.translate(screenY * avcharWidth, 0);
draw(g1, blockStart, blockEnd, startSeq, endSeq, offset);
break;
}
- group = av.getAlignment().getGroups()
- .get(groupIndex);
+ group = av.getAlignment().getGroups().get(groupIndex);
} while (groupIndex < av.getAlignment().getGroups().size());
}