X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Frenderer%2Fseqfeatures%2FFeatureColourFinder.java;h=136404b86e61939dc1c9c6221cdff386cd6c23f8;hb=5e37267b48b75b90d264e7ab04ae1bc4a0155e3e;hp=8da880a60b01a9f07e433c402006e287daa248b2;hpb=113cc13d931734b2fc55e4b13474b6c863008e12;p=jalview.git diff --git a/src/jalview/renderer/seqfeatures/FeatureColourFinder.java b/src/jalview/renderer/seqfeatures/FeatureColourFinder.java index 8da880a..136404b 100644 --- a/src/jalview/renderer/seqfeatures/FeatureColourFinder.java +++ b/src/jalview/renderer/seqfeatures/FeatureColourFinder.java @@ -23,6 +23,7 @@ package jalview.renderer.seqfeatures; import jalview.api.FeatureRenderer; import jalview.api.FeaturesDisplayedI; import jalview.datamodel.SequenceI; +import jalview.util.Platform; import jalview.viewmodel.seqfeatures.FeatureRendererModel; import java.awt.Color; @@ -134,10 +135,16 @@ public class FeatureColourFinder if (featureRenderer.getTransparency() != 1f) { g = goff; - if (defaultColour != 0) + int c = (defaultColour == 0 ? -1 : defaultColour); + if (Platform.isJS()) { - offscreenImage.setRGB(0, 0, defaultColour); + // Clear the HTML5 canvas color. + // otherwise we get a smearing. + // For whatever reason, this is necessary BH 2019.10.01. + g.setColor(new Color(c)); + g.fillRect(0, 0, 1, 1); } + offscreenImage.setRGB(0, 0, c); } Color c = featureRenderer.findFeatureColour(seq, column + 1, g); @@ -148,6 +155,12 @@ public class FeatureColourFinder if (g != null) { + if (Platform.isJS()) + { + // for JavaScript the pixel itself + // is a resource that needs to be recreated in getRGB(0,0) + offscreenImage.flush(); + } return offscreenImage.getRGB(0, 0); } return c.getRGB();