annotationScroller.setViewportView(annotationPanel);\r
annotationSpaceFillerHolder.add(alabels, BorderLayout.CENTER);\r
\r
- Dimension d = calculateIdWidth();\r
- d.setSize( d.width+4, d.height);\r
- idPanel.idCanvas.setPreferredSize( d );\r
- hscrollFillerPanel.setPreferredSize( d );\r
+ fontChanged();\r
\r
scalePanelHolder.add(scalePanel, BorderLayout.CENTER);\r
seqPanelHolder.add(seqPanel, BorderLayout.CENTER);\r
hscroll.addAdjustmentListener(this);\r
vscroll.addAdjustmentListener(this);\r
\r
- addComponentListener(new ComponentAdapter()\r
- {\r
- public void componentResized(ComponentEvent evt)\r
- {\r
- repaint();\r
- }\r
- });\r
-\r
setFocusable(true);\r
addKeyListener(new KeyAdapter()\r
{\r
});\r
}\r
\r
+ public void fontChanged()\r
+ {\r
+ // set idCanvas bufferedImage to null\r
+ // to prevent drawing old image\r
+ idPanel.idCanvas.gg = null;\r
+ annotationPanel.adjustPanelHeight();\r
+ Dimension d = calculateIdWidth();\r
+ d.setSize(d.width + 4, d.height);\r
+ idPanel.idCanvas.setPreferredSize(d);\r
+ hscrollFillerPanel.setPreferredSize(d);\r
+ repaint();\r
+ }\r
+\r
+\r
Dimension calculateIdWidth()\r
{\r
Graphics g = this.getGraphics();\r
\r
public void setScrollValues(int x, int y)\r
{\r
+ av.setEndRes(x + seqPanel.seqCanvas.getWidth()/av.getCharWidth()-1);\r
+\r
hextent = seqPanel.seqCanvas.getWidth()/av.charWidth;\r
vextent = seqPanel.seqCanvas.getHeight()/av.charHeight;\r
\r
hscroll.setValues(x,hextent,0,av.getAlignment().getWidth());\r
vscroll.setValues(y,vextent,0,av.getAlignment().getHeight() );\r
\r
+\r
+\r
}\r
\r
\r
}\r
}\r
\r
-\r
if(overviewPanel!=null)\r
overviewPanel.setBoxPosition();\r
\r
repaint();\r
else\r
{\r
+ idPanel.idCanvas.fastPaint(av.getStartSeq() - oldY);\r
seqPanel.seqCanvas.fastPaint(av.getStartRes() - oldX,\r
av.getStartSeq() - oldY);\r
- idPanel.idCanvas.fastPaint(av.getStartSeq() - oldY);\r
+\r
scalePanel.repaint();\r
if (av.getShowAnnotation())\r
annotationPanel.fastPaint(av.getStartRes() - oldX);\r
\r
}\r
\r
+\r
public void paintComponent(Graphics g)\r
{\r
invalidate();\r
-\r
Dimension d = idPanel.idCanvas.getPreferredSize();\r
idPanelHolder.setPreferredSize(d);\r
hscrollFillerPanel.setPreferredSize(new Dimension(d.width, 12));\r
+ validate();\r
\r
if (av.getWrapAlignment())\r
{\r
setScrollValues(av.getStartRes(), av.getStartSeq());\r
}\r
\r
- validate();\r
+\r
\r
}\r
\r
\r
////////////////\r
// Draw the ids\r
- pg.setClip(0,0,pwidth, noChunksOnPage*chunkHeight);\r
+// pg.setClip(0,0,pwidth, noChunksOnPage*chunkHeight);\r
\r
pg.setColor(Color.black);\r
\r
int rowSize = av.getEndRes() - av.getStartRes();\r
- // Draw the rest of the panels\r
-\r
- for(int ypos=2*av.charHeight, row=av.getEndRes(); row<av.alignment.getWidth();\r
- ypos += av.chunkHeight, row+=rowSize )\r
+ for(int ypos=2*av.charHeight, row=av.getEndRes()-rowSize;\r
+ ypos <= pheight && row<av.alignment.getWidth();\r
+ ypos += av.chunkHeight, row+=rowSize )\r
{\r
for (int i = 0; i < endy; i++)\r
{\r
}\r
\r
\r
-System.out.println(width +" "+height);\r
\r
try\r
{\r
FileOutputStream out = new FileOutputStream(chooser.getSelectedFile());\r
\r
BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);\r
- Graphics png = bi.getGraphics();\r
+ Graphics2D png = (Graphics2D)bi.getGraphics();\r
\r
+ png.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);\r
\r
if (av.getWrapAlignment())\r
printWrappedAlignment(png, width, height, 0);\r