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 --- .../java/com/kitfox/svg/pathcmd/BuildHistory.java | 59 ++++++++++++++-------- 1 file changed, 39 insertions(+), 20 deletions(-) (limited to 'src/main/java/com/kitfox/svg/pathcmd/BuildHistory.java') diff --git a/src/main/java/com/kitfox/svg/pathcmd/BuildHistory.java b/src/main/java/com/kitfox/svg/pathcmd/BuildHistory.java index ff00120..51ebd80 100644 --- a/src/main/java/com/kitfox/svg/pathcmd/BuildHistory.java +++ b/src/main/java/com/kitfox/svg/pathcmd/BuildHistory.java @@ -24,45 +24,64 @@ * * Created on January 26, 2004, 9:18 PM */ - package com.kitfox.svg.pathcmd; import java.awt.geom.Point2D; /** * When building a path from command segments, most need to cache information - * (such as the point finished at) for future commands. This structure allows + * (such as the point finished at) for future commands. This structure allows * that * * @author Mark McKay * @author Mark McKay */ -public class BuildHistory { +public class BuildHistory +{ // Point2D.Float[] history = new Point2D.Float[2]; - Point2D.Float[] history = {new Point2D.Float(), new Point2D.Float()}; - Point2D.Float start = new Point2D.Float(); - int length = 0; +// Point2D.Float[] history = {new Point2D.Float(), new Point2D.Float()}; +// Point2D.Float start = new Point2D.Float(); + Point2D.Float startPoint = new Point2D.Float(); + Point2D.Float lastPoint = new Point2D.Float(); + Point2D.Float lastKnot = new Point2D.Float(); + boolean init; + //int length = 0; - /** Creates a new instance of BuildHistory */ - public BuildHistory() { + /** + * Creates a new instance of BuildHistory + */ + public BuildHistory() + { } - - public void setPoint(float x, float y) + + public void setStartPoint(float x, float y) { - history[0].setLocation(x, y); - length = 1; + startPoint.setLocation(x, y); } - - public void setStart(float x, float y) + + public void setLastPoint(float x, float y) { - start.setLocation(x, y); + lastPoint.setLocation(x, y); } - - public void setPointAndKnot(float x, float y, float kx, float ky) + + public void setLastKnot(float x, float y) { - history[0].setLocation(x, y); - history[1].setLocation(kx, ky); - length = 2; + lastKnot.setLocation(x, y); } +// public void setPoint(float x, float y) +// { +// history[0].setLocation(x, y); +// length = 1; +// } +// public void setStart(float x, float y) +// { +// start.setLocation(x, y); +// } +// public void setPointAndKnot(float x, float y, float kx, float ky) +// { +// history[0].setLocation(x, y); +// history[1].setLocation(kx, ky); +// length = 2; +// } } -- cgit v1.2.3-55-g7522