-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
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
+package jalview.gui;
+
+/**
+ * A class that manages drawing of sequence features for the Swing gui
+ */
+public class FeatureRenderer
+ extends jalview.renderer.seqfeatures.FeatureRenderer
+{
+ AlignmentPanel ap;
+
+ /**
+ * Creates a new FeatureRenderer object
+ *
+ * @param alignPanel
+ */
+ public FeatureRenderer(AlignmentPanel alignPanel)
+ {
+ super(alignPanel.av);
+ this.ap = alignPanel;
+ if (alignPanel.getSeqPanel() != null
+ && alignPanel.getSeqPanel().seqCanvas != null
+ && alignPanel.getSeqPanel().seqCanvas.fr != null)
+ {
+ transferSettings(alignPanel.getSeqPanel().seqCanvas.fr);
+ }
+ }
+}