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);

http://dive4elements.wald.intevation.org