X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Frenderer%2Fseqfeatures%2FFeatureColourFinder.java;h=0c18d399ff48f17485674a47e48269a84910aa2f;hb=5a5663e814e0af0dbe6061a257fb4fb1baebd4e3;hp=9a1ecf9d7b8ba0e596331c8412a344824458b2f4;hpb=40bd118644ec4fe8a11b8bee04e1e25ab8699bf8;p=jalview.git diff --git a/src/jalview/renderer/seqfeatures/FeatureColourFinder.java b/src/jalview/renderer/seqfeatures/FeatureColourFinder.java index 9a1ecf9..0c18d39 100644 --- a/src/jalview/renderer/seqfeatures/FeatureColourFinder.java +++ b/src/jalview/renderer/seqfeatures/FeatureColourFinder.java @@ -1,5 +1,6 @@ package jalview.renderer.seqfeatures; +import jalview.api.FeatureRenderer; import jalview.api.FeaturesDisplayedI; import jalview.datamodel.SequenceI; import jalview.viewmodel.seqfeatures.FeatureRendererModel; @@ -19,7 +20,7 @@ public class FeatureColourFinder /* * the class we delegate feature finding to */ - private jalview.api.FeatureRenderer featureRenderer; + private FeatureRenderer featureRenderer; /* * a 1-pixel image on which features can be drawn, for the case where @@ -32,7 +33,7 @@ public class FeatureColourFinder * * @param fr */ - public FeatureColourFinder(jalview.api.FeatureRenderer fr) + public FeatureColourFinder(FeatureRenderer fr) { featureRenderer = fr; offscreenImage = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB); @@ -70,21 +71,28 @@ public class FeatureColourFinder Graphics g = null; /* - * if transparency applies, get colours drawn to a 1x1 pixel - * graphics context that has been primed with the default colour + * if transparency applies, provide a notional 1x1 graphics context + * that has been primed with the default colour */ if (featureRenderer.getTransparency() != 1f) { g = offscreenImage.getGraphics(); - offscreenImage.setRGB(0, 0, defaultColour.getRGB()); + if (defaultColour != null) + { + offscreenImage.setRGB(0, 0, defaultColour.getRGB()); + } } Color c = featureRenderer.findFeatureColour(seq, column, g); + if (c == null) + { + return defaultColour; + } - if (c != null && g != null) + if (g != null) { c = new Color(offscreenImage.getRGB(0, 0)); } - return c == null ? defaultColour : c; + return c; } }