From 091a1e0179cb264cc2cab6e3b11ea31045c8536d Mon Sep 17 00:00:00 2001 From: kitfox Date: Tue, 29 May 2007 23:33:23 +0000 Subject: Restoring SVG Salamander to it's original code base, and updating build scripts. git-svn-id: https://svn.java.net/svn/svgsalamander~svn/trunk/svg-core@36 7dc7fa77-23fb-e6ad-8e2e-c86bd48ed22b --- src/main/java/com/kitfox/svg/pathcmd/PathUtil.java | 72 ++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/main/java/com/kitfox/svg/pathcmd/PathUtil.java (limited to 'src/main/java/com/kitfox/svg/pathcmd/PathUtil.java') diff --git a/src/main/java/com/kitfox/svg/pathcmd/PathUtil.java b/src/main/java/com/kitfox/svg/pathcmd/PathUtil.java new file mode 100644 index 0000000..afd562d --- /dev/null +++ b/src/main/java/com/kitfox/svg/pathcmd/PathUtil.java @@ -0,0 +1,72 @@ +/* + * PathUtil.java + * + * Created on May 10, 2005, 5:56 AM + * + * To change this template, choose Tools | Options and locate the template under + * the Source Creation and Management node. Right-click the template and choose + * Open. You can then make changes to the template in the Source Editor. + */ + +package com.kitfox.svg.pathcmd; + +import java.awt.geom.*; + +/** + * + * @author kitfox + */ +public class PathUtil +{ + + /** Creates a new instance of PathUtil */ + public PathUtil() + { + } + + /** + * Converts a GeneralPath into an SVG representation + */ + public static String buildPathString(GeneralPath path) + { + float[] coords = new float[6]; + + StringBuffer sb = new StringBuffer(); + + for (PathIterator pathIt = path.getPathIterator(new AffineTransform()); !pathIt.isDone(); pathIt.next()) + { + int segId = pathIt.currentSegment(coords); + + switch (segId) + { + case PathIterator.SEG_CLOSE: + { + sb.append(" Z"); + break; + } + case PathIterator.SEG_CUBICTO: + { + sb.append(" C " + coords[0] + " " + coords[1] + " " + coords[2] + " " + coords[3] + " " + coords[4] + " " + coords[5]); + break; + } + case PathIterator.SEG_LINETO: + { + sb.append(" L " + coords[0] + " " + coords[1]); + break; + } + case PathIterator.SEG_MOVETO: + { + sb.append(" M " + coords[0] + " " + coords[1]); + break; + } + case PathIterator.SEG_QUADTO: + { + sb.append(" Q " + coords[0] + " " + coords[1] + " " + coords[2] + " " + coords[3]); + break; + } + } + } + + return sb.toString(); + } +} -- cgit v1.2.3-55-g7522