gg.translate(transX, transY);\r
\r
gg.setColor(Color.white);\r
- gg.fillRect(0,0, (er-sr)*av.charWidth, (es-ss)*av.charHeight);\r
+ gg.fillRect(0,0, (er-sr+1)*av.charWidth, (es-ss)*av.charHeight);\r
drawPanel(gg, sr, er, ss, es, sr, ss, 0);\r
gg.translate( -transX, -transY);\r
\r
* in the adjustment listener in SeqPanel when the scrollbars move.\r
*/\r
\r
- public void paint(Graphics g)\r
+ public void paintComponent(Graphics g)\r
{\r
g.setColor(Color.white);\r
g.fillRect(0, 0, getWidth(), getHeight());\r
// this draws the whole of the alignment\r
imgWidth = getWidth();\r
imgHeight = getHeight();\r
- if(imgWidth==0 || imgHeight==0)\r
- return;\r
\r
imgWidth -= imgWidth%av.charWidth;\r
imgHeight-= imgHeight%av.charHeight;\r
\r
+ if(imgWidth<1 || imgHeight<1)\r
+ return;\r
+\r
img = new BufferedImage(imgWidth,imgHeight,BufferedImage.TYPE_INT_RGB);\r
gg = (Graphics2D)img.getGraphics();\r
gg.setFont(av.getFont());\r
int cWidth = (canvasWidth - LABEL_EAST -LABEL_WEST)/av.charWidth;\r
int cHeight = (av.getAlignment().getHeight() + 2)*av.charHeight;\r
\r
+ av.endRes = av.startRes + cWidth;\r
+\r
int endx = startRes+cWidth-1;\r
int ypos = 2*av.charHeight;\r
\r
for(int r=0; r<searchResults.length; r+=3)\r
{\r
int searchSeq = searchResults[r];\r
- int searchStart = searchResults[r+1];\r
- int searchEnd = searchResults[r+2];\r
\r
if (searchSeq >= y1 && searchSeq < y2)\r
{\r
+ SequenceI seq = av.getAlignment().getSequenceAt(searchSeq);\r
+\r
+ int searchStart = seq.findIndex( searchResults[r+1] )-1;\r
+ int searchEnd = seq.findIndex( searchResults[r+2] )-1;\r
+\r
SequenceRenderer ssr = (SequenceRenderer) sr;\r
if(searchStart<x1)\r
searchStart = x1;\r
if(searchEnd > x2)\r
searchEnd = x2;\r
- ssr.drawHighlightedText(av.getAlignment().getSequenceAt(searchSeq),\r
+\r
+ ssr.drawHighlightedText(seq,\r
searchStart,\r
searchEnd,\r
(searchStart - startx) * av.charWidth,\r