diff --git a/src/main/java/org/jfree/fx/FXGraphics2D.java b/src/main/java/org/jfree/fx/FXGraphics2D.java index e025d45..d968360 100644 --- a/src/main/java/org/jfree/fx/FXGraphics2D.java +++ b/src/main/java/org/jfree/fx/FXGraphics2D.java @@ -728,32 +728,37 @@ fill(this.stroke.createStrokedShape(s)); return; } - 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 Rectangle2D) { - Rectangle2D r = (Rectangle2D) s; - if (s instanceof Rectangle) { - r = new Rectangle2D.Double(r.getX(), r.getY(), r.getWidth(), - r.getHeight()); - } - Object hint = getRenderingHint(RenderingHints.KEY_STROKE_CONTROL); - if (hint != RenderingHints.VALUE_STROKE_PURE) { - double x = Math.rint(r.getX()) - 0.5; - double y = Math.rint(r.getY()) - 0.5; - double w = Math.floor(r.getWidth()); - double h = Math.floor(r.getHeight()); - r.setRect(x, y, w, h); - } - this.gc.strokeRect(r.getX(), r.getY(), r.getWidth(), r.getHeight()); + if (s instanceof Line2D) { + Line2D l = (Line2D) s; + Object hint = getRenderingHint(RenderingHints.KEY_STROKE_CONTROL); + double x1 = l.getX1(); + double y1 = l.getY1(); + double x2 = l.getX2(); + double y2 = l.getY2(); + if (hint != RenderingHints.VALUE_STROKE_PURE) { + x1 = Math.rint(l.getX1()) - 0.5; + y1 = Math.rint(l.getY1()) - 0.5; + x2 = Math.rint(l.getX2()) - 0.5; + y2 = Math.rint(l.getY2()) - 0.5; + } + this.gc.strokeLine(x1, y1, x2, y2); + } else if (s instanceof Rectangle2D) { + Rectangle2D r = (Rectangle2D) s; + if (s instanceof Rectangle) { + r = new Rectangle2D.Double(r.getX(), r.getY(), r.getWidth(), r.getHeight()); + } + Object hint = getRenderingHint(RenderingHints.KEY_STROKE_CONTROL); + double x = r.getX(); + double y = r.getY(); + double w = r.getWidth(); + double h = r.getHeight(); + if (hint != RenderingHints.VALUE_STROKE_PURE) { + x = Math.rint(r.getX()) - 0.5; + y = Math.rint(r.getY()) - 0.5; + w = Math.floor(r.getWidth()); + h = Math.floor(r.getHeight()); + } + this.gc.strokeRect(x, y, w, h); } else if (s instanceof RoundRectangle2D) { RoundRectangle2D rr = (RoundRectangle2D) s; this.gc.strokeRoundRect(rr.getX(), rr.getY(), rr.getWidth(),