import java.awt.*;\r
import java.util.*;\r
\r
-public class SequenceRenderer implements RendererI\r
+public class SequenceRenderer\r
{\r
AlignViewport av;\r
FontMetrics fm;\r
void getBoxColour(ColourSchemeI cs, SequenceI seq, int i)\r
{\r
if (cs != null)\r
- resBoxColour = cs.findColour(seq.getSequence(i, i + 1), i, av.getConsensus(false));\r
+ resBoxColour = cs.findColour(seq.getSequence(i, i + 1), i);\r
else\r
resBoxColour = Color.white;\r
}\r
\r
- public void drawSequence(Graphics g,SequenceI seq,SequenceGroup [] sg, int start, int end, int x1, int y1, int width, int height, Vector pid, int seqnum)\r
+ public void drawSequence(Graphics g,SequenceI seq,SequenceGroup [] sg, int start, int end, int x1, int y1, int width, int height)\r
{\r
allGroups = sg;\r
\r
graphics = g;\r
\r
- drawBoxes(seq, start, end, x1, y1, (int) width, height, pid);\r
+ drawBoxes(seq, start, end, x1, y1, (int) width, height);\r
\r
fm = g.getFontMetrics();\r
drawText(seq,start,end,x1,y1,(int)width,height);\r
\r
}\r
\r
- public void drawBoxes(SequenceI seq,int start, int end, int x1, int y1, int width, int height,Vector freq) {\r
+ public void drawBoxes(SequenceI seq,int start, int end, int x1, int y1, int width, int height) {\r
int i = start;\r
int length = seq.getLength();\r
\r
- int curStart = x1;\r
+ int curStart = -1;\r
int curWidth = width;\r
\r
Color tempColour = null;\r
\r
if (resBoxColour != tempColour)\r
{\r
- graphics.fillRect(x1+width*(curStart-start),y1,curWidth,height);\r
+ if(tempColour!=null)\r
+ graphics.fillRect(x1+width*(curStart-start),y1,curWidth,height);\r
graphics.setColor(resBoxColour);\r
\r
curStart = i;\r
\r
i++;\r
}\r
- graphics.fillRect(x1+width*(curStart-start),y1,curWidth,height);\r
+\r
+\r
+ graphics.fillRect(x1+width*(curStart-start),y1,curWidth,height);\r
}\r
\r
public void drawText(SequenceI seq,int start, int end, int x1, int y1, int width, int height)\r
int charOffset=0;\r
char s;\r
// Need to find the sequence position here.\r
+\r
+ graphics.setColor(Color.black);\r
+ String sequence = seq.getSequence();\r
for (int i = start; i <= end; i++)\r
{\r
- if(i<seq.getLength())\r
- s = seq.getSequence().charAt(i);\r
+ if(i<sequence.length())\r
+ s = sequence.charAt(i);\r
else\r
s = ' ';\r
\r
if(!renderGaps && jalview.util.Comparison.isGap(s))\r
continue;\r
\r
- graphics.setColor(Color.black);\r
\r
if (inCurrentSequenceGroup(i))\r
{\r
if(av.getColourText())\r
{\r
getBoxColour(av.getGlobalColourScheme(), seq, i);\r
- graphics.setColor(resBoxColour.darker());\r
+ if(av.getShowBoxes())\r
+ graphics.setColor(resBoxColour.darker());\r
+ else\r
+ graphics.setColor(resBoxColour);\r
}\r
}\r
\r
- charOffset = (width - fm.charWidth(s))/2;\r
- graphics.drawString(String.valueOf(s), charOffset + x1 + width * (i - start), y1 + height - pady);\r
- }\r
+ charOffset = (width - fm.charWidth(s))/2;\r
+ graphics.drawString(String.valueOf(s),\r
+ charOffset + x1 + width * (i - start),\r
+ y1 + height - pady);\r
+ }\r
\r
\r
}\r
if(i<seq.getLength())\r
s = seq.getSequence().charAt(i);\r
\r
- charOffset = (width - fm.charWidth(s))/2;\r
+ charOffset = (width - fm.charWidth(s))/2;\r
graphics.drawString(String.valueOf(s), charOffset + x1 + width * (i - start), y1 + height - pady);\r
}\r
}\r