Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java @ 3889:940cd2ef149f
Area transparency fix
flys-artifacts/trunk@5542 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Thu, 20 Sep 2012 20:35:44 +0000 |
parents | cd5eb8f5f6f1 |
children | e8a4d2fd25cc |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java Thu Sep 20 09:35:31 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java Thu Sep 20 20:35:44 2012 +0000 @@ -4,7 +4,6 @@ import java.awt.Color; import java.awt.Stroke; -import org.apache.log4j.Logger; import org.jfree.data.xy.XYSeriesCollection; import org.w3c.dom.Document; @@ -20,6 +19,8 @@ * dataset. */ public class StyledAreaSeriesCollection extends XYSeriesCollection { + private static final long serialVersionUID = 5274940965666948237L; + /** Mode, how to draw/which areas to fill. */ public enum FILL_MODE {UNDER, ABOVE, BETWEEN}; @@ -29,10 +30,6 @@ /** The theme-document with attributes about actual visual representation. */ protected Document theme; - /** Own logger. */ - private static final Logger logger = - Logger.getLogger(StyledAreaSeriesCollection.class); - /** * @param theme the theme-document. @@ -85,17 +82,19 @@ } - /** - * Blindly (for now) apply the positivepaint of renderer. - */ protected void applyFillColor(StableXYDifferenceRenderer renderer) { - // Get color. - Color paint = ThemeUtil.parseFillColorField(theme); - // Get half-transparency flag. - if (ThemeUtil.parseTransparency(theme)) { - paint = new Color(paint.getRed(), paint.getGreen(), paint.getBlue(), - 128); + Color paint = ThemeUtil.parseColor( + ThemeUtil.getBackgroundColorString(theme)); + + int transparency = ThemeUtil.parseTransparency(theme); + if (transparency > 0) { + paint = new Color( + paint.getRed(), + paint.getGreen(), + paint.getBlue(), + (int)((100 - transparency) * 2.55f)); } + if (paint != null && this.getMode() == FILL_MODE.ABOVE) { renderer.setPositivePaint(paint); renderer.setNegativePaint(new Color(0,0,0,0)); @@ -105,15 +104,14 @@ renderer.setPositivePaint(new Color(0,0,0,0)); } else { - if (paint == null) paint = new Color(177, 117, 102); + if (paint == null) + paint = new Color(177, 117, 102); renderer.setPositivePaint(paint); renderer.setNegativePaint(paint); } } - /** - * Blindly (for now) apply the postiviepaint of renderer. - */ + protected void applyShowShape(StableXYDifferenceRenderer renderer) { boolean show = ThemeUtil.parseShowBorder(theme); renderer.setDrawOutline(show);