git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Commit 113cc13-2019.09.28 with added transparency fix
[jalview.git]
/
src
/
jalview
/
renderer
/
seqfeatures
/
FeatureColourFinder.java
diff --git
a/src/jalview/renderer/seqfeatures/FeatureColourFinder.java
b/src/jalview/renderer/seqfeatures/FeatureColourFinder.java
index
8da880a
..
136404b
100644
(file)
--- 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.api.FeatureRenderer;
import jalview.api.FeaturesDisplayedI;
import jalview.datamodel.SequenceI;
+import jalview.util.Platform;
import jalview.viewmodel.seqfeatures.FeatureRendererModel;
import java.awt.Color;
import jalview.viewmodel.seqfeatures.FeatureRendererModel;
import java.awt.Color;
@@
-134,10
+135,16
@@
public class FeatureColourFinder
if (featureRenderer.getTransparency() != 1f)
{
g = goff;
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);
}
Color c = featureRenderer.findFeatureColour(seq, column + 1, g);
@@
-148,6
+155,12
@@
public class FeatureColourFinder
if (g != null)
{
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();
return offscreenImage.getRGB(0, 0);
}
return c.getRGB();