+ return (isGap ? GAP_COLOUR : RESIDUE_COLOUR);
+ }
+ return (isGap && !shader.getColourScheme().hasGapColour() ? GAP_COLOUR
+ : 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 = (useCache ? seq.getColor(i) : 0);
+ if (c != 0)
+ {
+ return c;