+public void fastPaint(int horizontal, int vertical)\r
+{\r
+ if(horizontal==0 && vertical==0)\r
+ {\r
+ return;\r
+ }\r
+\r
+\r
+ if (img==null || paintFlag)\r
+ {\r
+ repaint();\r
+ return;\r
+ }\r
+\r
+ gg.copyArea( 0,0, imgWidth, imgHeight, -horizontal*av.charWidth, -vertical*av.charHeight );\r
+\r
+ int sr=av.startRes, er=av.endRes+1, ss = av.startSeq, es = av.endSeq, transX=0, transY = 0;\r
+ if(horizontal>0) // scrollbar pulled right, image to the left\r
+ {\r
+ transX = (er-sr-horizontal)*av.charWidth;\r
+ sr = er - horizontal ;\r
+ }\r
+ else if(horizontal<0)\r
+ {\r
+ er = sr-horizontal;\r
+ }\r
+\r
+\r
+\r
+\r
+ if(vertical>0) // scroll down\r
+ {\r
+ transY = imgHeight - vertical*av.charHeight;\r
+ ss = es - vertical;\r
+ }\r
+ else if(vertical<0)\r
+ {\r
+\r
+ es = ss-vertical;\r
+\r
+ }\r
+\r
+ gg.translate(transX, transY);\r
+\r
+ drawPanel(gg, sr,er,ss,es,sr,ss,0);\r
+\r
+ gg.translate( -transX, -transY );\r
+ getGraphics().drawImage(img,0,0,this);\r
+\r
+}\r
+\r