public class SequenceRenderer implements RendererI\r
{\r
FontMetrics fm;\r
+ boolean renderGaps = true;\r
+\r
+ public void renderGaps(boolean b)\r
+ {\r
+ renderGaps = b;\r
+ }\r
\r
public Color getResidueBoxColour(ColourSchemeI cs, SequenceI seq, int i)\r
{\r
// Need to find the sequence position here.\r
for (int i = start; i <= end; i++)\r
{\r
- if (i < end && i < seq.getLength())\r
- s = seq.getSequence().charAt(i);\r
- else if(i<seq.getLength())\r
+ if(i<seq.getLength())\r
s = seq.getSequence().charAt(i);\r
else\r
s = ' ';\r
\r
+ if(!renderGaps && (s=='-' || s=='.' || s==' '))\r
+ continue;\r
+\r
if (colText)\r
{\r
Color c = getResidueBoxColour(cs, seq, i);\r
}\r
}\r
\r
+ public void drawHighlightedText(Graphics g, SequenceI seq,int start, int end, int x1, int y1, int width, int height)\r
+ {\r
+ int pady = height/5;\r
+ int charOffset=0;\r
+ g.setColor(Color.BLACK);\r
+ g.fillRect(x1,y1,width*(end-start+1),height);\r
+ g.setColor(Color.white);\r
+\r
+ char s='~';\r
+ // Need to find the sequence position here.\r
+ for (int i = start; i <= end; i++)\r
+ {\r
+ if(i<seq.getLength())\r
+ s = seq.getSequence().charAt(i);\r
+\r
+ charOffset = (width - fm.charWidth(s))/2;\r
+ g.drawString(String.valueOf(s), charOffset + x1 + width * (i - start), y1 + height - pady);\r
+ }\r
+ }\r
+\r
+\r
}\r