Merge branch 'develop' into spike/JAL-4047/JAL-4048_columns_in_sequenceID
[jalview.git] / src / jalview / api / SequenceRenderer.java
index 2d547dc..d5d07ef 100644 (file)
@@ -1,12 +1,51 @@
+/*
+ * 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.api;
 
+import jalview.datamodel.SequenceGroup;
 import jalview.datamodel.SequenceI;
+import jalview.renderer.seqfeatures.FeatureColourFinder;
 
 import java.awt.Color;
+import java.awt.Graphics;
 
 public interface SequenceRenderer
 {
 
-  Color getResidueBoxColour(SequenceI sequenceI, int r);
+  Color getResidueColour(SequenceI seq, int position,
+          FeatureColourFinder finder);
+
+  /**
+   * Configure the Graphics canvas and render options for the renderer
+   * @param g - the canvas to render to
+   * @param renderGaps - when true, gap characters will be included when rendered
+   *          
+   */
+  void prepare(Graphics g, boolean renderGaps);
+
+  void drawSequence(SequenceI nextSeq, SequenceGroup[] findAllGroups,
+          int startRes, int endRes, int i);
+
+  void drawHighlightedText(SequenceI nextSeq, int i, int j, int k, int l);
+
+  void drawCursor(Graphics g, char s, int i, int j);
 
 }