From: amwaterhouse Date: Tue, 16 Nov 2004 15:21:03 +0000 (+0000) Subject: No need for viewport or colourtext in renderer X-Git-Tag: Release_2_0~929 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=412265975277586d03ec183fce0f6e18a022b240;p=jalview.git No need for viewport or colourtext in renderer --- diff --git a/src/jalview/gui/RendererI.java b/src/jalview/gui/RendererI.java index 81c5612..6c325fa 100755 --- a/src/jalview/gui/RendererI.java +++ b/src/jalview/gui/RendererI.java @@ -9,6 +9,6 @@ public interface RendererI { public Color getResidueBoxColour(ColourSchemeI cs, SequenceI seq, int i); - public void drawSequence(Graphics g,ColourSchemeI cs,SequenceI seq,int start, int end, int x1, int y1, double width, int height,boolean showScores, boolean displayBoxes, boolean displayText,Vector pid, int seqnum,AlignViewport av); + public void drawSequence(Graphics g,ColourSchemeI cs,SequenceI seq,int start, int end, int x1, int y1, double width, int height,boolean showScores, boolean displayBoxes, boolean displayText,boolean colourText, Vector pid, int seqnum); } diff --git a/src/jalview/gui/SeqCanvas.java b/src/jalview/gui/SeqCanvas.java index 1339988..4e287b1 100755 --- a/src/jalview/gui/SeqCanvas.java +++ b/src/jalview/gui/SeqCanvas.java @@ -29,9 +29,9 @@ public class SeqCanvas extends JPanel int chunkWidth; Graphics debugG; - FeatureRenderer fr = new FeatureRenderer(); - BlockRenderer br = new BlockRenderer(); - CpGRenderer cgr = new CpGRenderer(); + // FeatureRenderer fr = new FeatureRenderer(); + // BlockRenderer br = new BlockRenderer(); + // CpGRenderer cgr = new CpGRenderer(); ColourSchemeI cs = new ZappoColourScheme(); @@ -114,7 +114,7 @@ public class SeqCanvas extends JPanel if (oldendx == -1) { fillBackground(gg,Color.WHITE,0,0,imgWidth,imgHeight); - /* if (av.getWrapAlignment() == true) { + if (av.getWrapAlignment()) { startx = (int)(offy/chunkWidth)*chunkWidth; endx = startx + chunkWidth; starty = offy%chunkHeight; @@ -178,7 +178,9 @@ public class SeqCanvas extends JPanel } } - } else*/ { + } + else + { drawPanel(gg,startx,endx,starty,endy,startx,starty,0); oldstartx = startx; @@ -265,6 +267,11 @@ public class SeqCanvas extends JPanel } + gg.setColor(Color.red); + gg.drawRect( groupX, groupY, groupendX-groupX, groupendY-groupY ); + gg.drawRect( groupX+1, groupY+1, groupendX-groupX-2, groupendY-groupY-2 ); + + g.drawImage(img,0,0,this); } @@ -291,15 +298,11 @@ public class SeqCanvas extends JPanel /*Vector pid = av.getConsensus(false); - Vector tmpseq = new Vector(); - for (int i = 0; i < av.getAlignment().getHeight(); i++) if (!av.getSelection().contains(av.getAlignment().getSequenceAt(i))) tmpseq.addElement(av.getAlignment().getSequenceAt(i)); - - if (sr instanceof SequenceRenderer) pid = AAFrequency.calculate(tmpseq,x1,x2); @@ -310,21 +313,22 @@ public class SeqCanvas extends JPanel */ - if (y2 > starty && y1 < av.getEndSeq()) { - - fillBackground(g, - Color.white, + if (y2 > starty && y1 < av.getEndSeq()) + { + fillBackground(g, + Color.WHITE, (int)((x1-startx)*charWidth), offset + AlignmentUtil.getPixelHeight(starty,y1,av.getCharHeight()), (int)((x2-x1+1)*charWidth), offset + AlignmentUtil.getPixelHeight(y1,y2,av.getCharHeight())); } - for (int i = y1 ; i < y2 ;i++) { - + SequenceI nextSeq; + SequenceGroup group; + for (int i = y1 ; i < y2 ;i++) + { RendererI r = sr; -/* - if (av.getSelection().contains(av.getAlignment().getSequenceAt(i))) { + /* if (av.getSelection().contains(av.getAlignment().getSequenceAt(i))) { r = fr; System.out.println("use feature renderer"); } else if ( i == 0) { @@ -334,18 +338,38 @@ public class SeqCanvas extends JPanel System.out.println("cg renderer"); } */ - - r.drawSequence(g,cs,av.getAlignment().getSequenceAt(i), + nextSeq = av.getAlignment().getSequenceAt(i); + group = av.alignment.findGroup( nextSeq ); + if( group!=null ) + { + r.drawSequence(g, group.cs, nextSeq, x1, x2, - (int)((x1-startx)*charWidth), - offset + AlignmentUtil.getPixelHeight(starty,i,av.getCharHeight()), - charWidth, - charHeight,showScores,av.getShowBoxes(),av.getShowText(),null,i,av); + (int) ( (x1 - startx) * charWidth), + offset + AlignmentUtil.getPixelHeight(starty, i, av.getCharHeight()), + charWidth, charHeight, + false, group.getDisplayBoxes(), group.getDisplayText(), group.getColourText(), + null, i); + } + else + { + r.drawSequence(g, cs, nextSeq, + x1, + x2, + (int) ( (x1 - startx) * charWidth), + offset + AlignmentUtil.getPixelHeight(starty, i, av.getCharHeight()), + charWidth,charHeight, + showScores, av.getShowBoxes(), av.getShowText(), av.getColourText(), + null, i); + + } + } + } + public int groupX, groupY, groupendX, groupendY; public void fillBackground(Graphics g,Color c, int x1,int y1,int width,int height) {