summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkitfox2010-03-10 18:09:17 +0100
committerkitfox2010-03-10 18:09:17 +0100
commit0c00a3fa56b7988a28932499f1546378c9a93d3b (patch)
tree0753664529c7a79bf7b0707bbcd6387a85f83f29
parentNow checking to see if path exists when resolving jar: urls. (diff)
downloadsvg-salamander-core-0c00a3fa56b7988a28932499f1546378c9a93d3b.tar.gz
svg-salamander-core-0c00a3fa56b7988a28932499f1546378c9a93d3b.tar.xz
svg-salamander-core-0c00a3fa56b7988a28932499f1546378c9a93d3b.zip
Fixed bug where chained 'move' path commands were not switching to 'line' after first path segment. Switched from using Vector to List. Added new project containing example files.
git-svn-id: https://svn.java.net/svn/svgsalamander~svn/trunk/svg-core@70 7dc7fa77-23fb-e6ad-8e2e-c86bd48ed22b
-rwxr-xr-xnbproject/build-impl.xml247
-rwxr-xr-xnbproject/genfiles.properties4
-rwxr-xr-xnbproject/project.properties2
-rw-r--r--src/main/java/com/kitfox/svg/ClipPath.java2
-rw-r--r--src/main/java/com/kitfox/svg/Defs.java5
-rw-r--r--src/main/java/com/kitfox/svg/Filter.java5
-rw-r--r--src/main/java/com/kitfox/svg/Font.java2
-rw-r--r--src/main/java/com/kitfox/svg/Gradient.java4
-rw-r--r--src/main/java/com/kitfox/svg/Group.java25
-rw-r--r--src/main/java/com/kitfox/svg/ImageSVG.java7
-rw-r--r--src/main/java/com/kitfox/svg/MissingGlyph.java8
-rw-r--r--src/main/java/com/kitfox/svg/PatternSVG.java2
-rw-r--r--src/main/java/com/kitfox/svg/Polyline.java3
-rw-r--r--src/main/java/com/kitfox/svg/RenderableElement.java20
-rw-r--r--src/main/java/com/kitfox/svg/SVGDiagram.java32
-rw-r--r--src/main/java/com/kitfox/svg/SVGElement.java18
-rw-r--r--src/main/java/com/kitfox/svg/ShapeElement.java24
-rw-r--r--src/main/java/com/kitfox/svg/animation/AnimTimeParser.jjt36
-rw-r--r--src/main/java/com/kitfox/svg/animation/AnimateMotion.java4
-rw-r--r--src/main/java/com/kitfox/svg/animation/TimeCompound.java24
-rw-r--r--src/main/java/com/kitfox/svg/animation/TrackBase.java3
-rw-r--r--src/main/java/com/kitfox/svg/app/SVGPlayer.java30
-rw-r--r--src/main/java/com/kitfox/svg/app/SVGViewer.java35
-rw-r--r--src/main/java/com/kitfox/svg/app/ant/SVGToImageAntTask.java2
24 files changed, 345 insertions, 199 deletions
diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml
index 8389c14..eae6ae1 100755
--- a/nbproject/build-impl.xml
+++ b/nbproject/build-impl.xml
@@ -20,6 +20,13 @@ is divided into following sections:
-->
<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="svg-salamander-core-impl">
+ <fail message="Please build using Ant 1.7.1 or higher.">
+ <condition>
+ <not>
+ <antversion atleast="1.7.1"/>
+ </not>
+ </condition>
+ </fail>
<target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
<!--
======================
@@ -35,22 +42,28 @@ is divided into following sections:
<property file="nbproject/private/configs/${config}.properties"/>
<property file="nbproject/private/private.properties"/>
</target>
- <target depends="-pre-init,-init-private" name="-init-libraries">
- <property location="..\libraries\nblibraries.properties" name="libraries.1.path"/>
- <dirname file="${libraries.1.path}" property="libraries.1.dir.nativedirsep"/>
- <pathconvert dirsep="/" property="libraries.1.dir">
- <path path="${libraries.1.dir.nativedirsep}"/>
+ <target name="-pre-init-libraries">
+ <property location="..\libraries\nblibraries.properties" name="libraries.path"/>
+ <dirname file="${libraries.path}" property="libraries.dir.nativedirsep"/>
+ <pathconvert dirsep="/" property="libraries.dir">
+ <path path="${libraries.dir.nativedirsep}"/>
</pathconvert>
- <basename file="${libraries.1.path}" property="libraries.1.basename" suffix=".properties"/>
- <touch file="${libraries.1.dir}/${libraries.1.basename}-private.properties"/>
- <loadproperties srcfile="${libraries.1.dir}/${libraries.1.basename}-private.properties">
+ <basename file="${libraries.path}" property="libraries.basename" suffix=".properties"/>
+ <available file="${libraries.dir}/${libraries.basename}-private.properties" property="private.properties.available"/>
+ </target>
+ <target depends="-pre-init-libraries" if="private.properties.available" name="-init-private-libraries">
+ <loadproperties encoding="ISO-8859-1" srcfile="${libraries.dir}/${libraries.basename}-private.properties">
<filterchain>
- <replacestring from="$${base}" to="${libraries.1.dir}"/>
+ <replacestring from="$${base}" to="${libraries.dir}"/>
+ <escapeunicode/>
</filterchain>
</loadproperties>
- <loadproperties srcfile="${libraries.1.path}">
+ </target>
+ <target depends="-pre-init,-init-private,-init-private-libraries" name="-init-libraries">
+ <loadproperties encoding="ISO-8859-1" srcfile="${libraries.path}">
<filterchain>
- <replacestring from="$${base}" to="${libraries.1.dir}"/>
+ <replacestring from="$${base}" to="${libraries.dir}"/>
+ <escapeunicode/>
</filterchain>
</loadproperties>
</target>
@@ -67,21 +80,52 @@ is divided into following sections:
</target>
<target depends="-pre-init,-init-private,-init-libraries,-init-user,-init-project,-init-macrodef-property" name="-do-init">
<available file="${manifest.file}" property="manifest.available"/>
- <condition property="manifest.available+main.class">
+ <condition property="main.class.available">
<and>
- <isset property="manifest.available"/>
<isset property="main.class"/>
<not>
<equals arg1="${main.class}" arg2="" trim="true"/>
</not>
</and>
</condition>
+ <condition property="manifest.available+main.class">
+ <and>
+ <isset property="manifest.available"/>
+ <isset property="main.class.available"/>
+ </and>
+ </condition>
+ <condition property="do.mkdist">
+ <and>
+ <isset property="libs.CopyLibs.classpath"/>
+ <not>
+ <istrue value="${mkdist.disabled}"/>
+ </not>
+ </and>
+ </condition>
<condition property="manifest.available+main.class+mkdist.available">
<and>
<istrue value="${manifest.available+main.class}"/>
- <isset property="libs.CopyLibs.classpath"/>
+ <isset property="do.mkdist"/>
</and>
</condition>
+ <condition property="manifest.available+mkdist.available">
+ <and>
+ <istrue value="${manifest.available}"/>
+ <isset property="do.mkdist"/>
+ </and>
+ </condition>
+ <condition property="manifest.available-mkdist.available">
+ <or>
+ <istrue value="${manifest.available}"/>
+ <isset property="do.mkdist"/>
+ </or>
+ </condition>
+ <condition property="manifest.available+main.class-mkdist.available">
+ <or>
+ <istrue value="${manifest.available+main.class}"/>
+ <isset property="do.mkdist"/>
+ </or>
+ </condition>
<condition property="have.tests">
<or>
<available file="${test.src.dir}"/>
@@ -121,6 +165,7 @@ is divided into following sections:
<property name="javadoc.preview" value="true"/>
<property name="application.args" value=""/>
<property name="source.encoding" value="${file.encoding}"/>
+ <property name="runtime.encoding" value="${source.encoding}"/>
<condition property="javadoc.encoding.used" value="${javadoc.encoding}">
<and>
<isset property="javadoc.encoding"/>
@@ -136,12 +181,11 @@ is divided into following sections:
<condition property="do.depend.true">
<istrue value="${do.depend}"/>
</condition>
- <condition else="" property="javac.compilerargs.jaxws" value="-Djava.endorsed.dirs='${jaxws.endorsed.dir}'">
- <and>
- <isset property="jaxws.endorsed.dir"/>
- <available file="nbproject/jaxws-build.xml"/>
- </and>
+ <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
+ <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
+ <length length="0" string="${endorsed.classpath}" when="greater"/>
</condition>
+ <property name="javac.fork" value="false"/>
</target>
<target name="-post-init">
<!-- Empty placeholder for easier customization. -->
@@ -181,14 +225,23 @@ is divided into following sections:
<attribute default="${includes}" name="includes"/>
<attribute default="${excludes}" name="excludes"/>
<attribute default="${javac.debug}" name="debug"/>
- <attribute default="" name="sourcepath"/>
+ <attribute default="${empty.dir}" name="sourcepath"/>
+ <attribute default="${empty.dir}" name="gensrcdir"/>
<element name="customize" optional="true"/>
<sequential>
- <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}">
+ <property location="${build.dir}/empty" name="empty.dir"/>
+ <mkdir dir="${empty.dir}"/>
+ <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
+ <src>
+ <dirset dir="@{gensrcdir}" erroronmissingdir="false">
+ <include name="*"/>
+ </dirset>
+ </src>
<classpath>
<path path="@{classpath}"/>
</classpath>
- <compilerarg line="${javac.compilerargs} ${javac.compilerargs.jaxws}"/>
+ <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
+ <compilerarg line="${javac.compilerargs}"/>
<customize/>
</javac>
</sequential>
@@ -227,7 +280,7 @@ is divided into following sections:
<attribute default="${excludes}" name="excludes"/>
<attribute default="**" name="testincludes"/>
<sequential>
- <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true">
+ <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${build.dir}">
<batchtest todir="${build.test.results.dir}">
<fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
<filename name="@{testincludes}"/>
@@ -245,6 +298,7 @@ is divided into following sections:
</syspropertyset>
<formatter type="brief" usefile="false"/>
<formatter type="xml"/>
+ <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
<jvmarg line="${run.jvmargs}"/>
</junit>
</sequential>
@@ -301,8 +355,11 @@ is divided into following sections:
<element name="customize" optional="true"/>
<sequential>
<java classname="@{classname}" dir="${work.dir}" fork="true">
+ <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
<jvmarg line="${debug-args-line}"/>
<jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
+ <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
+ <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
<jvmarg line="${run.jvmargs}"/>
<classpath>
<path path="@{classpath}"/>
@@ -319,12 +376,16 @@ is divided into following sections:
<target name="-init-macrodef-java">
<macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
<attribute default="${main.class}" name="classname"/>
+ <attribute default="${run.classpath}" name="classpath"/>
<element name="customize" optional="true"/>
<sequential>
<java classname="@{classname}" dir="${work.dir}" fork="true">
+ <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+ <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
+ <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
<jvmarg line="${run.jvmargs}"/>
<classpath>
- <path path="${run.classpath}"/>
+ <path path="@{classpath}"/>
</classpath>
<syspropertyset>
<propertyref prefix="run-sys-prop."/>
@@ -348,7 +409,22 @@ is divided into following sections:
COMPILATION SECTION
===================
-->
- <target depends="init" name="deps-jar" unless="no.deps"/>
+ <target name="-deps-jar-init" unless="built-jar.properties">
+ <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
+ <delete file="${built-jar.properties}" quiet="true"/>
+ </target>
+ <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
+ <echo level="warn" message="Cycle detected: svg-salamander-core was already built"/>
+ </target>
+ <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
+ <mkdir dir="${build.dir}"/>
+ <touch file="${built-jar.properties}" verbose="false"/>
+ <property file="${built-jar.properties}" prefix="already.built.jar."/>
+ <antcall target="-warn-already-built-jar"/>
+ <propertyfile file="${built-jar.properties}">
+ <entry key="${basedir}" value=""/>
+ </propertyfile>
+ </target>
<target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
<target depends="init" name="-check-automatic-build">
<available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
@@ -364,10 +440,15 @@ is divided into following sections:
<!-- You can override this target in the ../build.xml file. -->
</target>
<target if="do.depend.true" name="-compile-depend">
- <j2seproject3:depend/>
+ <pathconvert property="build.generated.subdirs">
+ <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
+ <include name="*"/>
+ </dirset>
+ </pathconvert>
+ <j2seproject3:depend srcdir="${src.www.dir}:${src.dir}:${src.java.dir}:${src.res.dir}:${res.dir}:${build.generated.subdirs}"/>
</target>
<target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-compile-depend" if="have.sources" name="-do-compile">
- <j2seproject3:javac/>
+ <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
<copy todir="${build.classes.dir}">
<fileset dir="${src.www.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
<fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
@@ -388,7 +469,7 @@ is divided into following sections:
<target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
<fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
<j2seproject3:force-recompile/>
- <j2seproject3:javac excludes="" includes="${javac.includes}" sourcepath="${src.www.dir}:${src.dir}:${src.java.dir}:${src.res.dir}:${res.dir}"/>
+ <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.www.dir}:${src.dir}:${src.java.dir}:${src.res.dir}:${res.dir}"/>
</target>
<target name="-post-compile-single">
<!-- Empty placeholder for easier customization. -->
@@ -408,10 +489,10 @@ is divided into following sections:
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
</target>
- <target depends="init,compile,-pre-pre-jar,-pre-jar" name="-do-jar-without-manifest" unless="manifest.available">
+ <target depends="init,compile,-pre-pre-jar,-pre-jar" name="-do-jar-without-manifest" unless="manifest.available-mkdist.available">
<j2seproject1:jar/>
</target>
- <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class">
+ <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class-mkdist.available">
<j2seproject1:jar manifest="${manifest.file}"/>
</target>
<target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class" name="-do-jar-with-mainclass" unless="manifest.available+main.class+mkdist.available">
@@ -454,11 +535,53 @@ is divided into following sections:
<property location="${dist.jar}" name="dist.jar.resolved"/>
<echo>java -jar "${dist.jar.resolved}"</echo>
</target>
+ <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+mkdist.available" name="-do-jar-with-libraries-without-mainclass" unless="main.class.available">
+ <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
+ <pathconvert property="run.classpath.without.build.classes.dir">
+ <path path="${run.classpath}"/>
+ <map from="${build.classes.dir.resolved}" to=""/>
+ </pathconvert>
+ <pathconvert pathsep=" " property="jar.classpath">
+ <path path="${run.classpath.without.build.classes.dir}"/>
+ <chainedmapper>
+ <flattenmapper/>
+ <globmapper from="*" to="lib/*"/>
+ </chainedmapper>
+ </pathconvert>
+ <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
+ <copylibs compress="${jar.compress}" jarfile="${dist.jar}" manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
+ <fileset dir="${build.classes.dir}"/>
+ <manifest>
+ <attribute name="Class-Path" value="${jar.classpath}"/>
+ </manifest>
+ </copylibs>
+ </target>
+ <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.mkdist" name="-do-jar-with-libraries-without-manifest" unless="manifest.available">
+ <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
+ <pathconvert property="run.classpath.without.build.classes.dir">
+ <path path="${run.classpath}"/>
+ <map from="${build.classes.dir.resolved}" to=""/>
+ </pathconvert>
+ <pathconvert pathsep=" " property="jar.classpath">
+ <path path="${run.classpath.without.build.classes.dir}"/>
+ <chainedmapper>
+ <flattenmapper/>
+ <globmapper from="*" to="lib/*"/>
+ </chainedmapper>
+ </pathconvert>
+ <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
+ <copylibs compress="${jar.compress}" jarfile="${dist.jar}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
+ <fileset dir="${build.classes.dir}"/>
+ <manifest>
+ <attribute name="Class-Path" value="${jar.classpath}"/>
+ </manifest>
+ </copylibs>
+ </target>
<target name="-post-jar">
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
</target>
- <target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar" description="Build JAR." name="jar"/>
+ <target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-do-jar-with-libraries-without-mainclass,-do-jar-with-libraries-without-manifest,-post-jar" description="Build JAR." name="jar"/>
<!--
=================
EXECUTION SECTION
@@ -474,10 +597,14 @@ is divided into following sections:
<target name="-do-not-recompile">
<property name="javac.includes.binary" value=""/>
</target>
- <target depends="init,-do-not-recompile,compile-single" name="run-single">
+ <target depends="init,compile-single" name="run-single">
<fail unless="run.class">Must select one file in the IDE or set run.class</fail>
<j2seproject1:java classname="${run.class}"/>
</target>
+ <target depends="init,compile-test-single" name="run-test-with-main">
+ <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+ <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
+ </target>
<!--
=================
DEBUGGING SECTION
@@ -486,6 +613,9 @@ is divided into following sections:
<target depends="init" if="netbeans.home" name="-debug-start-debugger">
<j2seproject1:nbjpdastart name="${debug.class}"/>
</target>
+ <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
+ <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
+ </target>
<target depends="init,compile" name="-debug-start-debuggee">
<j2seproject3:debug>
<customize>
@@ -502,7 +632,12 @@ is divided into following sections:
<fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
<j2seproject3:debug classname="${debug.class}"/>
</target>
- <target depends="init,-do-not-recompile,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
+ <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
+ <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
+ <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
+ <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
+ </target>
+ <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
<target depends="init" name="-pre-debug-fix">
<fail unless="fix.includes">Must set fix.includes</fail>
<property name="javac.includes" value="${fix.includes}.java"/>
@@ -537,6 +672,9 @@ is divided into following sections:
<fileset dir="${res.dir}" excludes="${excludes}" includes="${includes}">
<filename name="**/*.java"/>
</fileset>
+ <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
+ <include name="**/*.java"/>
+ </fileset>
</javadoc>
</target>
<target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
@@ -600,7 +738,7 @@ is divided into following sections:
<j2seproject3:junit testincludes="**/*Test.java"/>
</target>
<target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
- <fail if="tests.failed">Some tests failed; see details above.</fail>
+ <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
</target>
<target depends="init" if="have.tests" name="test-report"/>
<target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
@@ -613,9 +751,9 @@ is divided into following sections:
<j2seproject3:junit excludes="" includes="${test.includes}"/>
</target>
<target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
- <fail if="tests.failed">Some tests failed; see details above.</fail>
+ <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
</target>
- <target depends="init,-do-not-recompile,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
+ <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
<!--
=======================
JUNIT DEBUGGING SECTION
@@ -642,7 +780,7 @@ is divided into following sections:
<target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
<j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
</target>
- <target depends="init,-do-not-recompile,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
+ <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
<target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
<j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
</target>
@@ -679,14 +817,45 @@ is divided into following sections:
CLEANUP SECTION
===============
-->
- <target depends="init" name="deps-clean" unless="no.deps"/>
+ <target name="-deps-clean-init" unless="built-clean.properties">
+ <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
+ <delete file="${built-clean.properties}" quiet="true"/>
+ </target>
+ <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
+ <echo level="warn" message="Cycle detected: svg-salamander-core was already built"/>
+ </target>
+ <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
+ <mkdir dir="${build.dir}"/>
+ <touch file="${built-clean.properties}" verbose="false"/>
+ <property file="${built-clean.properties}" prefix="already.built.clean."/>
+ <antcall target="-warn-already-built-clean"/>
+ <propertyfile file="${built-clean.properties}">
+ <entry key="${basedir}" value=""/>
+ </propertyfile>
+ </target>
<target depends="init" name="-do-clean">
<delete dir="${build.dir}"/>
- <delete dir="${dist.dir}"/>
+ <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
</target>
<target name="-post-clean">
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
</target>
<target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>
+ <target name="-check-call-dep">
+ <property file="${call.built.properties}" prefix="already.built."/>
+ <condition property="should.call.dep">
+ <not>
+ <isset property="already.built.${call.subproject}"/>
+ </not>
+ </condition>
+ </target>
+ <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
+ <ant antfile="${call.script}" inheritall="false" target="${call.target}">
+ <propertyset>
+ <propertyref prefix="transfer."/>
+ <mapper from="transfer.*" to="*" type="glob"/>
+ </propertyset>
+ </ant>
+ </target>
</project>
diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties
index 45c7481..7c6ac93 100755
--- a/nbproject/genfiles.properties
+++ b/nbproject/genfiles.properties
@@ -4,5 +4,5 @@ build.xml.stylesheet.CRC32=be360661
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=478066e1
-nbproject/build-impl.xml.script.CRC32=f848e329
-nbproject/build-impl.xml.stylesheet.CRC32=e55b27f5
+nbproject/build-impl.xml.script.CRC32=659f9806
+nbproject/build-impl.xml.stylesheet.CRC32=576378a2@1.32.1.45
diff --git a/nbproject/project.properties b/nbproject/project.properties
index e09d66c..70220d9 100755
--- a/nbproject/project.properties
+++ b/nbproject/project.properties
@@ -5,6 +5,7 @@ build.classes.excludes=**/*.java,**/*.form
# This directory is removed when the project is cleaned:
build.dir=build
build.generated.dir=${build.dir}/generated
+build.generated.sources.dir=${build.dir}/generated-sources
# Only compile against the classpath explicitly listed here:
build.sysclasspath=ignore
build.test.classes.dir=${build.dir}/test/classes
@@ -51,6 +52,7 @@ javadoc.splitindex=true
javadoc.use=true
javadoc.version=false
javadoc.windowtitle=
+jaxbwiz.endorsed.dirs="${netbeans.home}/../ide12/modules/ext/jaxb/api"
jnlp.codebase.type=user
jnlp.codebase.user=https://svgsalamander.dev.java.net/binaries/
jnlp.enabled=false
diff --git a/src/main/java/com/kitfox/svg/ClipPath.java b/src/main/java/com/kitfox/svg/ClipPath.java
index 4c16f06..8354c03 100644
--- a/src/main/java/com/kitfox/svg/ClipPath.java
+++ b/src/main/java/com/kitfox/svg/ClipPath.java
@@ -42,8 +42,6 @@ import org.xml.sax.*;
public class ClipPath extends SVGElement
{
-// final Vector members = new Vector();
-
public static final int CP_USER_SPACE_ON_USE = 0;
public static final int CP_OBJECT_BOUNDING_BOX = 1;
diff --git a/src/main/java/com/kitfox/svg/Defs.java b/src/main/java/com/kitfox/svg/Defs.java
index ed7e615..18586ab 100644
--- a/src/main/java/com/kitfox/svg/Defs.java
+++ b/src/main/java/com/kitfox/svg/Defs.java
@@ -38,9 +38,8 @@ import org.xml.sax.*;
* @author Mark McKay
* @author <a href="mailto:mark@kitfox.com">Mark McKay</a>
*/
-public class Defs extends TransformableElement {
-
-// final Vector members = new Vector();
+public class Defs extends TransformableElement
+{
/** Creates a new instance of Stop */
public Defs() {
diff --git a/src/main/java/com/kitfox/svg/Filter.java b/src/main/java/com/kitfox/svg/Filter.java
index 0c41f15..d64e582 100644
--- a/src/main/java/com/kitfox/svg/Filter.java
+++ b/src/main/java/com/kitfox/svg/Filter.java
@@ -27,14 +27,11 @@
package com.kitfox.svg;
-import com.kitfox.svg.xml.StyleAttribute;
-import java.awt.*;
import java.awt.geom.*;
import java.net.*;
import java.util.*;
import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
/**
* @author Mark McKay
@@ -61,7 +58,7 @@ public class Filter extends SVGElement
URL href = null;
- final Vector filterEffects = new Vector();
+ final ArrayList filterEffects = new ArrayList();
/** Creates a new instance of FillElement */
public Filter() {
diff --git a/src/main/java/com/kitfox/svg/Font.java b/src/main/java/com/kitfox/svg/Font.java
index 0896472..7d4a665 100644
--- a/src/main/java/com/kitfox/svg/Font.java
+++ b/src/main/java/com/kitfox/svg/Font.java
@@ -50,8 +50,6 @@ public class Font extends SVGElement
int vertOriginY = -1; //Defaults to font's ascent
int vertAdvY = -1; //Defaults to one 'em'. See font-face
- //Vector members = null;
-
FontFace fontFace = null;
MissingGlyph missingGlyph = null;
final HashMap glyphs = new HashMap();
diff --git a/src/main/java/com/kitfox/svg/Gradient.java b/src/main/java/com/kitfox/svg/Gradient.java
index 0b13167..0ebacdf 100644
--- a/src/main/java/com/kitfox/svg/Gradient.java
+++ b/src/main/java/com/kitfox/svg/Gradient.java
@@ -27,14 +27,12 @@
package com.kitfox.svg;
-import com.kitfox.svg.xml.StyleAttribute;
import java.net.*;
import java.util.*;
import java.awt.geom.*;
import java.awt.*;
import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
/**
* @author Mark McKay
@@ -56,7 +54,7 @@ abstract public class Gradient extends FillElement
//Either this gradient contains a list of stops, or it will take it's
// stops from the referenced gradient
- Vector stops = new Vector();
+ ArrayList stops = new ArrayList();
URI stopRef = null;
// Gradient stopRef = null;
diff --git a/src/main/java/com/kitfox/svg/Group.java b/src/main/java/com/kitfox/svg/Group.java
index ff13629..3c3b6ee 100644
--- a/src/main/java/com/kitfox/svg/Group.java
+++ b/src/main/java/com/kitfox/svg/Group.java
@@ -27,20 +27,25 @@
package com.kitfox.svg;
-import java.awt.*;
-import java.awt.geom.*;
-import java.util.*;
+import com.kitfox.svg.xml.StyleAttribute;
+import java.awt.Graphics2D;
+import java.awt.Rectangle;
+import java.awt.Shape;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Area;
+import java.awt.geom.NoninvertibleTransformException;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+import java.util.Iterator;
+import java.util.List;
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
/**
* @author Mark McKay
* @author <a href="mailto:mark@kitfox.com">Mark McKay</a>
*/
-public class Group extends ShapeElement {
-
-// final Vector members = new Vector();
+public class Group extends ShapeElement
+{
//Cache bounding box for faster clip testing
Rectangle2D boundingBox;
@@ -93,7 +98,7 @@ public class Group extends ShapeElement {
return true;
}
- void pick(Point2D point, boolean boundingBox, Vector retVec) throws SVGException
+ void pick(Point2D point, boolean boundingBox, List retVec) throws SVGException
{
Point2D xPoint = new Point2D.Double(point.getX(), point.getY());
if (xform != null)
@@ -121,7 +126,7 @@ public class Group extends ShapeElement {
}
}
- void pick(Rectangle2D pickArea, AffineTransform ltw, boolean boundingBox, Vector retVec) throws SVGException
+ void pick(Rectangle2D pickArea, AffineTransform ltw, boolean boundingBox, List retVec) throws SVGException
{
if (xform != null)
{
diff --git a/src/main/java/com/kitfox/svg/ImageSVG.java b/src/main/java/com/kitfox/svg/ImageSVG.java
index 6f4b301..f8d3a54 100644
--- a/src/main/java/com/kitfox/svg/ImageSVG.java
+++ b/src/main/java/com/kitfox/svg/ImageSVG.java
@@ -27,14 +27,13 @@
package com.kitfox.svg;
-import com.kitfox.svg.xml.StyleAttribute;
import com.kitfox.svg.xml.*;
import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
-import java.util.*;
import java.net.*;
+import java.util.List;
/**
* Implements an embedded font.
@@ -127,7 +126,7 @@ public class ImageSVG extends RenderableElement
public float getWidth() { return width; }
public float getHeight() { return height; }
- void pick(Point2D point, boolean boundingBox, Vector retVec) throws SVGException
+ void pick(Point2D point, boolean boundingBox, List retVec) throws SVGException
{
if (getBoundingBox().contains(point))
{
@@ -135,7 +134,7 @@ public class ImageSVG extends RenderableElement
}
}
- void pick(Rectangle2D pickArea, AffineTransform ltw, boolean boundingBox, Vector retVec) throws SVGException
+ void pick(Rectangle2D pickArea, AffineTransform ltw, boolean boundingBox, List retVec) throws SVGException
{
if (ltw.createTransformedShape(getBoundingBox()).intersects(pickArea))
{
diff --git a/src/main/java/com/kitfox/svg/MissingGlyph.java b/src/main/java/com/kitfox/svg/MissingGlyph.java
index bc0cd2c..e36be01 100644
--- a/src/main/java/com/kitfox/svg/MissingGlyph.java
+++ b/src/main/java/com/kitfox/svg/MissingGlyph.java
@@ -27,9 +27,7 @@
package com.kitfox.svg;
-import com.kitfox.svg.xml.StyleAttribute;
import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
import java.awt.*;
import java.awt.geom.*;
@@ -53,7 +51,6 @@ public class MissingGlyph extends ShapeElement
Shape path = null;
//Alternately, we may have child graphical elements
-// Vector members = null;
int horizAdvX = -1; //Inherits font's value if not set
int vertOriginX = -1; //Inherits font's value if not set
@@ -118,10 +115,7 @@ public class MissingGlyph extends ShapeElement
*/
public void loaderAddChild(SVGLoaderHelper helper, SVGElement child) throws SVGElementException
{
- super.loaderAddChild(helper, child);
-
-// if (members == null) members = new Vector();
-// members.add(child);
+ super.loaderAddChild(helper, child);
}
diff --git a/src/main/java/com/kitfox/svg/PatternSVG.java b/src/main/java/com/kitfox/svg/PatternSVG.java
index e2bc93b..44dc0ec 100644
--- a/src/main/java/com/kitfox/svg/PatternSVG.java
+++ b/src/main/java/com/kitfox/svg/PatternSVG.java
@@ -57,8 +57,6 @@ public class PatternSVG extends FillElement {
AffineTransform patternXform = new AffineTransform();
Rectangle2D.Float viewBox;
-// final Vector members = new Vector();
-
Paint texPaint;
/** Creates a new instance of Gradient */
diff --git a/src/main/java/com/kitfox/svg/Polyline.java b/src/main/java/com/kitfox/svg/Polyline.java
index 335dd87..bf572f8 100644
--- a/src/main/java/com/kitfox/svg/Polyline.java
+++ b/src/main/java/com/kitfox/svg/Polyline.java
@@ -27,13 +27,10 @@
package com.kitfox.svg;
-import com.kitfox.svg.xml.StyleAttribute;
-import com.kitfox.svg.xml.XMLParseUtil;
import java.awt.geom.*;
import java.awt.*;
import com.kitfox.svg.xml.*;
-import java.util.Vector;
/**
* @author Mark McKay
diff --git a/src/main/java/com/kitfox/svg/RenderableElement.java b/src/main/java/com/kitfox/svg/RenderableElement.java
index 7afb50b..f0fee73 100644
--- a/src/main/java/com/kitfox/svg/RenderableElement.java
+++ b/src/main/java/com/kitfox/svg/RenderableElement.java
@@ -27,13 +27,17 @@
package com.kitfox.svg;
-
import com.kitfox.svg.xml.StyleAttribute;
-import java.awt.geom.*;
-import java.awt.*;
-import java.net.*;
-import java.util.LinkedList;
-import java.util.Vector;
+import java.awt.Graphics2D;
+import java.awt.Shape;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Area;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+import java.net.URI;
+import java.util.List;
+
+
/**
* Maintains bounding box for this element
@@ -85,9 +89,9 @@ abstract public class RenderableElement extends TransformableElement
abstract public void render(Graphics2D g) throws SVGException;
- abstract void pick(Point2D point, boolean boundingBox, Vector retVec) throws SVGException;
+ abstract void pick(Point2D point, boolean boundingBox, List retVec) throws SVGException;
- abstract void pick(Rectangle2D pickArea, AffineTransform ltw, boolean boundingBox, Vector retVec) throws SVGException;
+ abstract void pick(Rectangle2D pickArea, AffineTransform ltw, boolean boundingBox, List retVec) throws SVGException;
abstract public Rectangle2D getBoundingBox() throws SVGException;
/*
diff --git a/src/main/java/com/kitfox/svg/SVGDiagram.java b/src/main/java/com/kitfox/svg/SVGDiagram.java
index 41de5f5..c28e6e6 100644
--- a/src/main/java/com/kitfox/svg/SVGDiagram.java
+++ b/src/main/java/com/kitfox/svg/SVGDiagram.java
@@ -27,11 +27,17 @@
package com.kitfox.svg;
-import java.util.*;
-import java.net.*;
-import java.awt.*;
-import java.awt.geom.*;
+import java.awt.Graphics2D;
+import java.awt.Rectangle;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
import java.io.Serializable;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
/**
* Top level structure in an SVG tree.
@@ -92,22 +98,22 @@ public class SVGDiagram implements Serializable
* Searches thorough the scene graph for all RenderableElements that have
* shapes that contain the passed point.
*
- * For every shape which contains the pick point, a Vector containing the
- * path to the node is added to the return vector. That is, the result of
+ * For every shape which contains the pick point, a List containing the
+ * path to the node is added to the return list. That is, the result of
* SVGElement.getPath() is added for each entry.
*
- * @return the passed in vector
+ * @return the passed in list
*/
- public Vector pick(Point2D point, Vector retVec) throws SVGException
+ public List pick(Point2D point, List retVec) throws SVGException
{
return pick(point, false, retVec);
}
- public Vector pick(Point2D point, boolean boundingBox, Vector retVec) throws SVGException
+ public List pick(Point2D point, boolean boundingBox, List retVec) throws SVGException
{
if (retVec == null)
{
- retVec = new Vector();
+ retVec = new ArrayList();
}
root.pick(point, boundingBox, retVec);
@@ -115,16 +121,16 @@ public class SVGDiagram implements Serializable
return retVec;
}
- public Vector pick(Rectangle2D pickArea, Vector retVec) throws SVGException
+ public List pick(Rectangle2D pickArea, List retVec) throws SVGException
{
return pick(pickArea, false, retVec);
}
- public Vector pick(Rectangle2D pickArea, boolean boundingBox, Vector retVec) throws SVGException
+ public List pick(Rectangle2D pickArea, boolean boundingBox, List retVec) throws SVGException
{
if (retVec == null)
{
- retVec = new Vector();
+ retVec = new ArrayList();
}
root.pick(pickArea, new AffineTransform(), boundingBox, retVec);
diff --git a/src/main/java/com/kitfox/svg/SVGElement.java b/src/main/java/com/kitfox/svg/SVGElement.java
index 7b73870..06803de 100644
--- a/src/main/java/com/kitfox/svg/SVGElement.java
+++ b/src/main/java/com/kitfox/svg/SVGElement.java
@@ -27,8 +27,6 @@
package com.kitfox.svg;
-import com.kitfox.svg.xml.StyleAttribute;
-import com.kitfox.svg.xml.XMLParseUtil;
import java.util.*;
import java.util.regex.*;
import java.net.*;
@@ -52,7 +50,7 @@ abstract public class SVGElement implements Serializable
protected SVGElement parent = null;
- protected final Vector children = new Vector();
+ protected final ArrayList children = new ArrayList();
protected String id = null;
/**
@@ -139,9 +137,9 @@ abstract public class SVGElement implements Serializable
/**
* @return an ordered list of nodes from the root of the tree to this node
*/
- public Vector getPath(Vector retVec)
+ public List getPath(List retVec)
{
- if (retVec == null) retVec = new Vector();
+ if (retVec == null) retVec = new ArrayList();
if (parent != null)
{
@@ -153,14 +151,14 @@ abstract public class SVGElement implements Serializable
}
/**
- * @param retVec - A vector to add all children to. If null, a new vector is
+ * @param retVec - A list to add all children to. If null, a new list is
* created and children of this group are added.
*
- * @return The vector containing the children of this group
+ * @return The list containing the children of this group
*/
- public Vector getChildren(Vector retVec)
+ public List getChildren(List retVec)
{
- if (retVec == null) retVec = new Vector();
+ if (retVec == null) retVec = new ArrayList();
retVec.addAll(children);
@@ -742,9 +740,11 @@ abstract public class SVGElement implements Serializable
{
case 'M':
cmd = new MoveTo(false, nextFloat(tokens), nextFloat(tokens));
+ curCmd = 'L';
break;
case 'm':
cmd = new MoveTo(true, nextFloat(tokens), nextFloat(tokens));
+ curCmd = 'l';
break;
case 'L':
cmd = new LineTo(false, nextFloat(tokens), nextFloat(tokens));
diff --git a/src/main/java/com/kitfox/svg/ShapeElement.java b/src/main/java/com/kitfox/svg/ShapeElement.java
index b346b97..6446d11 100644
--- a/src/main/java/com/kitfox/svg/ShapeElement.java
+++ b/src/main/java/com/kitfox/svg/ShapeElement.java
@@ -27,13 +27,21 @@
package com.kitfox.svg;
-
import com.kitfox.svg.xml.StyleAttribute;
-import java.net.*;
-import java.awt.*;
-import java.awt.geom.*;
-import com.kitfox.svg.xml.*;
-import java.util.Vector;
+import java.awt.AlphaComposite;
+import java.awt.BasicStroke;
+import java.awt.Color;
+import java.awt.Composite;
+import java.awt.Graphics2D;
+import java.awt.Paint;
+import java.awt.Shape;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+import java.net.URI;
+import java.util.List;
+
+
/**
* Parent of shape objects
@@ -64,7 +72,7 @@ abstract public class ShapeElement extends RenderableElement
}
*/
- void pick(Point2D point, boolean boundingBox, Vector retVec) throws SVGException
+ void pick(Point2D point, boolean boundingBox, List retVec) throws SVGException
{
StyleAttribute styleAttrib = new StyleAttribute();
// if (getStyle(styleAttrib.setName("fill")) && getShape().contains(point))
@@ -74,7 +82,7 @@ abstract public class ShapeElement extends RenderableElement
}
}
- void pick(Rectangle2D pickArea, AffineTransform ltw, boolean boundingBox, Vector retVec) throws SVGException
+ void pick(Rectangle2D pickArea, AffineTransform ltw, boolean boundingBox, List retVec) throws SVGException
{
StyleAttribute styleAttrib = new StyleAttribute();
// if (getStyle(styleAttrib.setName("fill")) && getShape().contains(point))
diff --git a/src/main/java/com/kitfox/svg/animation/AnimTimeParser.jjt b/src/main/java/com/kitfox/svg/animation/AnimTimeParser.jjt
index 3a63b4c..c538738 100644
--- a/src/main/java/com/kitfox/svg/animation/AnimTimeParser.jjt
+++ b/src/main/java/com/kitfox/svg/animation/AnimTimeParser.jjt
@@ -94,7 +94,7 @@ TOKEN :
TimeBase Expr() :
{
TimeBase term;
- Vector list = new Vector();
+ ArrayList list = new ArrayList();
}
{
( term = Sum()
@@ -145,40 +145,6 @@ TimeBase Sum() :
}
-/*
-{
- TimeBase base;
- Vector timeList = new Vector();
- Token t;
-}
-{
- base=Term()
- {
- timeList.add(base);
- }
- ( (t="+" | t="-") base=Term()
- {
- if (t.image.equals"-")
- timeList.sub(base);
- else
- timeList.add(base);
- }
- )*
- {
- switch (timeList.size())
- {
- case 0:
- return new TimeIndefinite();
- case 1:
- return (TimeBase)timeList.get(0);
- default:
- return new TimeCompound(timeList);
- }
- }
-
-}
-*/
-
TimeBase Term() :
{
TimeBase base;
diff --git a/src/main/java/com/kitfox/svg/animation/AnimateMotion.java b/src/main/java/com/kitfox/svg/animation/AnimateMotion.java
index f4adcdc..97a84b3 100644
--- a/src/main/java/com/kitfox/svg/animation/AnimateMotion.java
+++ b/src/main/java/com/kitfox/svg/animation/AnimateMotion.java
@@ -35,8 +35,8 @@ import java.awt.geom.AffineTransform;
import java.awt.geom.GeneralPath;
import java.awt.geom.PathIterator;
import java.awt.geom.Point2D;
+import java.util.ArrayList;
import java.util.Iterator;
-import java.util.Vector;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.xml.sax.Attributes;
@@ -60,7 +60,7 @@ public class AnimateMotion extends AnimateXform
public static final int RT_ANGLE = 0; //Rotate by constant 'rotate' degrees
public static final int RT_AUTO = 1; //Rotate to reflect tangent of position on path
- final Vector bezierSegs = new Vector();
+ final ArrayList bezierSegs = new ArrayList();
double curveLength;
/** Creates a new instance of Animate */
diff --git a/src/main/java/com/kitfox/svg/animation/TimeCompound.java b/src/main/java/com/kitfox/svg/animation/TimeCompound.java
index 0545fc6..2ba47e2 100644
--- a/src/main/java/com/kitfox/svg/animation/TimeCompound.java
+++ b/src/main/java/com/kitfox/svg/animation/TimeCompound.java
@@ -26,8 +26,11 @@
package com.kitfox.svg.animation;
-import java.util.*;
-import java.util.regex.*;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.regex.Pattern;
+
/**
* This represents a summation of other time elements. It is used for complex
@@ -49,26 +52,11 @@ public class TimeCompound extends TimeBase
private AnimationElement parent;
/** Creates a new instance of TimeDiscrete */
- public TimeCompound(Vector timeBases)
+ public TimeCompound(List timeBases)
{
componentTimes = Collections.unmodifiableList(timeBases);
}
- /*
- public TimeCompound(String text)
- {
- String[] vals = patPlus.split(text);
-
- Vector times = new Vector(vals.length);
-
- for (int i = 0; i < vals.length; i++)
- {
- times.set(i, parseTimeComponent(vals[i]));
- }
-
- this(times);
- }*/
-
public double evalTime()
{
double agg = 0.0;
diff --git a/src/main/java/com/kitfox/svg/animation/TrackBase.java b/src/main/java/com/kitfox/svg/animation/TrackBase.java
index a38866f..007f6ad 100644
--- a/src/main/java/com/kitfox/svg/animation/TrackBase.java
+++ b/src/main/java/com/kitfox/svg/animation/TrackBase.java
@@ -26,7 +26,6 @@
package com.kitfox.svg.animation;
-import com.kitfox.svg.xml.StyleAttribute;
import java.util.*;
import com.kitfox.svg.xml.*;
@@ -50,7 +49,7 @@ abstract public class TrackBase
//It doesn't make sense to sort this, since some events will depend on
// other events - in many cases, there will be no meaningful sorted order.
- final Vector animEvents = new Vector();
+ final ArrayList animEvents = new ArrayList();
/** Creates a new instance of TrackManager */
// public TrackBase(SVGElement parent)
diff --git a/src/main/java/com/kitfox/svg/app/SVGPlayer.java b/src/main/java/com/kitfox/svg/app/SVGPlayer.java
index d2c4b33..3d16b2f 100644
--- a/src/main/java/com/kitfox/svg/app/SVGPlayer.java
+++ b/src/main/java/com/kitfox/svg/app/SVGPlayer.java
@@ -27,19 +27,29 @@
package com.kitfox.svg.app;
-import java.net.*;
-import java.awt.*;
-import java.io.*;
-import java.util.regex.*;
-import javax.swing.*;
-
-import com.kitfox.svg.*;
+import com.kitfox.svg.SVGDiagram;
+import com.kitfox.svg.SVGDisplayPanel;
+import com.kitfox.svg.SVGElement;
+import com.kitfox.svg.SVGException;
+import com.kitfox.svg.SVGUniverse;
+import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.geom.Point2D;
+import java.io.File;
+import java.io.InputStream;
+import java.net.URI;
+import java.net.URL;
+import java.net.URLEncoder;
import java.security.AccessControlException;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Vector;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import javax.swing.JFileChooser;
+import javax.swing.JOptionPane;
/**
* @author Mark McKay
@@ -118,10 +128,10 @@ public class SVGPlayer extends javax.swing.JFrame
System.out.println("Picking at cursor (" + evt.getX() + ", " + evt.getY() + ")");
try
{
- Vector paths = diagram.pick(new Point2D.Float(evt.getX(), evt.getY()), null);
+ List paths = diagram.pick(new Point2D.Float(evt.getX(), evt.getY()), null);
for (int i = 0; i < paths.size(); i++)
{
- Vector path = (Vector)paths.get(i);
+ ArrayList path = (ArrayList)paths.get(i);
System.out.println(pathToString(path));
}
}
@@ -139,7 +149,7 @@ public class SVGPlayer extends javax.swing.JFrame
playerDialog = new PlayerDialog(this);
}
- private String pathToString(Vector path)
+ private String pathToString(List path)
{
if (path.size() == 0) return "";
diff --git a/src/main/java/com/kitfox/svg/app/SVGViewer.java b/src/main/java/com/kitfox/svg/app/SVGViewer.java
index c991f35..c9b1ad1 100644
--- a/src/main/java/com/kitfox/svg/app/SVGViewer.java
+++ b/src/main/java/com/kitfox/svg/app/SVGViewer.java
@@ -27,18 +27,29 @@
package com.kitfox.svg.app;
-import java.net.*;
-import java.awt.*;
-import java.io.*;
-import java.util.regex.*;
-import javax.swing.*;
-
-//import javax.jnlp.*;
-
-import com.kitfox.svg.*;
+import com.kitfox.svg.SVGCache;
+import com.kitfox.svg.SVGDiagram;
+import com.kitfox.svg.SVGDisplayPanel;
+import com.kitfox.svg.SVGElement;
+import com.kitfox.svg.SVGException;
+import com.kitfox.svg.SVGUniverse;
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Point;
+import java.io.File;
+import java.io.InputStream;
+import java.net.URI;
+import java.net.URL;
+import java.net.URLEncoder;
import java.security.AccessControlException;
+import java.util.ArrayList;
import java.util.Iterator;
-import java.util.Vector;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import javax.swing.JFileChooser;
+import javax.swing.JOptionPane;
+
/**
* @author Mark McKay
@@ -303,7 +314,7 @@ is.close();
private void panel_svgAreaMouseReleased(java.awt.event.MouseEvent evt)//GEN-FIRST:event_panel_svgAreaMouseReleased
{//GEN-HEADEREND:event_panel_svgAreaMouseReleased
SVGDiagram diagram = svgDisplayPanel.getDiagram();
- Vector pickedElements;
+ List pickedElements;
try
{
pickedElements = diagram.pick(new Point(evt.getX(), evt.getY()), null);
@@ -317,7 +328,7 @@ is.close();
System.out.println("Pick results:");
for (Iterator it = pickedElements.iterator(); it.hasNext();)
{
- Vector path = (Vector)it.next();
+ ArrayList path = (ArrayList)it.next();
System.out.print(" Path: ");
diff --git a/src/main/java/com/kitfox/svg/app/ant/SVGToImageAntTask.java b/src/main/java/com/kitfox/svg/app/ant/SVGToImageAntTask.java
index f4cd85a..53f8687 100644
--- a/src/main/java/com/kitfox/svg/app/ant/SVGToImageAntTask.java
+++ b/src/main/java/com/kitfox/svg/app/ant/SVGToImageAntTask.java
@@ -70,7 +70,7 @@ import com.kitfox.svg.xml.ColorTable;
*/
public class SVGToImageAntTask extends Task
{
- private Vector filesets = new Vector();
+ private ArrayList filesets = new ArrayList();
boolean verbose = false;
File destDir;
private String format = "png";