From: <mu...@us...> - 2014-07-22 09:30:34
|
Revision: 3261 http://sourceforge.net/p/jfreechart/code/3261 Author: mungady Date: 2014-07-22 09:30:25 +0000 (Tue, 22 Jul 2014) Log Message: ----------- 2014-07-21 David Gilbert <dav...@ob...> * org/jfree/chart/fx/FXGraphics2D.java (draw): Check KEY_STROKE_CONTROL hint for line drawing. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/source/org/jfree/chart/fx/FXGraphics2D.java Modified: branches/jfreechart-1.0.x-branch/source/org/jfree/chart/fx/FXGraphics2D.java =================================================================== --- branches/jfreechart-1.0.x-branch/source/org/jfree/chart/fx/FXGraphics2D.java 2014-07-22 07:24:30 UTC (rev 3260) +++ branches/jfreechart-1.0.x-branch/source/org/jfree/chart/fx/FXGraphics2D.java 2014-07-22 09:30:25 UTC (rev 3261) @@ -107,13 +107,16 @@ */ public class FXGraphics2D extends Graphics2D { + /** The graphics context for the JavaFX canvas. */ private final GraphicsContext gc; + /** The number of times the graphics state has been saved. */ private int saveCount = 0; + /** A flag to permit clipping to be disabled (since it is buggy). */ private boolean clippingDisabled = false; - /** Rendering hints (all ignored). */ + /** Rendering hints. */ private final RenderingHints hints; private Shape clip; @@ -236,7 +239,8 @@ * Returns the flag that controls whether or not clipping is actually * applied to the JavaFX canvas. The default value is currently * {@code false} (the clipping is ENABLED) but since it does not always - * work correctly you have the option to disable it. See <a href="https://javafx-jira.kenai.com/browse/RT-36891"> + * work correctly you have the option to disable it. See + * <a href="https://javafx-jira.kenai.com/browse/RT-36891"> * https://javafx-jira.kenai.com/browse/RT-36891</a> for details (requires * an account). * @@ -644,6 +648,14 @@ } if (s instanceof Line2D) { Line2D l = (Line2D) s; + Object hint = getRenderingHint(RenderingHints.KEY_STROKE_CONTROL); + if (hint != RenderingHints.VALUE_STROKE_PURE) { + double x1 = Math.rint(l.getX1()) - 0.5; + double y1 = Math.rint(l.getY1()) - 0.5; + double x2 = Math.rint(l.getX2()) - 0.5; + double y2 = Math.rint(l.getY2()) - 0.5; + l.setLine(x1, y1, x2, y2); + } this.gc.strokeLine(l.getX1(), l.getY1(), l.getX2(), l.getY2()); } else if (s instanceof RoundRectangle2D) { RoundRectangle2D rr = (RoundRectangle2D) s; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |