Modified output on stdout for similarity matrix.
[jalview.git] / src / jalview / gui / SeqCanvas.java
index f3e7532..b2e9d3e 100755 (executable)
@@ -173,7 +173,7 @@ public void fastPaint(int horizontal, int vertical)
  * 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
@@ -188,12 +188,13 @@ public void fastPaint(int horizontal, int vertical)
     // 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
@@ -252,6 +253,8 @@ public void fastPaint(int horizontal, int vertical)
       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
@@ -448,17 +451,21 @@ public void fastPaint(int horizontal, int vertical)
       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