X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FSequenceRenderer.java;fp=src%2Fjalview%2Fgui%2FSequenceRenderer.java;h=3003c0151c7695466acff015c121a4df9b10ac49;hb=refs%2Fheads%2Ffeatures%2FJAL-2094_colourInterface;hp=f215f9d1f55a724a2532054cdf52a449a51c7cc8;hpb=d737688dfdb8d00ed63a699fb86548499d75bcf2;p=jalview.git diff --git a/src/jalview/gui/SequenceRenderer.java b/src/jalview/gui/SequenceRenderer.java index f215f9d..3003c01 100755 --- a/src/jalview/gui/SequenceRenderer.java +++ b/src/jalview/gui/SequenceRenderer.java @@ -32,12 +32,6 @@ import java.awt.Color; import java.awt.FontMetrics; import java.awt.Graphics; -/** - * DOCUMENT ME! - * - * @author $author$ - * @version $Revision$ - */ public class SequenceRenderer implements jalview.api.SequenceRenderer { final static int CHAR_TO_UPPER = 'A' - 'a'; @@ -94,6 +88,7 @@ public class SequenceRenderer implements jalview.api.SequenceRenderer @Override public ColorI getResidueBoxColour(SequenceI seq, int i) { + // rate limiting step when rendering overview for lots of groups allGroups = av.getAlignment().findAllGroups(seq); if (inCurrentSequenceGroup(i)) @@ -420,7 +415,7 @@ public class SequenceRenderer implements jalview.api.SequenceRenderer } if (!isarep && av.getShowUnconserved()) { - s = getDisplayChar(srep, i, s, '.', currentSequenceGroup); + s = getDisplayChar(srep, i, s, '.', null); } @@ -450,12 +445,17 @@ public class SequenceRenderer implements jalview.api.SequenceRenderer { // TODO - use currentSequenceGroup rather than alignment // currentSequenceGroup.getConsensus() - char conschar = (usesrep) ? (currentGroup == null ? av.getAlignment() + char conschar = (usesrep) ? (currentGroup == null + || position < currentGroup.getStartRes() + || position > currentGroup.getEndRes() ? av.getAlignment() .getSeqrep().getCharAt(position) : (currentGroup.getSeqrep() != null ? currentGroup.getSeqrep() .getCharAt(position) : av.getAlignment().getSeqrep() .getCharAt(position))) - : (currentGroup != null && currentGroup.getConsensus() != null) ? currentGroup + : (currentGroup != null && currentGroup.getConsensus() != null + && position >= currentGroup.getStartRes() + && position <= currentGroup.getEndRes() && currentGroup + .getConsensus().annotations.length > position) ? currentGroup .getConsensus().annotations[position].displayCharacter .charAt(0) : av.getAlignmentConsensusAnnotation().annotations[position].displayCharacter