From 214dcc989e3e0f815f54e4bec7f6dc6a6c576c76 Mon Sep 17 00:00:00 2001 From: benelliott Date: Wed, 20 Aug 2014 20:48:23 +0100 Subject: [PATCH] Fixed bug that prevented gradients with varying alpha from being displayed properly. --- src/main/java/com/larvalabs/svgandroid/SVGParser.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/larvalabs/svgandroid/SVGParser.java b/src/main/java/com/larvalabs/svgandroid/SVGParser.java index 5257e89..418ae96 100644 --- a/src/main/java/com/larvalabs/svgandroid/SVGParser.java +++ b/src/main/java/com/larvalabs/svgandroid/SVGParser.java @@ -1325,7 +1325,8 @@ public void startElement(String namespaceURI, String localName, String qName, At } else { float alpha = props.getFloat("stop-opacity", 1) * currentLayerAttributes().opacity; int alphaInt = Math.round(255 * alpha); - colour = stopColour.intValue() | (alphaInt << 24); + // wipe the auto FF opacity from getColor() before applying stop-opacity: + colour = (stopColour.intValue() & 0xFFFFFF) | (alphaInt << 24); } gradient.colors.add(colour);