Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java @ 2666:6da7e064ae90
Allow basic and styled area labels, yet on static position within plot.
flys-artifacts/trunk@4344 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Thu, 03 May 2012 20:27:01 +0000 |
parents | a026d005accd |
children | b75681c09ef8 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java Thu May 03 20:23:02 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java Thu May 03 20:27:01 2012 +0000 @@ -11,6 +11,7 @@ import org.jfree.data.xy.XYSeriesCollection; import de.intevation.flys.utils.ThemeUtil; +import de.intevation.flys.utils.ThemeAccess; import de.intevation.flys.jfree.StableXYDifferenceRenderer; @@ -68,7 +69,18 @@ applyShowShape(renderer); applyOutlineColor(renderer); applyOutlineStyle(renderer); - + applyShowArea(renderer); + if (mode == FILL_MODE.UNDER) { + renderer.setAreaCalculationMode(StableXYDifferenceRenderer.CALCULATE_NEGATIVE_AREA); + } + else if (mode == FILL_MODE.ABOVE) { + renderer.setAreaCalculationMode(StableXYDifferenceRenderer.CALCULATE_POSITIVE_AREA); + } + else { + renderer.setAreaCalculationMode(StableXYDifferenceRenderer.CALCULATE_ALL_AREA); + } + // TODO apply all the text style for the calc. area label. + new ThemeAccess(theme).parseTextStyle().apply(renderer); return renderer; } @@ -124,6 +136,11 @@ int size = ThemeUtil.parseLineWidth(theme); } + /** Inform renderer whether it should draw a label. */ + protected void applyShowArea(StableXYDifferenceRenderer renderer) { + renderer.setLabelArea(ThemeUtil.parseShowArea(theme)); + } + protected void applyOutlineStyle(StableXYDifferenceRenderer renderer) { float[] dashes = ThemeUtil.parseLineStyle(theme); int size = ThemeUtil.parseLineWidth(theme);