import jalview.datamodel.SequenceI;
import java.awt.Color;
+import java.awt.Graphics;
import java.util.List;
import java.util.Map;
{
/**
- * compute the perceived colour for a given column position in sequenceI,
- * taking transparency and feature visibility into account.
+ * Returns the combined feature colour for a given sequence and column
+ * position, taking into account feature colour schemes, ordering, feature and
+ * feature group visibility, and transparency. Returns null if there is no
+ * visible feature at the position.
+ * <p>
+ * The Graphics argument is optional and may be null if no transparency is
+ * applied. With feature transparency, visible features are written to the
+ * graphics context and the composite colour can be read off.
+ * <p>
+ * This is provided for use by Structure Viewers and the Overview Window to
+ * get the feature colour of the rendered sequence.
*
- * @param col
- * - background colour (due to alignment/group shading schemes, etc).
- * @param sequenceI
- * - sequence providing features
- * @param r
- * - column position
+ * @param sequence
+ * @param column
+ * @param g
* @return
*/
- Color findFeatureColour(Color col, SequenceI sequenceI, int r);
+ Color findFeatureColour(SequenceI sequence, int column, Graphics g);
/**
* trigger the feature discovery process for a newly created feature renderer.
*/
void setVisible(String featureType);
+ /**
+ * Sets the transparency value, between 0 (full transparency) and 1 (no
+ * transparency)
+ *
+ * @param value
+ */
+ void setTransparency(float value);
+
+ /**
+ * Returns the transparency value, between 0 (full transparency) and 1 (no
+ * transparency)
+ *
+ * @return
+ */
+ float getTransparency();
}