X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Frenderer%2FOverviewResColourFinder.java;h=3bf1ef4e4a74ed481f9fc61b49b5f9a2a6129198;hb=refs%2Fheads%2FJAL-3253-applet-113cc13-2019.08.28-js-optimizations;hp=b950542404a1e5b6455201971354f38a02f0d0d9;hpb=4435c731351c802772dd1355fdb5747cfacd7838;p=jalview.git diff --git a/src/jalview/renderer/OverviewResColourFinder.java b/src/jalview/renderer/OverviewResColourFinder.java index b950542..3bf1ef4 100644 --- a/src/jalview/renderer/OverviewResColourFinder.java +++ b/src/jalview/renderer/OverviewResColourFinder.java @@ -78,6 +78,15 @@ public class OverviewResColourFinder extends ResidueColourFinder HIDDEN_COLOUR = hiddenCol; } + @Override + /** + * for Test suite only. + */ + public Color getBoxColour(ResidueShaderI shader, SequenceI seq, int i) + { + return new Color(getBoxColourInt(shader, seq, i)); + } + public int getBoxColourInt(ResidueShaderI shader, SequenceI seq, int i) { char currentChar = seq.getCharAt(i); @@ -90,31 +99,59 @@ public class OverviewResColourFinder extends ResidueColourFinder return (isGap ? GAP_COLOUR : RESIDUE_COLOUR); } return (isGap && !shader.getColourScheme().hasGapColour() ? GAP_COLOUR - : shader.findColour(currentChar, i, seq).getRGB()); + : shader.findColourInt(currentChar, i, seq)); + } + + /** + * For test suite only. + */ + @Override + public Color getResidueColour(boolean showBoxes, ResidueShaderI shader, + SequenceGroup[] allGroups, final SequenceI seq, int i, + FeatureColourFinder finder) + { + return new Color(getResidueColourInt(showBoxes, shader, allGroups, seq, + i, finder)); } + private boolean useCache = // + true // option to use cache + // false // option to not use cache + ; + public int getResidueColourInt(boolean showBoxes, ResidueShaderI shader, SequenceGroup[] allGroups, final SequenceI seq, int i, FeatureColourFinder finder) { - int c = seq.getColor(i); + + int c = (useCache ? seq.getColor(i) : 0); if (c != 0) { return c; } - int col = getResidueBoxColourInt(showBoxes, shader, allGroups, seq, - i); - + int col = getResidueBoxColourInt(showBoxes, shader, allGroups, seq, i); // if there's a FeatureColourFinder we might override the residue colour // here with feature colouring - return seq.setColor(i, - finder == null || finder.noFeaturesDisplayed() ? col + c = (finder == null || finder.noFeaturesDisplayed() ? col : finder.findFeatureColourInt(col, seq, i)); + return (useCache ? seq.setColor(i, c) : c); + } + + /** + * For test suite only. + */ + @Override + protected Color getResidueBoxColour(boolean showBoxes, + ResidueShaderI shader, SequenceGroup[] allGroups, SequenceI seq, + int i) + { + return new Color( + getResidueBoxColourInt(showBoxes, shader, allGroups, seq, i)); } - + /** * In the overview, the showBoxes setting is ignored, as the overview displays * the colours regardless.