BufferedImage image;\r
Graphics2D gg;\r
int imgHeight=0;\r
+ boolean fastPaint = false;\r
\r
public IdCanvas(AlignViewport av)\r
{\r
\r
public void fastPaint(int vertical)\r
{\r
- if(image==null)\r
- {\r
- repaint();\r
- return;\r
- }\r
+ if(gg==null)\r
+ { repaint(); return;}\r
\r
gg.copyArea( 0,0, getWidth(), imgHeight, 0, -vertical*av.charHeight );\r
\r
gg.translate( 0, -transY );\r
\r
\r
- getGraphics().drawImage(image, 0, 0, this);\r
+ fastPaint = true;\r
+ repaint();\r
}\r
\r
public void paintComponent(Graphics g)\r
{\r
+ g.setColor(Color.white);\r
+ g.fillRect(0, 0, getWidth(), getHeight());\r
+\r
+ if (fastPaint)\r
+ {\r
+ g.drawImage(image, 0, 0, this);\r
+ fastPaint = false;\r
+ return;\r
+ }\r
+\r
imgHeight = getHeight();\r
imgHeight -= imgHeight % av.charHeight;\r
image = new BufferedImage(getWidth(), imgHeight, BufferedImage.TYPE_INT_RGB);\r
av.getFont().getSize());\r
gg.setFont(italic);\r
\r
-\r
- g.setColor(Color.white);\r
- g.fillRect(0,0,getWidth(),getHeight());\r
-\r
drawIds( av.getStartSeq(), av.endSeq);\r
\r
g.drawImage(image, 0, 0, this);\r