*/
package jalview.renderer;
+import java.awt.Color;
+
import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
import jalview.util.Comparison;
-import java.awt.Color;
-
public class OverviewResColourFinder extends ResidueColourFinder
{
- final Color GAP_COLOUR = new Color(240, 240, 240);
+ /*
+ * colour for gaps (unless overridden by colour scheme)
+ * - as set in Preferences, _or_ read from a project file
+ */
+ Color gapColour;
+
+ /*
+ * colour for residues if no colour scheme set (before feature colouring)
+ * - as set in Preferences, _or_ read from a project file
+ */
+ Color residueColour;
+
+ /*
+ * colour for hidden regions
+ * - as set in Preferences, _or_ read from a project file
+ */
+ Color hiddenColour;
+
+ /**
+ * Constructor without colour settings (used by applet)
+ *
+ * @deprecated
+ */
+ @Deprecated
+ public OverviewResColourFinder()
+ {
+ this(Color.lightGray, Color.white, Color.darkGray.darker());
+ }
+
+ /**
+ * Constructor given default colours for gaps, residues and hidden regions
+ *
+ * @param gaps
+ * @param residues
+ * @param hidden
+ */
+ public OverviewResColourFinder(Color gaps, Color residues, Color hidden)
+ {
+ gapColour = gaps;
+ residueColour = residues;
+ hiddenColour = hidden;
+ }
@Override
public Color getBoxColour(ResidueShaderI shader, SequenceI seq, int i)
{
- Color resBoxColour = Color.white;
+ Color resBoxColour = residueColour;
char currentChar = seq.getCharAt(i);
// In the overview window, gaps are coloured grey, unless the colour scheme
if (shader.getColourScheme() != null)
{
if (Comparison.isGap(currentChar)
- && !shader.getColourScheme().hasGapColour())
+ && (!shader.getColourScheme().hasGapColour()))
{
- resBoxColour = GAP_COLOUR;
+ resBoxColour = gapColour;
}
else
{
}
else if (Comparison.isGap(currentChar))
{
- resBoxColour = GAP_COLOUR;
+ resBoxColour = gapColour;
}
return resBoxColour;
*/
@Override
protected Color getResidueBoxColour(boolean showBoxes,
- ResidueShaderI shader,
- SequenceGroup[] allGroups, SequenceI seq, int i)
+ ResidueShaderI shader, SequenceGroup[] allGroups, SequenceI seq,
+ int i)
{
ResidueShaderI currentShader;
SequenceGroup currentSequenceGroup = getCurrentSequenceGroup(allGroups,
return getBoxColour(currentShader, seq, i);
}
+
+ /**
+ * Returns the colour used for hidden regions
+ *
+ * @return
+ */
+ public Color getHiddenColour()
+ {
+ return hiddenColour;
+ }
+
+ /**
+ * Returns the colour used for gaps, if not overridden by the alignment colour
+ * scheme
+ *
+ * @return
+ */
+ public Color getGapColour()
+ {
+ return gapColour;
+ }
+
+ /**
+ * Returns the colour used for residues (before applying any feature
+ * colouring) if there is no alignment colour scheme
+ *
+ * @return
+ */
+ public Color getResidueColour()
+ {
+ return residueColour;
+ }
}