From 963566c2c1c45e7e30316dd37d851718f4f1aa9a Mon Sep 17 00:00:00 2001 From: kitfox Date: Tue, 16 Oct 2012 22:47:09 +0000 Subject: Fixing path calculation error for continuous joins. git-svn-id: https://svn.java.net/svn/svgsalamander~svn/trunk/svg-core@137 7dc7fa77-23fb-e6ad-8e2e-c86bd48ed22b --- src/main/java/com/kitfox/svg/pathcmd/Cubic.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/main/java/com/kitfox/svg/pathcmd/Cubic.java') diff --git a/src/main/java/com/kitfox/svg/pathcmd/Cubic.java b/src/main/java/com/kitfox/svg/pathcmd/Cubic.java index f61ec4f..8cbdc86 100644 --- a/src/main/java/com/kitfox/svg/pathcmd/Cubic.java +++ b/src/main/java/com/kitfox/svg/pathcmd/Cubic.java @@ -47,6 +47,13 @@ public class Cubic extends PathCommand { public Cubic() { } + public String toString() + { + return "C " + k1x + " " + k1y + + " " + k2x + " " + k2y + + " " + x + " " + y; + } + public Cubic(boolean isRelative, float k1x, float k1y, float k2x, float k2y, float x, float y) { super(isRelative); this.k1x = k1x; @@ -60,11 +67,15 @@ public class Cubic extends PathCommand { // public void appendPath(ExtendedGeneralPath path, BuildHistory hist) public void appendPath(GeneralPath path, BuildHistory hist) { - float offx = isRelative ? hist.history[0].x : 0f; - float offy = isRelative ? hist.history[0].y : 0f; + float offx = isRelative ? hist.lastPoint.x : 0f; + float offy = isRelative ? hist.lastPoint.y : 0f; - path.curveTo(k1x + offx, k1y + offy, k2x + offx, k2y + offy, x + offx, y + offy); - hist.setPointAndKnot(x + offx, y + offy, k2x + offx, k2y + offy); + path.curveTo(k1x + offx, k1y + offy, + k2x + offx, k2y + offy, + x + offx, y + offy); +// hist.setPointAndKnot(x + offx, y + offy, k2x + offx, k2y + offy); + hist.setLastPoint(x + offx, y + offy); + hist.setLastKnot(k2x + offx, k2y + offy); } public int getNumKnotsAdded() -- cgit v1.2.3-55-g7522