X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FSeqCanvas.java;h=b2e9d3ead108b105ba18a00fa8bde011e2ec21e6;hb=c521a798765bb3672e89ea8cda3241a97d6c6e73;hp=f3e753226f2b5a9073703a25e5132bc8b6b04c01;hpb=9be2898dd1635c87539a90de321975f043d005f3;p=jalview.git diff --git a/src/jalview/gui/SeqCanvas.java b/src/jalview/gui/SeqCanvas.java index f3e7532..b2e9d3e 100755 --- a/src/jalview/gui/SeqCanvas.java +++ b/src/jalview/gui/SeqCanvas.java @@ -173,7 +173,7 @@ public void fastPaint(int horizontal, int vertical) * in the adjustment listener in SeqPanel when the scrollbars move. */ - public void paint(Graphics g) + public void paintComponent(Graphics g) { g.setColor(Color.white); g.fillRect(0, 0, getWidth(), getHeight()); @@ -188,12 +188,13 @@ public void fastPaint(int horizontal, int vertical) // this draws the whole of the alignment imgWidth = getWidth(); imgHeight = getHeight(); - if(imgWidth==0 || imgHeight==0) - return; imgWidth -= imgWidth%av.charWidth; imgHeight-= imgHeight%av.charHeight; + if(imgWidth<1 || imgHeight<1) + return; + img = new BufferedImage(imgWidth,imgHeight,BufferedImage.TYPE_INT_RGB); gg = (Graphics2D)img.getGraphics(); gg.setFont(av.getFont()); @@ -252,6 +253,8 @@ public void fastPaint(int horizontal, int vertical) int cWidth = (canvasWidth - LABEL_EAST -LABEL_WEST)/av.charWidth; int cHeight = (av.getAlignment().getHeight() + 2)*av.charHeight; + av.endRes = av.startRes + cWidth; + int endx = startRes+cWidth-1; int ypos = 2*av.charHeight; @@ -448,17 +451,21 @@ public void fastPaint(int horizontal, int vertical) for(int r=0; r= y1 && searchSeq < y2) { + SequenceI seq = av.getAlignment().getSequenceAt(searchSeq); + + int searchStart = seq.findIndex( searchResults[r+1] )-1; + int searchEnd = seq.findIndex( searchResults[r+2] )-1; + SequenceRenderer ssr = (SequenceRenderer) sr; if(searchStart x2) searchEnd = x2; - ssr.drawHighlightedText(av.getAlignment().getSequenceAt(searchSeq), + + ssr.drawHighlightedText(seq, searchStart, searchEnd, (searchStart - startx) * av.charWidth,