*/
public void fastPaint(int horizontal, int vertical)
{
- if (fastpainting || gg == null)
+ if (fastpainting || gg == null || img == null)
{
return;
}
public void drawPanelForPrinting(Graphics g1, int startRes, int endRes,
int startSeq, int endSeq)
{
+ drawPanel(g1, startRes, endRes, startSeq, endSeq, 0);
+
BufferedImage selectImage = drawSelectionGroup(startRes, endRes,
startSeq, endSeq);
- drawPanel(g1, startRes, endRes, startSeq, endSeq, 0);
- ((Graphics2D) g1).setComposite(
- AlphaComposite.getInstance(AlphaComposite.SRC_OVER));
- g1.drawImage(selectImage, 0, 0, this);
+ if (selectImage != null)
+ {
+ ((Graphics2D) g1).setComposite(AlphaComposite
+ .getInstance(AlphaComposite.SRC_OVER));
+ g1.drawImage(selectImage, 0, 0, this);
+ }
}
/**
int canvasHeight, int startRes)
{
SequenceGroup group = av.getSelectionGroup();
- BufferedImage selectImage = null;
- try
- {
- selectImage = new BufferedImage(canvasWidth, canvasHeight,
- BufferedImage.TYPE_INT_ARGB); // ARGB so alpha compositing works
- } catch (OutOfMemoryError er)
- {
- System.gc();
- System.err.println("Print image OutOfMemory Error.\n" + er);
- new OOMWarning("Creating wrapped alignment image for printing", er);
-
- return;
- }
+ drawWrappedPanel(g, canvasWidth, canvasHeight, startRes);
if (group != null)
{
- Graphics2D g2 = selectImage.createGraphics();
- setupSelectionGroup(g2, selectImage);
- drawWrappedSelection(g2, group, canvasWidth, canvasHeight, startRes);
- drawWrappedPanel(g, canvasWidth, canvasHeight, startRes);
- g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER));
- g.drawImage(selectImage, 0, 0, this);
- g2.dispose();
+ BufferedImage selectImage = null;
+ try
+ {
+ selectImage = new BufferedImage(canvasWidth, canvasHeight,
+ BufferedImage.TYPE_INT_ARGB); // ARGB so alpha compositing works
+ } catch (OutOfMemoryError er)
+ {
+ System.gc();
+ System.err.println("Print image OutOfMemory Error.\n" + er);
+ new OOMWarning("Creating wrapped alignment image for printing", er);
+ }
+ if (selectImage != null)
+ {
+ Graphics2D g2 = selectImage.createGraphics();
+ setupSelectionGroup(g2, selectImage);
+ drawWrappedSelection(g2, group, canvasWidth, canvasHeight,
+ startRes);
+
+ g2.setComposite(
+ AlphaComposite.getInstance(AlphaComposite.SRC_OVER));
+ g.drawImage(selectImage, 0, 0, this);
+ g2.dispose();
+ }
}
}
return annotations.adjustPanelHeight();
}
-
/**
* Draws the visible region of the alignment on the graphics context. If there
* are hidden column markers in the visible region, then each sub-region
* @param yOffset
* vertical offset at which to draw (for wrapped alignments)
*/
- private void drawPanel(Graphics g1, int startRes, int endRes,
- int startSeq, int endSeq, int yOffset)
-
+ public void drawPanel(Graphics g1, final int startRes, final int endRes,
+ final int startSeq, final int endSeq, final int yOffset)
{
updateViewport();
if (!av.hasHiddenColumns())
}
-
/**
* Draws a region of the visible alignment
*
{
drawPartialGroupOutline(g, group, startRes, endRes, startSeq,
endSeq, offset);
-
+
groupIndex++;
g.setStroke(new BasicStroke());