X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Frenderer%2FOverviewResColourFinder.java;h=a497d92d00d722af17995ec4eea7eb2853818b75;hb=14307f5cfcbc90c419c892434613a500ca550ecc;hp=5ed218b56c3566fad9c296d7260586c7befce13e;hpb=aebfd3e1071a70f850b5ef051f9c70bd5e027706;p=jalview.git diff --git a/src/jalview/renderer/OverviewResColourFinder.java b/src/jalview/renderer/OverviewResColourFinder.java index 5ed218b..a497d92 100644 --- a/src/jalview/renderer/OverviewResColourFinder.java +++ b/src/jalview/renderer/OverviewResColourFinder.java @@ -28,10 +28,60 @@ import java.awt.Color; public class OverviewResColourFinder extends ResidueColourFinder { + final Color GAP_COLOUR; // default colour to use at gaps + + final Color RESIDUE_COLOUR; // default colour to use at residues + + final Color HIDDEN_COLOUR; // colour for hidden regions + + boolean useLegacy = false; + + public static final Color OVERVIEW_DEFAULT_GAP = Color.lightGray; + + public static final Color OVERVIEW_DEFAULT_LEGACY_GAP = Color.white; + + public static final Color OVERVIEW_DEFAULT_HIDDEN = Color.darkGray + .darker(); + + /** + * Constructor without colour settings (used by applet) + */ + public OverviewResColourFinder() + { + this(false, OVERVIEW_DEFAULT_GAP, OVERVIEW_DEFAULT_HIDDEN); + } + + /** + * Constructor with colour settings + * + * @param useLegacyColouring + * whether to use legacy gap colouring (white gaps, grey residues) + * @param gapCol + * gap colour if not legacy + * @param hiddenCol + * hidden region colour (transparency applied by rendering code) + */ + public OverviewResColourFinder(boolean useLegacyColouring, Color gapCol, + Color hiddenCol) + { + if (useLegacyColouring) + { + GAP_COLOUR = Color.white; + RESIDUE_COLOUR = Color.lightGray; + HIDDEN_COLOUR = hiddenCol; + } + else + { + GAP_COLOUR = gapCol; + RESIDUE_COLOUR = Color.white; + HIDDEN_COLOUR = hiddenCol; + } + } + @Override public Color getBoxColour(ResidueShaderI shader, SequenceI seq, int i) { - Color resBoxColour = Color.white; + Color resBoxColour = RESIDUE_COLOUR; char currentChar = seq.getCharAt(i); // In the overview window, gaps are coloured grey, unless the colour scheme @@ -40,9 +90,9 @@ public class OverviewResColourFinder extends ResidueColourFinder if (shader.getColourScheme() != null) { if (Comparison.isGap(currentChar) - && !shader.getColourScheme().hasGapColour()) + && (!shader.getColourScheme().hasGapColour())) { - resBoxColour = Color.lightGray; + resBoxColour = GAP_COLOUR; } else { @@ -51,7 +101,7 @@ public class OverviewResColourFinder extends ResidueColourFinder } else if (Comparison.isGap(currentChar)) { - resBoxColour = Color.lightGray; + resBoxColour = GAP_COLOUR; } return resBoxColour; @@ -80,4 +130,14 @@ public class OverviewResColourFinder extends ResidueColourFinder return getBoxColour(currentShader, seq, i); } + + /** + * Supply hidden colour + * + * @return colour of hidden regions + */ + protected Color getHiddenColour() + { + return HIDDEN_COLOUR; + } }