+++ /dev/null
-package jalview.gui;\r
-\r
-import jalview.datamodel.*;\r
-import jalview.schemes.*;\r
-import java.awt.*;\r
-import java.util.*;\r
-\r
-public class FeatureRenderer implements RendererI {\r
-\r
-\r
- public Color getResidueBoxColour(ColourSchemeI cs, SequenceI seq, int i) {\r
- Color c = cs.findColour(seq,seq.getSequence(i,i+1),i,null);\r
- return c;\r
- }\r
-\r
- 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) {\r
-\r
- int i = start;\r
- int length = seq.getLength();\r
-\r
- Color currentColor = Color.black;\r
-\r
-\r
- int prev = -1;\r
- int fstart = 0;\r
- char prevc = '-';\r
-\r
- g.setColor(Color.magenta);\r
-\r
- while (i <= end && i < length) {\r
- char c = seq.getCharAt(i);\r
- if (c != '-') {\r
-\r
- if (prevc != c) {\r
-\r
- if (prevc == 'F') {\r
- g.setColor(Color.green);\r
- } else if (prevc == 'R') {\r
- g.setColor(Color.cyan);\r
- } else if (prevc == 'M') {\r
- g.setColor(Color.magenta);\r
- } else if (prevc == 'P') {\r
- g.setColor(Color.yellow);\r
- }\r
- g.fillRect(x1+(int)(width*(i-fstart)),y1+height/4,(int)((prev-fstart+1)*width),height/2);\r
-\r
- prevc = c;\r
- fstart = i;\r
- }\r
- } else if (prevc != '-') {\r
- if (prevc == 'F') {\r
- g.setColor(Color.green);\r
- } else if (prevc == 'R') {\r
- g.setColor(Color.cyan);\r
- } else if (prevc == 'M') {\r
- g.setColor(Color.magenta);\r
- } else if (prevc == 'P') {\r
- g.setColor(Color.yellow);\r
- }\r
- g.fillRect(x1+(int)(width*(fstart-start)),y1+height/4,(int)((i-fstart+1)*width),height/2);\r
-\r
- prevc = c;\r
- } else {\r
- fstart = -1;\r
- }\r
- i++;\r
- }\r
-\r
- if (fstart != -1) {\r
- if (prevc == 'F') {\r
- g.setColor(Color.green);\r
- } else if (prevc == 'R') {\r
- g.setColor(Color.cyan);\r
- } else if (prevc == 'M') {\r
- g.setColor(Color.magenta);\r
- } else if (prevc == 'P') {\r
- g.setColor(Color.yellow);\r
- }\r
-\r
- //g.fillRect(x1+(int)(width*(fstart-start)),y1+height/4,(int)((end-fstart+1)*width),height/2);\r
-\r
- }\r
- }\r
-\r
-}\r