annotate artifacts/src/main/java/org/dive4elements/river/jfree/StyledAreaSeriesCollection.java @ 9496:d8e753d0fdb9

stripedArea introduced for Assessment Scheme/Bewertungsschema
author gernotbelger
date Wed, 26 Sep 2018 15:48:05 +0200
parents eec4df8165a1
children ef5754ba5573
rev   line source
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
6 * documentation coming with Dive4Elements River for details.
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4686
diff changeset
9 package org.dive4elements.river.jfree;
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
3227
ed07dd55f487 Fixed various bugs (package declarations, moved classes to correct places).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3076
diff changeset
11 import java.awt.BasicStroke;
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import java.awt.Color;
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
13 import java.awt.Font;
8910
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
14 import java.awt.Paint;
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 import java.awt.Stroke;
8910
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
16 import java.awt.TexturePaint;
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
17 import java.awt.geom.Ellipse2D;
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
18 import java.awt.geom.Rectangle2D;
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
19 import java.awt.image.BufferedImage;
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
21 import org.apache.log4j.Logger;
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
22 import org.dive4elements.artifacts.CallMeta;
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
23 import org.dive4elements.river.artifacts.resources.Resources;
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
24 import org.dive4elements.river.java2d.ShapeUtils;
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
25 import org.dive4elements.river.themes.ThemeDocument;
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
26 import org.dive4elements.river.utils.Formatter;
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
27 import org.jfree.chart.LegendItem;
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
28 import org.jfree.chart.LegendItemCollection;
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
29 import org.jfree.chart.plot.XYPlot;
3227
ed07dd55f487 Fixed various bugs (package declarations, moved classes to correct places).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3076
diff changeset
30 import org.jfree.data.xy.XYSeriesCollection;
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 /**
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 * One or more dataseries to draw a polygon (either "open up/downwards", or
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 * the area between two curves), a theme-document and further display options.
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 * The theme-document will later "style" the graphical representation.
3076
5642a83420f2 FLYS artifacts: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2667
diff changeset
36 * The display options can be used to control the z-order and the axis of the
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 * dataset.
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 */
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
39 // FIXME: bad abstraction: the only purpose of this derivation is to apply specific styles. This should rather be solved
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
40 // similar to the XYSTyle.
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
41 public class StyledAreaSeriesCollection extends XYSeriesCollection implements StyledXYDataset {
3889
940cd2ef149f Area transparency fix
Christian Lins <christian.lins@intevation.de>
parents: 3442
diff changeset
42 private static final long serialVersionUID = 5274940965666948237L;
940cd2ef149f Area transparency fix
Christian Lins <christian.lins@intevation.de>
parents: 3442
diff changeset
43
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
44 private static final Logger log = Logger.getLogger(StyledAreaSeriesCollection.class);
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
45
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 /** Mode, how to draw/which areas to fill. */
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
47 public enum FILL_MODE {
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
48 UNDER, ABOVE, BETWEEN
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
49 }
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 /** MODE in use. */
8885
e5f688820951 Some minor changes on chart: allow area-themes to consider range; allow for axis-margins
gernotbelger
parents: 8856
diff changeset
52 private FILL_MODE mode;
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 7119
diff changeset
54 /** Theme-document with attributes about actual visual representation. */
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
55 private final ThemeDocument theme;
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57 /**
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
58 * @param theme
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
59 * the theme-document.
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 */
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
61 public StyledAreaSeriesCollection(final ThemeDocument theme) {
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 this.theme = theme;
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 this.mode = FILL_MODE.BETWEEN;
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
64 }
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66 /** Gets the Fill mode. */
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
67 private FILL_MODE getMode() {
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 return this.mode;
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 }
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 /** Sets the Fill mode. */
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
72 public void setMode(final FILL_MODE fMode) {
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 this.mode = fMode;
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 }
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
76 @Override
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
77 public void applyTheme(final CallMeta callMeta, final XYPlot plot, final int datasetIndex, final Font legendFont) {
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
78
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
79 final LegendItemCollection lic = new LegendItemCollection();
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
80 final LegendItemCollection anno = plot.getFixedLegendItems();
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
81
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
82 log.debug("Registering an 'area'renderer at idx: " + datasetIndex);
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
83
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
84 final StableXYDifferenceRenderer dRenderer = new StableXYDifferenceRenderer();
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
85
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
86 if (getMode() == StyledAreaSeriesCollection.FILL_MODE.UNDER) {
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
87 dRenderer.setPositivePaint(createTransparentPaint());
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
88 }
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
89
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
90 plot.setRenderer(datasetIndex, dRenderer);
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
91
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
92 applyTheme(dRenderer);
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
93
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
94 // i18n
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
95 dRenderer.setAreaLabelNumberFormat(Formatter.getFormatter(callMeta, 2, 4));
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
96
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
97 dRenderer.setAreaLabelTemplate(Resources.getMsg(callMeta, "area.label.template", "Area=%sm2"));
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
98
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
99 final LegendItem legendItem = dRenderer.getLegendItem(datasetIndex, 0);
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
100 if (legendItem != null) {
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
101 legendItem.setLabelFont(legendFont);
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
102 lic.add(legendItem);
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
103 } else {
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
104 log.warn("Could not get LegentItem for renderer: " + datasetIndex + ", series-idx " + 0);
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
105 }
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
106
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
107 if (anno != null) {
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
108 lic.addAll(anno);
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
109 }
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
110
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
111 plot.setFixedLegendItems(lic);
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
112 }
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
113
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
114 /**
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
115 * Returns a transparently textured paint.
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
116 *
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
117 * @return a transparently textured paint.
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
118 */
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
119 private static Paint createTransparentPaint() {
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
120 // TODO why not use a transparent color?
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
121 final BufferedImage texture = new BufferedImage(1, 1, BufferedImage.TYPE_4BYTE_ABGR);
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
122
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
123 return new TexturePaint(texture, new Rectangle2D.Double(0d, 0d, 0d, 0d));
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
124 }
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
125
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
126 /**
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
127 * Applies line color, size and type attributes to renderer, also
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
128 * whether to draw lines and/or points.
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
129 *
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
130 * @param renderer
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
131 * Renderer to apply theme to.
3395
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3227
diff changeset
132 * @return \param renderer
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 */
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
134 private StableXYDifferenceRenderer applyTheme(final StableXYDifferenceRenderer renderer) {
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135 applyFillColor(renderer);
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
136 applyShowBorder(renderer);
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
137 applyShowArea(renderer);
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138 applyOutlineColor(renderer);
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139 applyOutlineStyle(renderer);
8885
e5f688820951 Some minor changes on chart: allow area-themes to consider range; allow for axis-margins
gernotbelger
parents: 8856
diff changeset
140 applyShowLine(renderer);
7119
988dde49ae65 Fix area label rendering.
Andre Heinecke <aheinecke@intevation.de>
parents: 6908
diff changeset
141 applyShowAreaLabel(renderer);
9186
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
142 applyShowLineLabel(renderer);
8910
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
143 applyPointStyle(renderer);
9186
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
144 applyShowMinimumMaximum(renderer);
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
145 if (this.mode == FILL_MODE.UNDER) {
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
146 renderer.setAreaCalculationMode(StableXYDifferenceRenderer.CALCULATE_NEGATIVE_AREA);
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
147 } else if (this.mode == FILL_MODE.ABOVE) {
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
148 renderer.setAreaCalculationMode(StableXYDifferenceRenderer.CALCULATE_POSITIVE_AREA);
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
149 } else {
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
150 renderer.setAreaCalculationMode(StableXYDifferenceRenderer.CALCULATE_ALL_AREA);
2666
6da7e064ae90 Allow basic and styled area labels, yet on static position within plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2074
diff changeset
151 }
2667
b75681c09ef8 Respect area label bg text style, draw label roughly at centroid of polygons (sofar, better but not yet good).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2666
diff changeset
152
b75681c09ef8 Respect area label bg text style, draw label roughly at centroid of polygons (sofar, better but not yet good).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2666
diff changeset
153 // Apply text style.
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
154 this.theme.parseComplexTextStyle().apply(renderer);
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
155 return renderer;
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
156 }
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
157
9186
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
158 private void applyShowMinimumMaximum(final StableXYDifferenceRenderer renderer) {
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
159
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
160 // TODO: nice to have
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
161
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
162 // final boolean minimumVisible = this.theme.parseShowMinimum();
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
163 // renderer.setIsMinimumShapeVisible(minimumVisible);
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
164 //
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
165 // final boolean maximumVisible = this.theme.parseShowMaximum();
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
166 // renderer.setIsMaximumShapeVisible(maximumVisible);
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
167 }
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
168
8910
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
169 private void applyFillColor(final StableXYDifferenceRenderer renderer) {
3889
940cd2ef149f Area transparency fix
Christian Lins <christian.lins@intevation.de>
parents: 3442
diff changeset
170
8910
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
171 Paint paint = parseFillPaint();
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
172
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
173 if (paint != null && this.getMode() == FILL_MODE.ABOVE) {
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
174 renderer.setPositivePaint(paint);
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
175 renderer.setNegativePaint(new Color(0, 0, 0, 0));
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
176 } else if (paint != null && this.getMode() == FILL_MODE.UNDER) {
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
177 renderer.setNegativePaint(paint);
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
178 renderer.setPositivePaint(new Color(0, 0, 0, 0));
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
179 } else {
3889
940cd2ef149f Area transparency fix
Christian Lins <christian.lins@intevation.de>
parents: 3442
diff changeset
180 if (paint == null)
940cd2ef149f Area transparency fix
Christian Lins <christian.lins@intevation.de>
parents: 3442
diff changeset
181 paint = new Color(177, 117, 102);
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
182
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
183 renderer.setPositivePaint(paint);
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
184 renderer.setNegativePaint(paint);
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
185 }
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
186 }
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
187
8910
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
188 private Paint parseFillPaint() {
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
189 final Color paint = this.theme.parseAreaBackgroundColor();
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
190 final int transparency = this.theme.parseAreaTransparency();
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
191
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
192 final Color alphaPaint = ShapeUtils.withAlpha(paint, transparency);
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
193
8910
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
194 final AreaFillPattern pattern = this.theme.parseAreaBackgroundPattern();
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
195
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
196 if (pattern == null || pattern == AreaFillPattern.patternFill)
8910
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
197 return alphaPaint;
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
198
8910
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
199 final BufferedImage image = pattern.getImage(alphaPaint);
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
200
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
201 final Rectangle2D anchor = new Rectangle2D.Double(0, 0, image.getWidth(), image.getHeight());
8910
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
202 return new TexturePaint(image, anchor);
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
203 }
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
204
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
205 private void applyShowBorder(final StableXYDifferenceRenderer renderer) {
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
206 final boolean show = this.theme.parseAreaShowBorder();
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
207 renderer.setDrawOutline(show);
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
208 }
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
209
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
210 private void applyShowArea(final StableXYDifferenceRenderer renderer) {
3395
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3227
diff changeset
211
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
212 final boolean showArea = this.theme.parseShowArea();
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
213 renderer.setDrawArea(showArea);
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
214 }
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
215
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
216 private void applyShowLine(final StableXYDifferenceRenderer renderer) {
8910
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
217 /* FIXME: strange: this will enable/disable showing the 'point' shapes at each vertex. */
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
218 /* FIXME: this will also now be overridden by the option 'showpoints' */
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
219 final boolean show = this.theme.parseShowLine();
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
220 renderer.setShapesVisible(show);
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
221 }
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
222
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
223 private void applyOutlineColor(final StableXYDifferenceRenderer renderer) {
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
224 final Color c = this.theme.parseLineColorField();
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
225 renderer.setOutlinePaint(c);
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
226 }
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
227
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
228 private void applyShowAreaLabel(final StableXYDifferenceRenderer renderer) {
9186
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
229 renderer.setShowAreaLabel(this.theme.parseShowAreaLabel());
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
230 }
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
231
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
232 private void applyShowLineLabel(final StableXYDifferenceRenderer renderer) {
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
233 // REMARK: using 'showlinelabel' to activate labeling the line with the title of the theme. This is the same behaviour
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
234 // as for line-themes.
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
235 final boolean showLabelLine = this.theme.parseShowLineLabel();
eec4df8165a1 Implemented 'ShowLineLabel' for area themes.
gernotbelger
parents: 9182
diff changeset
236 renderer.setShowTitleLabel(showLabelLine);
2666
6da7e064ae90 Allow basic and styled area labels, yet on static position within plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2074
diff changeset
237 }
6da7e064ae90 Allow basic and styled area labels, yet on static position within plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2074
diff changeset
238
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
239 private void applyOutlineStyle(final StableXYDifferenceRenderer renderer) {
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
240 final float[] dashes = this.theme.parseLineStyle();
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
241 final int size = this.theme.parseLineWidth();
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
242
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
243 Stroke stroke = null;
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
244
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
245 if (dashes.length <= 1) {
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
246 stroke = new BasicStroke(Integer.valueOf(size));
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
247 } else {
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
248 stroke = new BasicStroke(Integer.valueOf(size), BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 1.0f, dashes, 0.0f);
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
249 }
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
250
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
251 renderer.setOutlineStroke(stroke);
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
252 }
8885
e5f688820951 Some minor changes on chart: allow area-themes to consider range; allow for axis-margins
gernotbelger
parents: 8856
diff changeset
253
8910
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
254 private void applyPointStyle(final StableXYDifferenceRenderer renderer) {
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
255
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
256 final boolean showPoints = this.theme.parseShowPoints();
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
257 renderer.setShapesVisible(showPoints);
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
258
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
259 if (showPoints) {
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
260 final int size = this.theme.parsePointWidth();
9496
d8e753d0fdb9 stripedArea introduced for Assessment Scheme/Bewertungsschema
gernotbelger
parents: 9186
diff changeset
261 final int dim = 2 * size;
8910
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
262
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
263 final Ellipse2D pointShape = new Ellipse2D.Double(-size, -size, dim, dim);
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
264 final Color pointColor = this.theme.parsePointColor();
8910
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
265
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
266 renderer.setSeriesPaint(0, pointColor);
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
267 renderer.setSeriesPaint(1, pointColor);
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
268
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
269 renderer.setSeriesShape(0, pointShape);
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
270 renderer.setSeriesShape(1, pointShape);
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
271 }
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
272 }
d9c89651bd67 Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents: 8885
diff changeset
273
8885
e5f688820951 Some minor changes on chart: allow area-themes to consider range; allow for axis-margins
gernotbelger
parents: 8856
diff changeset
274 public boolean shouldCalculateRange() {
9182
77eb4553245b Fixed: waterlevels could not show a band any more
gernotbelger
parents: 8913
diff changeset
275 return this.theme.parseCalculateRange();
8885
e5f688820951 Some minor changes on chart: allow area-themes to consider range; allow for axis-margins
gernotbelger
parents: 8856
diff changeset
276 }
2074
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
277 }
a026d005accd Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
278 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org