X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Frenderer%2Fseqfeatures%2FFeatureRenderer.java;fp=src%2Fjalview%2Frenderer%2Fseqfeatures%2FFeatureRenderer.java;h=648f77672e71087536bf8b5b9a45f33b12d41674;hb=1ae9824ef37ce4ed36d1da986003474b47d1ab11;hp=fa91342e641959909558b85d03755221aeed7960;hpb=af28532d835bbef7d85bde74696a1ef751d7ff5c;p=jalview.git diff --git a/src/jalview/renderer/seqfeatures/FeatureRenderer.java b/src/jalview/renderer/seqfeatures/FeatureRenderer.java index fa91342..648f776 100644 --- a/src/jalview/renderer/seqfeatures/FeatureRenderer.java +++ b/src/jalview/renderer/seqfeatures/FeatureRenderer.java @@ -20,28 +20,6 @@ public class FeatureRenderer extends boolean offscreenRender = false; - /** - * DOCUMENT ME! - * - * @param g - * DOCUMENT ME! - * @param seq - * DOCUMENT ME! - * @param sg - * DOCUMENT ME! - * @param start - * DOCUMENT ME! - * @param end - * DOCUMENT ME! - * @param x1 - * DOCUMENT ME! - * @param y1 - * DOCUMENT ME! - * @param width - * DOCUMENT ME! - * @param height - * DOCUMENT ME! - */ protected SequenceI lastSeq; char s; @@ -99,7 +77,6 @@ public class FeatureRenderer extends charOffset = (av_charWidth - fm.charWidth(s)) / 2; g.drawString(String.valueOf(s), charOffset + (av_charWidth * (i - start)), pady); - } } } @@ -164,7 +141,6 @@ public class FeatureRenderer extends charOffset = (av_charWidth - fm.charWidth(s)) / 2; g.drawString(String.valueOf(s), charOffset + (av_charWidth * (i - start)), pady); - } } } @@ -188,29 +164,29 @@ public class FeatureRenderer extends return initialCol; } - SequenceFeature[] sf = seq.getSequenceFeatures(); + SequenceFeature[] sequenceFeatures = seq.getSequenceFeatures(); if (seq != lastSeq) { lastSeq = seq; - sequenceFeatures = sf; - if (sequenceFeatures != null) + lastSequenceFeatures = sequenceFeatures; + if (lastSequenceFeatures != null) { - sfSize = sequenceFeatures.length; + sfSize = lastSequenceFeatures.length; } } else { - if (sequenceFeatures != sf) + if (lastSequenceFeatures != sequenceFeatures) { - sequenceFeatures = sf; - if (sequenceFeatures != null) + lastSequenceFeatures = sequenceFeatures; + if (lastSequenceFeatures != null) { - sfSize = sequenceFeatures.length; + sfSize = lastSequenceFeatures.length; } } } - if (sequenceFeatures == null || sfSize == 0) + if (lastSequenceFeatures == null || sfSize == 0) { return initialCol; } @@ -254,7 +230,7 @@ public class FeatureRenderer extends } - private volatile SequenceFeature[] sequenceFeatures; + private volatile SequenceFeature[] lastSequenceFeatures; int sfSize; @@ -267,8 +243,8 @@ public class FeatureRenderer extends public synchronized void drawSequence(Graphics g, final SequenceI seq, int start, int end, int y1) { - SequenceFeature[] sf = seq.getSequenceFeatures(); - if (sf == null || sf.length == 0) + SequenceFeature[] sequenceFeatures = seq.getSequenceFeatures(); + if (sequenceFeatures == null || sequenceFeatures.length == 0) { return; } @@ -281,10 +257,10 @@ public class FeatureRenderer extends updateFeatures(); if (lastSeq == null || seq != lastSeq - || sf != sequenceFeatures) + || sequenceFeatures != lastSequenceFeatures) { lastSeq = seq; - sequenceFeatures = sf; + lastSequenceFeatures = sequenceFeatures; } if (transparency != 1 && g != null) @@ -300,7 +276,7 @@ public class FeatureRenderer extends epos = lastSeq.findPosition(end); } - sfSize = sequenceFeatures.length; + sfSize = lastSequenceFeatures.length; String type; for (int renderIndex = 0; renderIndex < renderOrder.length; renderIndex++) { @@ -315,25 +291,24 @@ public class FeatureRenderer extends // current feature to render for (sfindex = 0; sfindex < sfSize; sfindex++) { - if (!sequenceFeatures[sfindex].type.equals(type)) + final SequenceFeature sequenceFeature = lastSequenceFeatures[sfindex]; + if (!sequenceFeature.type.equals(type)) { continue; } if (featureGroups != null - && sequenceFeatures[sfindex].featureGroup != null - && sequenceFeatures[sfindex].featureGroup.length() != 0 - && featureGroups - .containsKey(sequenceFeatures[sfindex].featureGroup) - && !featureGroups - .get(sequenceFeatures[sfindex].featureGroup) + && sequenceFeature.featureGroup != null + && sequenceFeature.featureGroup.length() != 0 + && featureGroups.containsKey(sequenceFeature.featureGroup) + && !featureGroups.get(sequenceFeature.featureGroup) .booleanValue()) { continue; } if (!offscreenRender - && (sequenceFeatures[sfindex].getBegin() > epos || sequenceFeatures[sfindex] + && (sequenceFeature.getBegin() > epos || sequenceFeature .getEnd() < spos)) { continue; @@ -341,56 +316,51 @@ public class FeatureRenderer extends if (offscreenRender && offscreenImage == null) { - if (sequenceFeatures[sfindex].begin <= start - && sequenceFeatures[sfindex].end >= start) + if (sequenceFeature.begin <= start + && sequenceFeature.end >= start) { // this is passed out to the overview and other sequence renderers // (e.g. molecule viewer) to get displayed colour for rendered // sequence - currentColour = new Integer( - getColour(sequenceFeatures[sfindex]).getRGB()); + currentColour = new Integer(getColour(sequenceFeature).getRGB()); // used to be retreived from av.featuresDisplayed // currentColour = av.featuresDisplayed // .get(sequenceFeatures[sfindex].type); } } - else if (sequenceFeatures[sfindex].type.equals("disulfide bond")) + else if (sequenceFeature.type.equals("disulfide bond")) { - - renderFeature(g, seq, - seq.findIndex(sequenceFeatures[sfindex].begin) - 1, - seq.findIndex(sequenceFeatures[sfindex].begin) - 1, - getColour(sequenceFeatures[sfindex]) + renderFeature(g, seq, seq.findIndex(sequenceFeature.begin) - 1, + seq.findIndex(sequenceFeature.begin) - 1, + getColour(sequenceFeature) // new Color(((Integer) av.featuresDisplayed // .get(sequenceFeatures[sfindex].type)).intValue()) , start, end, y1); - renderFeature(g, seq, - seq.findIndex(sequenceFeatures[sfindex].end) - 1, - seq.findIndex(sequenceFeatures[sfindex].end) - 1, - getColour(sequenceFeatures[sfindex]) + renderFeature(g, seq, seq.findIndex(sequenceFeature.end) - 1, + seq.findIndex(sequenceFeature.end) - 1, + getColour(sequenceFeature) // new Color(((Integer) av.featuresDisplayed // .get(sequenceFeatures[sfindex].type)).intValue()) , start, end, y1); } - else if (showFeature(sequenceFeatures[sfindex])) + else if (showFeature(sequenceFeature)) { if (av_isShowSeqFeatureHeight - && sequenceFeatures[sfindex].score != Float.NaN) + && sequenceFeature.score != Float.NaN) { renderScoreFeature(g, seq, - seq.findIndex(sequenceFeatures[sfindex].begin) - 1, - seq.findIndex(sequenceFeatures[sfindex].end) - 1, - getColour(sequenceFeatures[sfindex]), start, end, y1, - normaliseScore(sequenceFeatures[sfindex])); + seq.findIndex(sequenceFeature.begin) - 1, + seq.findIndex(sequenceFeature.end) - 1, + getColour(sequenceFeature), start, end, y1, + normaliseScore(sequenceFeature)); } else { - renderFeature(g, seq, - seq.findIndex(sequenceFeatures[sfindex].begin) - 1, - seq.findIndex(sequenceFeatures[sfindex].end) - 1, - getColour(sequenceFeatures[sfindex]), start, end, y1); + renderFeature(g, seq, seq.findIndex(sequenceFeature.begin) - 1, + seq.findIndex(sequenceFeature.end) - 1, + getColour(sequenceFeature), start, end, y1); } }