From: <mu...@us...> - 2008-08-13 19:20:23
|
Revision: 1345 http://jfreechart.svn.sourceforge.net/jfreechart/?rev=1345&view=rev Author: mungady Date: 2008-08-13 19:20:16 +0000 (Wed, 13 Aug 2008) Log Message: ----------- Synchronised with 1.0.x branch. Modified Paths: -------------- trunk/source/org/jfree/chart/renderer/category/BarRenderer.java trunk/tests/org/jfree/chart/renderer/category/junit/BarRendererTests.java Modified: trunk/source/org/jfree/chart/renderer/category/BarRenderer.java =================================================================== --- trunk/source/org/jfree/chart/renderer/category/BarRenderer.java 2008-08-13 19:17:34 UTC (rev 1344) +++ trunk/source/org/jfree/chart/renderer/category/BarRenderer.java 2008-08-13 19:20:16 UTC (rev 1345) @@ -87,6 +87,7 @@ * 17-Jun-2008 : Apply legend shape, font and paint attributes (DG); * 24-Jun-2008 : Added barPainter mechanism (DG); * 26-Jun-2008 : Added crosshair support (DG); + * 13-Aug-2008 : Added shadowPaint attribute (DG); * */ @@ -102,6 +103,9 @@ import java.awt.geom.Line2D; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; import java.io.Serializable; import org.jfree.chart.LegendItem; @@ -118,8 +122,10 @@ import org.jfree.chart.text.TextUtilities; import org.jfree.chart.util.GradientPaintTransformer; import org.jfree.chart.util.ObjectUtilities; +import org.jfree.chart.util.PaintUtilities; import org.jfree.chart.util.PublicCloneable; import org.jfree.chart.util.RectangleEdge; +import org.jfree.chart.util.SerialUtilities; import org.jfree.chart.util.StandardGradientPaintTransformer; import org.jfree.data.Range; import org.jfree.data.category.CategoryDataset; @@ -237,6 +243,13 @@ private boolean shadowsVisible; /** + * The shadow paint. + * + * @since 1.0.11 + */ + private transient Paint shadowPaint; + + /** * The x-offset for the shadow effect. * * @since 1.0.11 @@ -268,6 +281,7 @@ setBaseLegendShape(new Rectangle2D.Double(-4.0, -4.0, 8.0, 8.0)); this.barPainter = getDefaultBarPainter(); this.shadowsVisible = true; + this.shadowPaint = Color.gray; this.shadowXOffset = 4.0; this.shadowYOffset = 4.0; } @@ -580,6 +594,37 @@ } /** + * Returns the shadow paint. + * + * @return The shadow paint. + * + * @see #setShadowPaint(Paint) + * + * @since 1.0.11 + */ + public Paint getShadowPaint() { + return this.shadowPaint; + } + + /** + * Sets the shadow paint and sends a {@link RendererChangeEvent} to all + * registered listeners. + * + * @param paint the paint (<code>null</code> not permitted). + * + * @see #getShadowPaint() + * + * @since 1.0.11 + */ + public void setShadowPaint(Paint paint) { + if (paint == null) { + throw new IllegalArgumentException("Null 'paint' argument."); + } + this.shadowPaint = paint; + fireChangeEvent(); + } + + /** * Returns the shadow x-offset. * * @return The shadow x-offset. @@ -914,7 +959,7 @@ return; } - double value = dataValue.doubleValue(); + final double value = dataValue.doubleValue(); PlotOrientation orientation = plot.getOrientation(); double barW0 = calculateBarW0(plot, orientation, dataArea, domainAxis, state, row, column); @@ -1279,6 +1324,9 @@ if (this.shadowsVisible != that.shadowsVisible) { return false; } + if (!PaintUtilities.equal(this.shadowPaint, that.shadowPaint)) { + return false; + } if (this.shadowXOffset != that.shadowXOffset) { return false; } @@ -1288,4 +1336,30 @@ return super.equals(obj); } + /** + * Provides serialization support. + * + * @param stream the output stream. + * + * @throws IOException if there is an I/O error. + */ + private void writeObject(ObjectOutputStream stream) throws IOException { + stream.defaultWriteObject(); + SerialUtilities.writePaint(this.shadowPaint, stream); + } + + /** + * Provides serialization support. + * + * @param stream the input stream. + * + * @throws IOException if there is an I/O error. + * @throws ClassNotFoundException if there is a classpath problem. + */ + private void readObject(ObjectInputStream stream) + throws IOException, ClassNotFoundException { + stream.defaultReadObject(); + this.shadowPaint = SerialUtilities.readPaint(stream); + } + } Modified: trunk/tests/org/jfree/chart/renderer/category/junit/BarRendererTests.java =================================================================== --- trunk/tests/org/jfree/chart/renderer/category/junit/BarRendererTests.java 2008-08-13 19:17:34 UTC (rev 1344) +++ trunk/tests/org/jfree/chart/renderer/category/junit/BarRendererTests.java 2008-08-13 19:20:16 UTC (rev 1345) @@ -174,6 +174,11 @@ r2.setShadowVisible(false); assertTrue(r1.equals(r2)); + r1.setShadowPaint(Color.red); + assertFalse(r1.equals(r2)); + r2.setShadowPaint(Color.red); + assertTrue(r1.equals(r2)); + // shadowXOffset r1.setShadowXOffset(3.3); assertFalse(r1.equals(r2)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |