Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java @ 2642:42b05a4bed25
Cosmetics, added doc, TODO and OPTIMIZE to Enhanced*Renderer.
flys-artifacts/trunk@4297 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 25 Apr 2012 14:40:32 +0000 |
parents | 74c02dbf17ca |
children | 0a84313efe60 |
comparison
equal
deleted
inserted
replaced
2641:2bad13107161 | 2642:42b05a4bed25 |
---|---|
19 import org.jfree.data.xy.XYDataset; | 19 import org.jfree.data.xy.XYDataset; |
20 import org.jfree.ui.RectangleEdge; | 20 import org.jfree.ui.RectangleEdge; |
21 import org.jfree.util.BooleanList; | 21 import org.jfree.util.BooleanList; |
22 import org.jfree.util.ShapeUtilities; | 22 import org.jfree.util.ShapeUtilities; |
23 | 23 |
24 | 24 /** |
25 * Renderer with additional functionality. | |
26 */ | |
25 public class EnhancedLineAndShapeRenderer extends XYLineAndShapeRenderer { | 27 public class EnhancedLineAndShapeRenderer extends XYLineAndShapeRenderer { |
26 | 28 |
27 private static final Logger logger = | 29 private static final Logger logger = |
28 Logger.getLogger(EnhancedLineAndShapeRenderer.class); | 30 Logger.getLogger(EnhancedLineAndShapeRenderer.class); |
29 | 31 |
143 double transY1 = rangeAxis.valueToJava2D(y1, dataArea, yAxisLocation); | 145 double transY1 = rangeAxis.valueToJava2D(y1, dataArea, yAxisLocation); |
144 | 146 |
145 if (getItemShapeVisible(dataset, series, item)) { | 147 if (getItemShapeVisible(dataset, series, item)) { |
146 Shape shape = null; | 148 Shape shape = null; |
147 | 149 |
150 // OPTIMIZE instead of calculating minimum and maximum for every | |
151 // point, calculate it just once (assume that dataset | |
152 // content does not change during rendering). | |
148 boolean isMinimum = isMinimumShapeVisible(series) | 153 boolean isMinimum = isMinimumShapeVisible(series) |
149 && isMinimum(dataset, series, item); | 154 && isMinimum(dataset, series, item); |
150 | 155 |
151 boolean isMaximum = isMaximumShapeVisible(series) | 156 boolean isMaximum = isMaximumShapeVisible(series) |
152 && isMaximum(dataset, series, item); | 157 && isMaximum(dataset, series, item); |
206 g2.setPaint(getItemOutlinePaint(series, item)); | 211 g2.setPaint(getItemOutlinePaint(series, item)); |
207 g2.setStroke(getItemOutlineStroke(series, item)); | 212 g2.setStroke(getItemOutlineStroke(series, item)); |
208 g2.draw(shape); | 213 g2.draw(shape); |
209 } | 214 } |
210 } | 215 } |
216 // TODO labeling of waterlevels could happen here, too. | |
211 } | 217 } |
212 | 218 |
213 double xx = transX1; | 219 double xx = transX1; |
214 double yy = transY1; | 220 double yy = transY1; |
215 if (orientation == PlotOrientation.HORIZONTAL) { | 221 if (orientation == PlotOrientation.HORIZONTAL) { |