diff --git a/.idea/libraries/libs.xml b/.idea/libraries/libs.xml index c41bb1c9cf30cf766648f321f570cd5e7a8b9d47..f6f184a7f6474eb34b433fae01d1cb7d7006af08 100644 --- a/.idea/libraries/libs.xml +++ b/.idea/libraries/libs.xml @@ -20,8 +20,15 @@ <root url="jar://$PROJECT_DIR$/libs/junit-4.12.jar!/" /> <root url="jar://$PROJECT_DIR$/libs/derbyclient-10.9.1.0.jar!/" /> <root url="jar://$PROJECT_DIR$/libs/commons-math3-3.6.1.jar!/" /> + <root url="jar://$PROJECT_DIR$/libs/batik-awt-util.jar!/" /> + <root url="jar://$PROJECT_DIR$/libs/batik-dom.jar!/" /> + <root url="jar://$PROJECT_DIR$/libs/batik-svggen.jar!/" /> + <root url="jar://$PROJECT_DIR$/libs/batik-util.jar!/" /> + <root url="jar://$PROJECT_DIR$/libs/batik-xml.jar!/" /> </CLASSES> - <JAVADOC /> + <JAVADOC> + <root url="jar://$PROJECT_DIR$/libs/commons-io-2.5-javadoc.jar!/" /> + </JAVADOC> <SOURCES /> </library> -</component> +</component> \ No newline at end of file diff --git a/libs/batik-awt-util.jar b/libs/batik-awt-util.jar new file mode 100644 index 0000000000000000000000000000000000000000..fee8e4345e337dacd1edd16e2d8bd643f3c16bef Binary files /dev/null and b/libs/batik-awt-util.jar differ diff --git a/libs/batik-dom.jar b/libs/batik-dom.jar new file mode 100644 index 0000000000000000000000000000000000000000..632979b957624492193750b518864c808802d943 Binary files /dev/null and b/libs/batik-dom.jar differ diff --git a/libs/batik-svggen.jar b/libs/batik-svggen.jar new file mode 100644 index 0000000000000000000000000000000000000000..e878a86259745d08c838710a81ddfba0e08f0284 Binary files /dev/null and b/libs/batik-svggen.jar differ diff --git a/libs/batik-util.jar b/libs/batik-util.jar new file mode 100644 index 0000000000000000000000000000000000000000..682253a2f0e58f6a41cdcf57339dcbca56b646e9 Binary files /dev/null and b/libs/batik-util.jar differ diff --git a/libs/batik-xml.jar b/libs/batik-xml.jar new file mode 100644 index 0000000000000000000000000000000000000000..7469a00250784e77b1b0fe7add7952ed6356cfaa Binary files /dev/null and b/libs/batik-xml.jar differ diff --git a/src/main/java/ui/avatarinteractivesimulation/JFrameAvatarInteractiveSimulation.java b/src/main/java/ui/avatarinteractivesimulation/JFrameAvatarInteractiveSimulation.java index 5cb98aa1e92f7b93fff6bb22ac4ea766adc29392..98fe7a7cb62ddf54bcebe6895d2e38423112e930 100755 --- a/src/main/java/ui/avatarinteractivesimulation/JFrameAvatarInteractiveSimulation.java +++ b/src/main/java/ui/avatarinteractivesimulation/JFrameAvatarInteractiveSimulation.java @@ -68,6 +68,17 @@ import java.util.HashMap; import java.util.Map; import java.util.Collections; + +import java.io.Writer; +import java.io.OutputStreamWriter; +import java.io.IOException; + +import org.apache.batik.svggen.SVGGraphics2D; +import org.apache.batik.dom.GenericDOMImplementation; + +import org.w3c.dom.Document; +import org.w3c.dom.DOMImplementation; + /** * Class JFrameAvatarInteractiveSimulation * Creation: 21/01/2011 @@ -1817,7 +1828,7 @@ public class JFrameAvatarInteractiveSimulation extends JFrame implements Avatar } else { // Using model directory String path = mgui.getModelFileFullPath(); - fileName = path.substring(0,path.lastIndexOf(File.separator)+1) + fileName; + fileName = path.substring(0, path.lastIndexOf(File.separator) + 1) + fileName; TraceManager.addDev("New Filename = " + fileName); } @@ -1831,15 +1842,17 @@ public class JFrameAvatarInteractiveSimulation extends JFrame implements Avatar if (!ok) { JOptionPane.showMessageDialog(this, - "The capture could not be performed: the specified file is not valid", - "Error", - JOptionPane.INFORMATION_MESSAGE); + "The capture could not be performed: the specified file is not valid", + "Error", + JOptionPane.INFORMATION_MESSAGE); return; } + newSVGSave(fileName); + - StringBuffer sb = new StringBuffer("<?xml version=\"1.0\" standalone=\"no\"?>\n"); + /* StringBuffer sb = new StringBuffer("<?xml version=\"1.0\" standalone=\"no\"?>\n"); sb.append("<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n"); sb.append("<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\">\n"); @@ -1874,8 +1887,33 @@ public class JFrameAvatarInteractiveSimulation extends JFrame implements Avatar //TraceManager.addDev("Svg=" + sb.toString()); - //return sb.toString(); + //return sb.toString();*/ + + } + // FileName must be valid + private void newSVGSave(String fileName) { + TraceManager.addDev("New SVG save in " + fileName); + // Get a DOMImplementation. + DOMImplementation domImpl = + GenericDOMImplementation.getDOMImplementation(); + + // Create an instance of org.w3c.dom.Document. + String svgNS = "http://www.w3.org/2000/svg"; + Document document = domImpl.createDocument(svgNS, "svg", null); + + // Create an instance of the SVG Generator. + SVGGraphics2D svgGenerator = new SVGGraphics2D(document); + + // Ask the test to render into the SVG Graphics2D implementation. + /*TestSVGGen test = new TestSVGGen(); + test.paint(svgGenerator); + + // Finally, stream out SVG to the standard output using + // UTF-8 encoding. + boolean useCSS = true; // we want to use CSS style attributes + Writer out = new OutputStreamWriter(System.out, "UTF-8"); + svgGenerator.stream(out, useCSS);*/ } public void actSaveSDPNG() { diff --git a/ttool/ttool.txt b/ttool/ttool.txt index f37bc80d332eb8b6da7ea626b92b305e2cc1cbca..339ec97522705b41dd9f36c43692f249f93fbdcd 100755 --- a/ttool/ttool.txt +++ b/ttool/ttool.txt @@ -1,2 +1,2 @@ Main-Class: Main -Class-Path: ./commons-math3-3.6.1.jar ./jsoup-1.8.1.jar ./commons-codec-1.10.jar ./gs-core-1.3.jar ./gs-ui-1.3.jar ./commons-io-2.5.jar +Class-Path: ./commons-math3-3.6.1.jar ./jsoup-1.8.1.jar ./commons-codec-1.10.jar ./gs-core-1.3.jar ./gs-ui-1.3.jar ./commons-io-2.5.jar ./batik-awt-util.jar ./batik-dom.jar ./batik-svggen.jar ./batik-util.jar ./batik-xml.jar