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

http://dive4elements.wald.intevation.org