- public void paintComponent(Graphics gg) {\r
- AlignmentI da = av.getAlignment();\r
- int charHeight = av.getCharHeight();\r
- gg.setFont(av.getFont());\r
+ public void fastPaint(int vertical)\r
+ {\r
+ if(gg==null)\r
+ { repaint(); return;}\r
+\r
+ gg.copyArea( 0,0, getWidth(), imgHeight, 0, -vertical*av.charHeight );\r
+\r
+ int ss=av.startSeq, es=av.endSeq, transY = 0;\r
+ if (vertical > 0) // scroll down\r
+ {\r
+ ss = es - vertical;\r
+ if(ss<av.startSeq) // ie scrolling too fast, more than a page at a time\r
+ ss = av.startSeq;\r
+ else\r
+ transY = imgHeight - vertical * av.charHeight;\r
+ }\r
+ else if (vertical < 0)\r
+ {\r
+ es = ss - vertical;\r
+ if(es > av.endSeq)\r
+ es = av.endSeq;\r
+ }\r
+\r
+\r
+\r
+ gg.translate(0, transY);\r
+\r
+ drawIds(ss, es);\r
+\r
+ gg.translate( 0, -transY );\r
+\r
+\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
+ fastPaint = false;\r
+ g.drawImage(image, 0, 0, this);\r
+ return;\r
+ }\r