X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Frenderer%2Fseqfeatures%2FFeatureRenderer.java;h=02cfd05535f4366298b3af56bf412f2aa926dff2;hb=5a5663e814e0af0dbe6061a257fb4fb1baebd4e3;hp=49b98a5fe99d5c2abda2123c0a56cab0ce3ea2e8;hpb=40bd118644ec4fe8a11b8bee04e1e25ab8699bf8;p=jalview.git diff --git a/src/jalview/renderer/seqfeatures/FeatureRenderer.java b/src/jalview/renderer/seqfeatures/FeatureRenderer.java index 49b98a5..02cfd05 100644 --- a/src/jalview/renderer/seqfeatures/FeatureRenderer.java +++ b/src/jalview/renderer/seqfeatures/FeatureRenderer.java @@ -255,10 +255,17 @@ public class FeatureRenderer extends FeatureRendererModel Color renderedColour = null; if (transparency == 1.0f) { + /* + * simple case - just find the topmost rendered visible feature colour + */ renderedColour = findFeatureColour(seq, seq.findPosition(column)); } else { + /* + * transparency case - draw all visible features in render order to + * build up a composite colour on the graphics context + */ renderedColour = drawSequence(g, lastSeq, column, column, 0, true); } return renderedColour; @@ -464,7 +471,10 @@ public class FeatureRenderer extends FeatureRendererModel return null; } - // updateFeatures(); + /* + * check for new feature added while processing + */ + updateFeatures(); /* * inspect features in reverse renderOrder (the last in the array is @@ -491,6 +501,10 @@ public class FeatureRenderer extends FeatureRendererModel continue; } + /* + * check the column position is within the feature range + * (or is one of the two contact positions for a contact feature) + */ boolean featureIsAtPosition = sequenceFeature.begin <= pos && sequenceFeature.end >= pos; if (sequenceFeature.isContactFeature())