diff flys-artifacts/src/main/java/org/dive4elements/river/jfree/StyledDomainMarker.java @ 5831:bd047b71ab37

Repaired internal references
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 12:06:39 +0200
parents flys-artifacts/src/main/java/de/intevation/flys/jfree/StyledDomainMarker.java@85876e3a5346
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/flys-artifacts/src/main/java/org/dive4elements/river/jfree/StyledDomainMarker.java	Thu Apr 25 12:06:39 2013 +0200
@@ -0,0 +1,53 @@
+package org.dive4elements.river.jfree;
+
+import java.awt.Color;
+
+import org.jfree.chart.plot.IntervalMarker;
+import org.w3c.dom.Document;
+
+import org.dive4elements.river.utils.ThemeUtil;
+
+/**
+ * Marker that represents a highlighted interval.
+ *
+ * @author <a href="mailto:christian.lins@intevation.de">Christian Lins</a>
+ */
+public class StyledDomainMarker extends IntervalMarker {
+
+    private static final long serialVersionUID = -4369417661339512342L;
+
+    private final Color backgroundColor, backgroundColor2;
+
+    public StyledDomainMarker(double start, double end, Document theme) {
+        super(start, end);
+
+        backgroundColor = ThemeUtil.parseColor(
+                ThemeUtil.getAreaBackgroundColorString(theme));
+        backgroundColor2 = new Color(
+            255 - backgroundColor.getRed(),
+            255 - backgroundColor.getGreen(),
+            255 - backgroundColor.getBlue());
+        useSecondColor(false);
+
+        int alpha = 100 - ThemeUtil.parseInteger(
+                ThemeUtil.getAreaTransparencyString(theme), 50);
+        setAlpha(alpha / 100.0f);
+    }
+
+    /**
+     * To properly differentiate several styled domain markers side by side,
+     * we can use this switch to toggle between two colors.
+     * @param secondColor
+     */
+    public void useSecondColor(boolean secondColor) {
+        if(!secondColor) {
+            if(backgroundColor != null)
+                setPaint(backgroundColor);
+        }
+        else {
+            if(backgroundColor2 != null)
+                setPaint(backgroundColor2);
+        }
+    }
+}
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org