├── .gitignore ├── HISTORY.md ├── LICENSE ├── README.md ├── build.xml ├── nbproject ├── build-impl.xml ├── configs │ └── Browser.properties ├── genfiles.properties ├── project.properties └── project.xml ├── pom.xml ├── samples ├── ArmourHostile.svg ├── anims │ ├── anim1.svg │ ├── anim2.svg │ ├── animColor.svg │ ├── animCoordinate.svg │ ├── animCoordinate2.svg │ ├── animCoordinate3.svg │ ├── animCoordinate4.svg │ ├── animCoordinate5.svg │ ├── animGroup.svg │ ├── animMotion.svg │ ├── animMotion2.svg │ ├── animSet.svg │ ├── animTransform.svg │ ├── animTransform2.svg │ ├── animTransform3.svg │ ├── animTransform4.svg │ ├── circleCenter.svg │ ├── circleRadius.svg │ ├── circleopacity.svg │ └── circlevisible.svg ├── backlight.svg ├── bluerect.svg ├── bluerectViewport.svg ├── circle.png ├── circle.svg ├── circleStyle.svg ├── clippath │ ├── clip.svg │ ├── clippedcircle.svg │ ├── clippedcircle2.svg │ ├── clippedwithtext.svg │ ├── clipunits.svg │ └── clipunitsuse.svg ├── complex │ ├── Bmw_Z_Top_View_clip_art.svg │ ├── Gallium3D_example_matrix.svg │ ├── Ghostscript_Tiger.svg │ ├── Hammer.svg │ ├── bacon.svg │ └── cowboynofilter.svg ├── cross.svg ├── ellipse.svg ├── filters │ ├── circlefilter.svg │ ├── circlefilter2.svg │ ├── cowboyfilter.svg │ ├── cowboyfilter2.svg │ ├── effectdisplacement.svg │ ├── feDiffuseLighting.svg │ ├── feDropshadow.svg │ ├── feFlood2.svg │ ├── feFloodUse.svg │ ├── feLightDistant.svg │ ├── feMerge.svg │ ├── feMerge2.svg │ ├── feMorphology.svg │ ├── feOffset.svg │ ├── feOffset2.svg │ ├── feOffset3.svg │ ├── filterImage.svg │ ├── light.svg │ ├── light3.svg │ ├── light4.svg │ ├── lightCircle.svg │ ├── lightSpot.svg │ ├── lightSpot2.svg │ ├── lightWithoutFilter.svg │ └── mdn_logo_only_color.png ├── gradients │ ├── drawing1.svg │ ├── gradienttransform.svg │ ├── gradtrans.svg │ ├── gradtrans2.svg │ ├── gradtransissue2.svg │ ├── gradtransissue3.svg │ ├── lineargradient.svg │ ├── lineargradient2.svg │ ├── lineargradient3.svg │ ├── lineargradient4.svg │ ├── lineargradientrepeat.svg │ ├── mountain-mirror.jpg │ ├── radialgradient.svg │ └── radialgradient2.svg ├── images │ ├── externalimg.svg │ ├── internalimg.svg │ └── mdn_logo_only_color.png ├── issue1.svg ├── issues │ ├── arrowHeads.svg │ ├── arrowHeads2.svg │ ├── arrowHeads2small.svg │ ├── arrowHeadssmall2.svg │ ├── cat.svg │ ├── decimalfont.svg │ ├── decimalfont2.svg │ ├── decimalfont3.svg │ ├── hugeSVG1.svg │ ├── invalidImage1.svg │ ├── invalidImage2.svg │ ├── line-default.svg │ ├── line-unit-pt.svg │ ├── logo_Simplified.svg │ ├── marker-not-parsed.svg │ ├── mutipleStyles.svg │ ├── no-rendered-units.svg │ ├── path-incorrect.svg │ ├── path-not-parsed.svg │ ├── polygon-not-rendered.svg │ ├── space-transforms.svg │ ├── span-incorrect.svg │ ├── style-incorrect-order.svg │ ├── style-incorrect.svg │ ├── styleOrder.svg │ ├── styleOrder2.svg │ ├── styleOrder3.svg │ ├── styleOrder4.svg │ ├── text-tspan-incorrect.svg │ ├── textanchor.svg │ └── use-lost.svg ├── markers │ ├── marker.svg │ ├── marker2.svg │ ├── marker3.svg │ ├── markerContext.svg │ ├── markerContext2.svg │ ├── markerPolyline.svg │ ├── path-rearranged-slim.svg │ └── path-rearranged.svg ├── mask │ └── mask.svg ├── mountain-mirror.jpg ├── obliquetext.svg ├── opacity.svg ├── path │ ├── path-double.svg │ ├── path_circle.svg │ └── path_fill.svg ├── polygons │ ├── polygon_A.svg │ ├── polygon_A_1.svg │ ├── polygon_A_2.svg │ ├── polygon_plus.svg │ ├── uml_diagram.svg │ └── uml_diagram2.svg ├── polyline.svg ├── rect.svg ├── redline.svg ├── roundedrect.svg ├── scale │ ├── scale3.svg │ ├── scale4.svg │ ├── scaleTo1.svg │ └── scaleTo2.svg ├── scripts │ ├── crocodile.png │ ├── testButton.groovy │ ├── testGraphics.groovy │ ├── testImage.groovy │ ├── testImage2.groovy │ ├── testInteractive.groovy │ ├── testLine.groovy │ └── testRect.groovy ├── text │ ├── fontSizeSmall.svg │ ├── fontSizeSmall2.svg │ ├── rotatedText.svg │ ├── simpletext.svg │ ├── simpletext2.svg │ ├── simpletext2script.svg │ ├── simpletext2spans.svg │ ├── simpletext2spans2.svg │ ├── simpletext2spans3.svg │ ├── simpletext2spans4.svg │ ├── simpletextUnderline.svg │ ├── simpletextUnderlinestrike.svg │ ├── strokedasharay.svg │ ├── strokedasharay2.svg │ ├── strokedasharaystyle.svg │ ├── textstyle.svg │ ├── textstyle2.svg │ └── tspan.svg ├── transforms │ ├── matrix1.svg │ ├── matrix2.svg │ ├── matrix3.svg │ ├── matrix4.svg │ ├── rectangleMatrix.svg │ ├── rotate1.svg │ ├── rotate2.svg │ ├── scale1.svg │ ├── scale2.svg │ ├── scale3.svg │ ├── scale4.svg │ ├── skew1.svg │ ├── skew2.svg │ ├── transform1.svg │ ├── transform2.svg │ ├── transform3.svg │ ├── transform4.svg │ ├── transform5.svg │ └── translate1.svg ├── use │ ├── heart.svg │ ├── symbol.svg │ ├── symbol2.svg │ ├── symbol3.svg │ └── use.svg └── viewport │ ├── circle100.svg │ ├── circleViewport.svg │ ├── circleViewport2.svg │ └── rect100.svg ├── src ├── browser │ ├── manifest.mf │ └── org │ │ └── girod │ │ └── javafx │ │ └── svgimage │ │ └── browser │ │ ├── SVGBrowser.java │ │ ├── package.html │ │ ├── zoomIn.png │ │ └── zoomOut.png ├── core │ ├── manifest.mf │ └── org │ │ └── girod │ │ └── javafx │ │ └── svgimage │ │ ├── AwtImageConverter.java │ │ ├── ExceptionsHandling.java │ │ ├── GlobalConfig.java │ │ ├── LoaderContext.java │ │ ├── LoaderParameters.java │ │ ├── Main.java │ │ ├── SVGContent.java │ │ ├── SVGImage.java │ │ ├── SVGImageRegion.java │ │ ├── SVGLoader.java │ │ ├── ScaleQuality.java │ │ ├── Viewbox.java │ │ ├── Viewport.java │ │ ├── fxsvgimage.properties │ │ ├── package.html │ │ └── xml │ │ ├── builders │ │ ├── AnimationBuilder.java │ │ ├── BuilderUtils.java │ │ ├── MarkerBuilder.java │ │ ├── SVGShapeBuilder.java │ │ ├── SVGStyleBuilder.java │ │ ├── SVGTextBuilder.java │ │ ├── TextHBox.java │ │ └── package.html │ │ ├── parsers │ │ ├── AbstractPathParser.java │ │ ├── ClippingFactory.java │ │ ├── LengthParser.java │ │ ├── MarkerContextPathParser.java │ │ ├── ParserUtils.java │ │ ├── PathParser.java │ │ ├── PercentParser.java │ │ ├── SVGLibraryException.java │ │ ├── SVGParsingException.java │ │ ├── SVGTags.java │ │ ├── TransformUtils.java │ │ ├── package.html │ │ └── xmltree │ │ │ ├── ElementNode.java │ │ │ ├── XMLNode.java │ │ │ ├── XMLRoot.java │ │ │ ├── XMLTextNode.java │ │ │ ├── XMLTreeHandler.java │ │ │ └── package.html │ │ └── specs │ │ ├── ExtendedFontPosture.java │ │ ├── FilterSpec.java │ │ ├── GradientSpec.java │ │ ├── LinearGradientSpec.java │ │ ├── MarkerContext.java │ │ ├── MarkerSpec.java │ │ ├── RadialGradientSpec.java │ │ ├── SpanGroup.java │ │ ├── Styles.java │ │ ├── SymbolSpec.java │ │ └── package.html └── tosvg │ ├── manifest.mf │ └── org │ └── girod │ └── javafx │ └── svgimage │ └── tosvg │ ├── ConverterParameters.java │ ├── SVGConverter.java │ ├── converters │ ├── AbstractConverter.java │ ├── AbstractImageConverter.java │ ├── ClipConstructor.java │ ├── ControlConverter.java │ ├── ConverterDelegate.java │ ├── DefaultStrokeValues.java │ ├── GroupConverter.java │ ├── ImageViewConverter.java │ ├── RegionConverter.java │ ├── Shape3DConverter.java │ ├── ShapeConverter.java │ ├── SubSceneConverter.java │ └── package.html │ ├── package.html │ ├── utils │ ├── AwtImageUtilities.java │ ├── CSSProperties.java │ ├── CSSProperty.java │ ├── NodeConverter.java │ ├── OpacityFilter.java │ ├── Utilities.java │ └── package.html │ ├── wrappers │ ├── BackgroundWrapper.java │ ├── BorderWrapper.java │ └── package.html │ └── xml │ ├── SVGConstants.java │ ├── XMLNode.java │ ├── XMLNodeUtilities.java │ ├── XMLRoot.java │ └── package.html ├── test └── org │ └── girod │ └── javafx │ ├── loaders │ ├── TestAnimationInScroll.java │ ├── TestBorderPaneImage.java │ ├── TestSVGLoaderFX.java │ ├── TestSVGLoaderFX2.java │ ├── TestSVGLoaderFX3.java │ ├── TestSVGLoaderFXScaled.java │ ├── TestSVGLoaderFXScaled2.java │ ├── TestSVGLoaderImage.java │ ├── TestSVGLoaderImage2.java │ ├── TestSVGLoaderWithParam.java │ ├── TestTimeline.java │ ├── TestTimeline2.java │ └── TestTransition.java │ ├── svgimage │ ├── SVGImageParamsTest.java │ ├── SVGImageScaleToTest.java │ ├── SVGImageScaled2Test.java │ ├── SVGImageScaledParamsTest.java │ ├── SVGImageScaledTest.java │ ├── SVGImageTest.java │ ├── SVGLoaderBasicShapesTest.java │ ├── SVGLoaderFEMergeTest.java │ ├── SVGLoaderFromStringTest.java │ ├── SVGLoaderLineTest.java │ ├── SVGLoaderPolygon2Test.java │ ├── SVGLoaderPolygonTest.java │ ├── SVGLoaderStrokeDashArrayNoneTest.java │ ├── SVGLoaderTest.java │ ├── SVGLoaderTransformsTest.java │ ├── SVGLoaderUnits2Test.java │ ├── SVGLoaderUnitsTest.java │ ├── SVGLoaderUseTest.java │ ├── SnapshotUtils.java │ ├── circle.svg │ ├── circle2.svg │ ├── ellipse.svg │ ├── feMerge2.svg │ ├── issue1.svg │ ├── issue1_2.svg │ ├── issue1_3.svg │ ├── line-default.svg │ ├── line-unit-pt.svg │ ├── line.svg │ ├── logo_Simplified.svg │ ├── no-rendered-units.svg │ ├── path.svg │ ├── polygon-not-rendered.svg │ ├── polygon.svg │ ├── polygon_A.svg │ ├── polygon_plus.svg │ ├── polyline-not-rendered.svg │ ├── polyline.svg │ ├── rect.svg │ ├── rect200.svg │ ├── rect200_1.svg │ ├── rect50.svg │ ├── space-transforms.svg │ ├── strokeDashed.svg │ ├── strokedasharayNone.svg │ ├── use-lost.svg │ └── xml │ │ ├── SVGStyleBuilderTest.java │ │ └── parsers │ │ └── xmltree │ │ ├── XMLParserTestUtils.java │ │ ├── XMLTreeHandlerTest.java │ │ ├── XMLTreeHandlerText2Test.java │ │ ├── XMLTreeHandlerTextTest.java │ │ ├── circle.svg │ │ ├── simpletext.svg │ │ └── tspan.svg │ └── tosvg │ └── app │ ├── ExceptionsUtils.java │ ├── JFXInvoker.java │ ├── SVGConverterApp.java │ ├── SVGDriverAppUtils.java │ ├── Script.java │ ├── ScriptContext.java │ ├── ScriptException.java │ └── ScriptWrapper.java ├── testlib └── INTENTIONALLY_EMPTY └── web ├── soft ├── INTENTIONALLY_EMPTY └── docgenerator.conf ├── source ├── browser │ └── browser.xml ├── categoriesDesc.xml ├── config.properties ├── dictionnaryDesc.xml ├── distrib.xml ├── faq.xml ├── footer.xml ├── fromsvg │ ├── parameters.xml │ ├── support │ │ ├── animations.xml │ │ ├── clippath.xml │ │ ├── filters.xml │ │ ├── gradients.xml │ │ ├── shapes.xml │ │ ├── stroke.xml │ │ ├── styling.xml │ │ ├── support.xml │ │ ├── svg.xml │ │ ├── symbol.xml │ │ ├── transform.xml │ │ ├── tspan.xml │ │ ├── units.xml │ │ └── use.xml │ ├── svgimage.xml │ ├── svgimageregion.xml │ └── usage.xml ├── header.xml ├── history.xml ├── images │ ├── browser.png │ ├── clippath.jpg │ ├── images.xml │ ├── lineargradient.jpg │ ├── radialgradient.jpg │ └── use.jpg ├── index.xml ├── leftmenu.xml ├── license.xml ├── sourceforge.properties ├── sourceforge │ ├── analytics.js │ ├── footer.txt │ ├── right.txt │ └── sourceforge.css └── tosvg │ ├── parameters.xml │ ├── support │ └── support.xml │ ├── tosvgconverter.xml │ └── tosvgusage.xml ├── sourceforge ├── INTENTIONALLY_EMPTY └── images │ └── messageBoxImg_1_0.png └── wiki ├── INTENTIONALLY_EMPTY └── images └── messageBoxImg_1_0.png /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled class file 2 | *.class 3 | 4 | # Log file 5 | *.log 6 | 7 | # BlueJ files 8 | *.ctxt 9 | 10 | # Mobile Tools for Java (J2ME) 11 | .mtj.tmp/ 12 | 13 | # Package Files # 14 | *.jar 15 | *.war 16 | *.nar 17 | *.ear 18 | *.zip 19 | *.tar.gz 20 | *.rar 21 | 22 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 23 | hs_err_pid* 24 | /fxsvgImage/nbproject/private/ 25 | /nbproject/private/ 26 | /build/ 27 | /dist/ 28 | /target 29 | *.iml 30 | /.idea 31 | /web/soft/README.txt 32 | /web/soft/lib/ 33 | /web/soft/LICENSE.txt 34 | /web/wiki/categories/ 35 | /web/wiki/categories.html 36 | /web/wiki/dictionnary.html 37 | /web/wiki/header.html 38 | /web/wiki/resources/ 39 | /web/wiki/fullTextSearch.html 40 | /web/wiki/articles/ 41 | /web/wiki/index.html 42 | /web/sourceforge/categories/ 43 | /web/sourceforge/categories.html 44 | /web/sourceforge/dictionnary.html 45 | /web/sourceforge/header.html 46 | /web/sourceforge/resources/ 47 | /web/sourceforge/fullTextSearch.html 48 | /web/sourceforge/articles/ 49 | /web/sourceforge/index.html -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2021, Hervé Girod 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | 3. Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /nbproject/configs/Browser.properties: -------------------------------------------------------------------------------- 1 | main.class=org.girod.javafx.svgimage.browser.SVGBrowser 2 | -------------------------------------------------------------------------------- /nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=f1a0cd50 2 | build.xml.script.CRC32=e0a27ca8 3 | build.xml.stylesheet.CRC32=8064a381@1.80.1.48 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=ee8f15e6 7 | nbproject/build-impl.xml.script.CRC32=8c9d5b4f 8 | nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.106.0.48 9 | -------------------------------------------------------------------------------- /nbproject/project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | org.netbeans.modules.java.j2seproject 4 | 5 | 6 | fxsvgImage 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /samples/ArmourHostile.svg: -------------------------------------------------------------------------------- 1 | 2 | 12 | 16 | 19 | 23 | 24 | 28 | 29 | -------------------------------------------------------------------------------- /samples/anims/anim1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /samples/anims/anim2.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/anims/animColor.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /samples/anims/animCoordinate.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /samples/anims/animCoordinate2.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 10 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /samples/anims/animCoordinate3.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 11 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /samples/anims/animCoordinate4.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /samples/anims/animCoordinate5.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /samples/anims/animGroup.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /samples/anims/animMotion.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /samples/anims/animMotion2.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /samples/anims/animSet.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /samples/anims/animTransform.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /samples/anims/animTransform2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /samples/anims/animTransform3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /samples/anims/animTransform4.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /samples/anims/circleCenter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 | 19 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /samples/anims/circleRadius.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 | 19 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /samples/anims/circleopacity.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 | 19 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /samples/anims/circlevisible.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 | 19 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /samples/bluerect.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 39 | 41 | 42 | 44 | image/svg+xml 45 | 47 | 48 | 49 | 50 | 51 | 55 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /samples/bluerectViewport.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 25 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /samples/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hervegirod/fxsvgimage/fe0cab840d214fb4e2da5e835c3f62c6c1006678/samples/circle.png -------------------------------------------------------------------------------- /samples/circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 39 | 41 | 42 | 44 | image/svg+xml 45 | 47 | 48 | 49 | 50 | 51 | 55 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /samples/circleStyle.svg: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 14 | 16 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /samples/clippath/clip.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /samples/clippath/clippedcircle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /samples/clippath/clippedcircle2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /samples/clippath/clippedwithtext.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hello World 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /samples/clippath/clipunits.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /samples/clippath/clipunitsuse.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /samples/cross.svg: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /samples/ellipse.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 39 | 41 | 42 | 44 | image/svg+xml 45 | 47 | 48 | 49 | 50 | 51 | 55 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /samples/filters/circlefilter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /samples/filters/circlefilter2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /samples/filters/effectdisplacement.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /samples/filters/feDiffuseLighting.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Filter example 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /samples/filters/feDropshadow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 18 | 19 | 21 | 22 | 24 | 25 | -------------------------------------------------------------------------------- /samples/filters/feFlood2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /samples/filters/feFloodUse.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /samples/filters/feLightDistant.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | Filter example 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /samples/filters/feMerge.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | -------------------------------------------------------------------------------- /samples/filters/feMerge2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /samples/filters/feMorphology.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | Example feMorphology - Examples of erode and dilate 5 | Five text strings drawn as outlines. 6 | The first is unfiltered. The second and third use 'erode'. 7 | The fourth and fifth use 'dilate'. 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 27 | Unfiltered 28 | Erode radius 3 29 | Erode radius 6 30 | Dilate radius 3 31 | Dilate radius 6 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /samples/filters/feOffset.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/filters/feOffset2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /samples/filters/feOffset3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /samples/filters/filterImage.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 12 | 13 | -------------------------------------------------------------------------------- /samples/filters/light.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Filter example 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /samples/filters/light3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Filter example 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /samples/filters/light4.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Filter example 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /samples/filters/lightCircle.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /samples/filters/lightSpot.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | -------------------------------------------------------------------------------- /samples/filters/lightSpot2.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 15 | -------------------------------------------------------------------------------- /samples/filters/lightWithoutFilter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Filter example 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /samples/filters/mdn_logo_only_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hervegirod/fxsvgimage/fe0cab840d214fb4e2da5e835c3f62c6c1006678/samples/filters/mdn_logo_only_color.png -------------------------------------------------------------------------------- /samples/gradients/gradienttransform.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /samples/gradients/gradtrans2.svg: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 13 | 15 | 16 | 21 | 22 | 23 | 25 | 26 | -------------------------------------------------------------------------------- /samples/gradients/gradtransissue2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16 | 17 | 18 | 19 | 22 | 25 | 26 | 34 | 43 | 44 | 45 | 49 | 50 | 53 | -------------------------------------------------------------------------------- /samples/gradients/gradtransissue3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16 | 17 | 18 | 19 | 22 | 25 | 26 | 35 | 36 | 37 | 39 | -------------------------------------------------------------------------------- /samples/gradients/lineargradient2.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | Example lingrad01 - fill a rectangle using a 5 | linear gradient paint server 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /samples/gradients/lineargradient3.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /samples/gradients/lineargradient4.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/gradients/lineargradientrepeat.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 22 | 24 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /samples/gradients/mountain-mirror.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hervegirod/fxsvgimage/fe0cab840d214fb4e2da5e835c3f62c6c1006678/samples/gradients/mountain-mirror.jpg -------------------------------------------------------------------------------- /samples/gradients/radialgradient.svg: -------------------------------------------------------------------------------- 1 | 2 | 9 | 11 | 13 | 17 | 21 | 25 | 26 | 36 | 37 | 38 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /samples/gradients/radialgradient2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 15 | 16 | 17 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /samples/images/externalimg.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /samples/images/mdn_logo_only_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hervegirod/fxsvgimage/fe0cab840d214fb4e2da5e835c3f62c6c1006678/samples/images/mdn_logo_only_color.png -------------------------------------------------------------------------------- /samples/issues/cat.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 19 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /samples/issues/decimalfont.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 101° 8 | 9 | 10 | 11 | 12 | 13 | 11° 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /samples/issues/decimalfont2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 97° 13 | 98° 14 | 99° 15 | 100° 16 | 101° 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 10° 33 | 11° 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /samples/issues/decimalfont3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 101 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /samples/issues/invalidImage1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /samples/issues/invalidImage2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /samples/issues/line-default.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /samples/issues/line-unit-pt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /samples/issues/logo_Simplified.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 16 | 17 | 18 | 21 | 22 | -------------------------------------------------------------------------------- /samples/issues/mutipleStyles.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /samples/issues/no-rendered-units.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /samples/issues/path-incorrect.svg: -------------------------------------------------------------------------------- 1 | 2 | Person Circle 3 | 4 | -------------------------------------------------------------------------------- /samples/issues/polygon-not-rendered.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /samples/issues/space-transforms.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /samples/issues/span-incorrect.svg: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | True 11 | ease in 12 | 13 | writing 14 | 15 | 16 | comes 17 | 18 | from 19 | 20 | 21 | 22 | ART 23 | 24 | not 25 | 26 | 27 | 28 | chance 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /samples/issues/style-incorrect-order.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /samples/issues/style-incorrect.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 25 | -------------------------------------------------------------------------------- /samples/issues/styleOrder.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 25 | -------------------------------------------------------------------------------- /samples/issues/styleOrder2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /samples/issues/styleOrder3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 25 | -------------------------------------------------------------------------------- /samples/issues/styleOrder4.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 14 | -------------------------------------------------------------------------------- /samples/issues/text-tspan-incorrect.svg: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | True 11 | ease in 12 | 13 | writing 14 | 15 | 16 | comes 17 | 18 | from 19 | 20 | 21 | 22 | ART 23 | 24 | not 25 | 26 | 27 | 28 | chance 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /samples/issues/textanchor.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | Start at x=100 4 | Middle at x=100 5 | End at x=100 6 | -------------------------------------------------------------------------------- /samples/issues/use-lost.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /samples/markers/marker.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 24 | -------------------------------------------------------------------------------- /samples/markers/marker2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 10 | 11 | 12 | 13 | 14 | 19 | -------------------------------------------------------------------------------- /samples/markers/marker3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 | 14 | 15 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /samples/markers/markerContext.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 24 | 29 | 30 | 31 | 35 | 36 | -------------------------------------------------------------------------------- /samples/markers/markerContext2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 24 | 29 | 30 | 31 | 35 | 36 | -------------------------------------------------------------------------------- /samples/markers/markerPolyline.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | 12 | 13 | 14 | 22 | 23 | 24 | 25 | 26 | 32 | 33 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /samples/mask/mask.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /samples/mountain-mirror.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hervegirod/fxsvgimage/fe0cab840d214fb4e2da5e835c3f62c6c1006678/samples/mountain-mirror.jpg -------------------------------------------------------------------------------- /samples/obliquetext.svg: -------------------------------------------------------------------------------- 1 | 2 | 10 | 12 | 14 | Hello World 20 | 21 | 22 | -------------------------------------------------------------------------------- /samples/opacity.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /samples/path/path-double.svg: -------------------------------------------------------------------------------- 1 | 2 | Person 2 Rectangle 3 | 4 | -------------------------------------------------------------------------------- /samples/path/path_circle.svg: -------------------------------------------------------------------------------- 1 | 2 | Person Circle 3 | 4 | -------------------------------------------------------------------------------- /samples/path/path_fill.svg: -------------------------------------------------------------------------------- 1 | 3 | Example triangle01- simple example of a 'path' 4 | A path that draws a triangle 5 | 6 | 7 | -------------------------------------------------------------------------------- /samples/polygons/polygon_A.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /samples/polygons/polygon_A_1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /samples/polygons/polygon_A_2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /samples/polygons/polygon_plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /samples/polyline.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /samples/rect.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /samples/redline.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /samples/roundedrect.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 13 | 15 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /samples/scale/scale3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /samples/scale/scale4.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /samples/scale/scaleTo1.svg: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/scale/scaleTo2.svg: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /samples/scripts/crocodile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hervegirod/fxsvgimage/fe0cab840d214fb4e2da5e835c3f62c6c1006678/samples/scripts/crocodile.png -------------------------------------------------------------------------------- /samples/scripts/testButton.groovy: -------------------------------------------------------------------------------- 1 | import javafx.scene.*; 2 | import javafx.scene.layout.*; 3 | import javafx.scene.control.*; 4 | 5 | public Node getContent() { 6 | Button button = new Button("TOTO"); 7 | return button; 8 | } 9 | -------------------------------------------------------------------------------- /samples/scripts/testGraphics.groovy: -------------------------------------------------------------------------------- 1 | import javafx.scene.*; 2 | import javafx.scene.layout.*; 3 | import javafx.scene.shape.*; 4 | import javafx.scene.paint.*; 5 | 6 | public Node getContent() { 7 | Line line = new Line(0, 0, 200, 200); 8 | line.getStrokeDashArray().addAll(25d, 20d, 5d, 20d); 9 | return line; 10 | } 11 | -------------------------------------------------------------------------------- /samples/scripts/testImage.groovy: -------------------------------------------------------------------------------- 1 | import javafx.scene.*; 2 | import javafx.scene.image.*; 3 | import javafx.scene.layout.*; 4 | import javafx.scene.shape.*; 5 | import javax.swing.text.html.*; 6 | 7 | import javafx.scene.paint.*; 8 | 9 | public Node getContent() { 10 | File dir = context.getScriptDirectory(); 11 | File imgFile = new File(dir, "crocodile.png"); 12 | Image im = new Image(imgFile.toURL().toString()); 13 | ImageView view = new ImageView(); 14 | view.setImage(im); 15 | view.setFitWidth(100); 16 | view.setFitHeight(100); 17 | return view; 18 | } 19 | -------------------------------------------------------------------------------- /samples/scripts/testImage2.groovy: -------------------------------------------------------------------------------- 1 | import javafx.scene.*; 2 | import javafx.scene.image.*; 3 | import javafx.scene.layout.*; 4 | import javafx.scene.shape.*; 5 | import javax.swing.text.html.*; 6 | 7 | import javafx.scene.paint.*; 8 | 9 | public Node getContent() { 10 | File dir = context.getScriptDirectory(); 11 | File imgFile = new File(dir, "crocodile.png"); 12 | Image im = new Image(imgFile.toURL().toString()); 13 | ImageView view = new ImageView(); 14 | view.setImage(im); 15 | view.setStyle("-fx-opacity: 0.5;"); 16 | view.setFitWidth(100); 17 | view.setFitHeight(100); 18 | return view; 19 | } 20 | -------------------------------------------------------------------------------- /samples/scripts/testInteractive.groovy: -------------------------------------------------------------------------------- 1 | import javafx.scene.*; 2 | import javafx.scene.layout.*; 3 | import javafx.collections.*; 4 | import javafx.scene.control.*; 5 | 6 | public Node getContent() { 7 | VBox pane = new VBox(); 8 | Button button = new Button("TOTO"); 9 | pane.getChildren().add(button); 10 | CheckBox checkbox = new CheckBox("Check"); 11 | checkbox.setSelected(true); 12 | pane.getChildren().add(checkbox); 13 | ObservableList names = FXCollections.observableArrayList("Julia", "Ian", "Sue", "Matthew"); 14 | ListView listView = new ListView(names); 15 | pane.getChildren().add(listView); 16 | return pane; 17 | } 18 | -------------------------------------------------------------------------------- /samples/scripts/testLine.groovy: -------------------------------------------------------------------------------- 1 | import javafx.scene.*; 2 | import javafx.scene.layout.*; 3 | import javafx.scene.shape.*; 4 | import javafx.scene.paint.*; 5 | 6 | public Node getContent() { 7 | Line line = new Line(0, 0, 200, 200); 8 | return line; 9 | } 10 | -------------------------------------------------------------------------------- /samples/scripts/testRect.groovy: -------------------------------------------------------------------------------- 1 | import javafx.scene.*; 2 | import javafx.scene.layout.*; 3 | import javafx.scene.shape.*; 4 | import javafx.scene.paint.*; 5 | 6 | public Node getContent() { 7 | Rectangle rect = new Rectangle(0, 0, 200, 200); 8 | rect.setFill(Color.YELLOW); 9 | return rect; 10 | } 11 | -------------------------------------------------------------------------------- /samples/text/fontSizeSmall.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 101° 9 | 10 | 11 | 12 | 13 | 14 | 11° 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /samples/text/fontSizeSmall2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 97° 13 | 98° 14 | 99° 15 | 100° 16 | 101° 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 10° 33 | 11° 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /samples/text/rotatedText.svg: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Design 8 | 9 | 10 | -------------------------------------------------------------------------------- /samples/text/simpletext.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 39 | 41 | 42 | 44 | image/svg+xml 45 | 47 | 48 | 49 | 50 | 51 | 55 | Hello World 66 | 67 | 68 | -------------------------------------------------------------------------------- /samples/text/simpletext2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | 12 | 13 | 14 | Hello World 15 | 16 | 17 | -------------------------------------------------------------------------------- /samples/text/simpletext2script.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | 13 | 15 | 21 | Hello 22 | World 23 | 24 | 25 | -------------------------------------------------------------------------------- /samples/text/simpletext2spans.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | 13 | 15 | 21 | Hello 22 | World 23 | 24 | 25 | -------------------------------------------------------------------------------- /samples/text/simpletext2spans2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | 13 | 15 | 20 | Hello 21 | World 22 | 23 | 24 | -------------------------------------------------------------------------------- /samples/text/simpletext2spans3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | 13 | 15 | 20 | Hello 21 | World 22 | 23 | 24 | -------------------------------------------------------------------------------- /samples/text/simpletext2spans4.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | 12 | 13 | 14 | 15 | Hello 16 | World 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /samples/text/simpletextUnderline.svg: -------------------------------------------------------------------------------- 1 | 2 | 10 | 12 | 14 | Hello World 23 | 24 | 25 | -------------------------------------------------------------------------------- /samples/text/simpletextUnderlinestrike.svg: -------------------------------------------------------------------------------- 1 | 2 | 10 | 12 | 14 | Hello World 23 | 24 | 25 | -------------------------------------------------------------------------------- /samples/text/strokedasharay2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /samples/text/textstyle2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Tree Growth 6 | 7 | 8 | example of line plot 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/text/tspan.svg: -------------------------------------------------------------------------------- 1 | 2 | I Love 3 | SVG! 4 | 5 | 6 | -------------------------------------------------------------------------------- /samples/transforms/matrix1.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /samples/transforms/matrix2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 1 23 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /samples/transforms/matrix3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | 12 | 1 22 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /samples/transforms/matrix4.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 19 | 20 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /samples/transforms/rectangleMatrix.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /samples/transforms/rotate1.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /samples/transforms/rotate2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /samples/transforms/scale1.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /samples/transforms/scale2.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /samples/transforms/scale3.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /samples/transforms/scale4.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /samples/transforms/skew1.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/transforms/skew2.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/transforms/transform1.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 6 | 7 | Hello World 8 | 9 | -------------------------------------------------------------------------------- /samples/transforms/transform2.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 6 | 8 | 9 | -------------------------------------------------------------------------------- /samples/transforms/transform3.svg: -------------------------------------------------------------------------------- 1 | 4 | 20 | 21 | 22 | 23 | 0,0 24 | TR 25 | 26 | -------------------------------------------------------------------------------- /samples/transforms/transform4.svg: -------------------------------------------------------------------------------- 1 | 4 | 20 | 21 | 22 | 23 | 0,0 24 | RT 25 | 26 | -------------------------------------------------------------------------------- /samples/transforms/transform5.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /samples/transforms/translate1.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /samples/use/heart.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /samples/use/symbol.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /samples/use/symbol2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /samples/use/symbol3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /samples/use/use.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /samples/viewport/circle100.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /samples/viewport/circleViewport.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /samples/viewport/circleViewport2.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /samples/viewport/rect100.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/browser/manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Main-Class: org.girod.javafx.svgimage.browser.SVGBrowser 3 | Automatic-Module-Name: org.girod.javafx.svgimage.browser 4 | Class-Path: fxsvgImage.jar 5 | -------------------------------------------------------------------------------- /src/browser/org/girod/javafx/svgimage/browser/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | The SVG browser. 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/browser/org/girod/javafx/svgimage/browser/zoomIn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hervegirod/fxsvgimage/fe0cab840d214fb4e2da5e835c3f62c6c1006678/src/browser/org/girod/javafx/svgimage/browser/zoomIn.png -------------------------------------------------------------------------------- /src/browser/org/girod/javafx/svgimage/browser/zoomOut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hervegirod/fxsvgimage/fe0cab840d214fb4e2da5e835c3f62c6c1006678/src/browser/org/girod/javafx/svgimage/browser/zoomOut.png -------------------------------------------------------------------------------- /src/core/manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Main-Class: org.girod.javafx.svgimage.Main 3 | Automatic-Module-Name: org.girod.javafx.svgimage 4 | -------------------------------------------------------------------------------- /src/core/org/girod/javafx/svgimage/ScaleQuality.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2022, Hervé Girod 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | 1. Redistributions of source code must retain the above copyright notice, this 9 | list of conditions and the following disclaimer. 10 | 11 | 2. Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | 15 | 3. Neither the name of the copyright holder nor the names of its 16 | contributors may be used to endorse or promote products derived from 17 | this software without specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 22 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 23 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 25 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 27 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | Alternatively if you have any questions about this project, you can visit 31 | the project website at the project page on https://github.com/hervegirod/fxsvgimage 32 | */ 33 | package org.girod.javafx.svgimage; 34 | 35 | /** 36 | * The scale quality used when scaling SVG images. 37 | * 38 | * @since 1.0 39 | */ 40 | public interface ScaleQuality { 41 | /** 42 | * This value specifies that the JavaFX scaling will be used. 43 | */ 44 | public static short RENDER_SPEED = 0; 45 | /** 46 | * This value specifies that the scaling will be performed at the SVGImage Node level before saving the snapshot. 47 | */ 48 | public static short RENDER_QUALITY = 1; 49 | } 50 | -------------------------------------------------------------------------------- /src/core/org/girod/javafx/svgimage/fxsvgimage.properties: -------------------------------------------------------------------------------- 1 | version=1.3 2 | date=05/05/2025 3 | -------------------------------------------------------------------------------- /src/core/org/girod/javafx/svgimage/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | The main package of the library. 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/core/org/girod/javafx/svgimage/xml/builders/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | This package contains builders used in the construction of the JavaFX tree. 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/core/org/girod/javafx/svgimage/xml/parsers/SVGLibraryException.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2021, 2022 Hervé Girod 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | 1. Redistributions of source code must retain the above copyright notice, this 9 | list of conditions and the following disclaimer. 10 | 11 | 2. Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | 15 | 3. Neither the name of the copyright holder nor the names of its 16 | contributors may be used to endorse or promote products derived from 17 | this software without specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 22 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 23 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 25 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 27 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | Alternatively if you have any questions about this project, you can visit 31 | the project website at the project page on https://github.com/hervegirod/fxsvgimage 32 | */ 33 | package org.girod.javafx.svgimage.xml.parsers; 34 | 35 | /** 36 | * The exception which can be thrown by the library. 37 | * 38 | * @version 1.0 39 | */ 40 | public class SVGLibraryException extends RuntimeException { 41 | public SVGLibraryException(String message) { 42 | super(message); 43 | } 44 | 45 | public SVGLibraryException(String message, Throwable cause) { 46 | super(message, cause); 47 | } 48 | 49 | public SVGLibraryException(Throwable cause) { 50 | super(cause); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/core/org/girod/javafx/svgimage/xml/parsers/SVGParsingException.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2021, 2022 Hervé Girod 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | 1. Redistributions of source code must retain the above copyright notice, this 9 | list of conditions and the following disclaimer. 10 | 11 | 2. Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | 15 | 3. Neither the name of the copyright holder nor the names of its 16 | contributors may be used to endorse or promote products derived from 17 | this software without specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 22 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 23 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 25 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 27 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | Alternatively if you have any questions about this project, you can visit 31 | the project website at the project page on https://github.com/hervegirod/fxsvgimage 32 | */ 33 | package org.girod.javafx.svgimage.xml.parsers; 34 | 35 | /** 36 | * The exception which can be thrown by the library. 37 | * 38 | * @version 1.0 39 | */ 40 | public class SVGParsingException extends SVGLibraryException { 41 | public SVGParsingException(String message) { 42 | super(message); 43 | } 44 | 45 | public SVGParsingException(String message, Throwable cause) { 46 | super(message, cause); 47 | } 48 | 49 | public SVGParsingException(Throwable cause) { 50 | super(cause); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/core/org/girod/javafx/svgimage/xml/parsers/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | This package contains parsers allowing to get a tree of Nodes from an XML file. 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/core/org/girod/javafx/svgimage/xml/parsers/xmltree/ElementNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 Hervé Girod 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | 1. Redistributions of source code must retain the above copyright notice, this 9 | list of conditions and the following disclaimer. 10 | 11 | 2. Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | 15 | 3. Neither the name of the copyright holder nor the names of its 16 | contributors may be used to endorse or promote products derived from 17 | this software without specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 22 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 23 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 25 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 27 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | Alternatively if you have any questions about this project, you can visit 31 | the project website at the project page on https://github.com/hervegirod/fxsvgimage 32 | */ 33 | package org.girod.javafx.svgimage.xml.parsers.xmltree; 34 | 35 | /** 36 | * A node in an XML content, which can be an XML element or a text node. 37 | * 38 | * @since 1.3 39 | */ 40 | public interface ElementNode { 41 | /** 42 | * Return the element parent. 43 | * 44 | * @return the element parent 45 | */ 46 | public XMLNode getParent(); 47 | 48 | /** 49 | * Return the text content for the node. 50 | * 51 | * @return the text content 52 | */ 53 | public String getText(); 54 | } 55 | -------------------------------------------------------------------------------- /src/core/org/girod/javafx/svgimage/xml/parsers/xmltree/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | This package contains the utility classes which allows to create a xml tree from the svg content. The tree is created prior to decode the dvg content. 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/core/org/girod/javafx/svgimage/xml/specs/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | This package contains the specifications used for elements in a SVG tree. 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/tosvg/manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Automatic-Module-Name: org.girod.javafx.svgimage.converter 3 | -------------------------------------------------------------------------------- /src/tosvg/org/girod/javafx/svgimage/tosvg/converters/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |

Contains the converters used to convert types of JavaFX Nodes. 9 |

10 | 11 | 12 | -------------------------------------------------------------------------------- /src/tosvg/org/girod/javafx/svgimage/tosvg/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | The main package of the library ro convert a Javafx tree to a SVG file. 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/tosvg/org/girod/javafx/svgimage/tosvg/utils/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |

Contains utilities classes used by the library. 9 |

10 | 11 | 12 | -------------------------------------------------------------------------------- /src/tosvg/org/girod/javafx/svgimage/tosvg/wrappers/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | These classes wrap Javafx constructs. 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/tosvg/org/girod/javafx/svgimage/tosvg/xml/SVGConstants.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2022, Hervé Girod 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | 1. Redistributions of source code must retain the above copyright notice, this 9 | list of conditions and the following disclaimer. 10 | 11 | 2. Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | 15 | 3. Neither the name of the copyright holder nor the names of its 16 | contributors may be used to endorse or promote products derived from 17 | this software without specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 22 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 23 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 25 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 27 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | Alternatively if you have any questions about this project, you can visit 31 | the project website at the project page on https://github.com/hervegirod/fxsvgimage 32 | */ 33 | package org.girod.javafx.svgimage.tosvg.xml; 34 | 35 | /** 36 | * Hold a SVG constant. 37 | * 38 | * @since 1.0 39 | */ 40 | public class SVGConstants { 41 | public static String XMNLS_SVG = "http://www.w3.org/2000/svg"; 42 | public static String XLINK = "http://www.w3.org/1999/xlink"; 43 | } 44 | -------------------------------------------------------------------------------- /src/tosvg/org/girod/javafx/svgimage/tosvg/xml/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | This package contains a parser allowing to get a tree of Nodes from an XML file. 9 | 10 | 11 | -------------------------------------------------------------------------------- /test/org/girod/javafx/loaders/TestBorderPaneImage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license 3 | * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template 4 | */ 5 | package org.girod.javafx.loaders; 6 | 7 | import java.io.File; 8 | import javafx.application.Application; 9 | import static javafx.application.Application.launch; 10 | import javafx.event.EventHandler; 11 | import javafx.scene.Group; 12 | import javafx.scene.Scene; 13 | import javafx.scene.layout.BorderPane; 14 | import javafx.scene.layout.StackPane; 15 | import javafx.stage.FileChooser; 16 | import javafx.stage.Stage; 17 | import javafx.stage.WindowEvent; 18 | import org.girod.javafx.svgimage.SVGImage; 19 | import org.girod.javafx.svgimage.SVGImageRegion; 20 | import org.girod.javafx.svgimage.SVGLoader; 21 | import org.girod.javafx.svgimage.xml.parsers.SVGParsingException; 22 | 23 | /** 24 | * 25 | * @author herve 26 | */ 27 | public class TestBorderPaneImage extends Application { 28 | public static void main(String[] args) { 29 | launch(args); 30 | } 31 | 32 | @Override 33 | public void start(Stage stage) { 34 | stage.setTitle("TestSVGLoaderFX"); 35 | 36 | stage.setOnCloseRequest(new EventHandler() { 37 | @Override 38 | public void handle(WindowEvent t) { 39 | System.exit(0); 40 | } 41 | }); 42 | 43 | FileChooser fileChooser = new FileChooser(); 44 | fileChooser.setInitialDirectory(new File(System.getProperty("user.dir"))); 45 | File file = fileChooser.showOpenDialog(stage); 46 | if (file != null) { 47 | try { 48 | SVGImage svgImg = SVGLoader.load(file); 49 | SVGImageRegion region = svgImg.createRegion(); 50 | region.setConform(true); 51 | BorderPane borderPane = new BorderPane(); 52 | borderPane.setCenter(region); 53 | stage.setScene(new Scene(borderPane, 300, 250)); 54 | stage.show(); 55 | } catch (SVGParsingException e) { 56 | Throwable th = e.getCause(); 57 | th.printStackTrace(); 58 | } 59 | } else { 60 | System.exit(0); 61 | } 62 | } 63 | 64 | } 65 | -------------------------------------------------------------------------------- /test/org/girod/javafx/loaders/TestTimeline.java: -------------------------------------------------------------------------------- 1 | package org.girod.javafx.loaders; 2 | 3 | import javafx.animation.KeyFrame; 4 | import javafx.animation.KeyValue; 5 | import javafx.animation.Timeline; 6 | import javafx.application.Application; 7 | import javafx.scene.Group; 8 | import javafx.scene.Scene; 9 | import javafx.scene.paint.Color; 10 | import javafx.scene.shape.Rectangle; 11 | import javafx.stage.Stage; 12 | import javafx.util.Duration; 13 | 14 | public class TestTimeline extends Application { 15 | 16 | public static void main(String[] args) { 17 | launch(args); 18 | } 19 | 20 | @Override 21 | public void start(Stage primaryStage) { 22 | Group root = new Group(); 23 | Scene scene = new Scene(root, 800, 600); 24 | primaryStage.setScene(scene); 25 | Rectangle rect = new Rectangle(100, 100, 50, 50); 26 | root.getChildren().add(rect); 27 | rect.setFill(Color.BLUE); 28 | 29 | Timeline timeline = new Timeline(); 30 | KeyFrame kf0 = new KeyFrame(Duration.ZERO, new KeyValue(rect.xProperty(), 0)); 31 | KeyFrame kf1 = new KeyFrame(Duration.seconds(10), new KeyValue(rect.xProperty(), 100)); 32 | timeline.getKeyFrames().addAll(kf0, kf1); 33 | timeline.play(); 34 | 35 | primaryStage.show(); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /test/org/girod/javafx/loaders/TestTimeline2.java: -------------------------------------------------------------------------------- 1 | package org.girod.javafx.loaders; 2 | 3 | import javafx.animation.*; 4 | import javafx.application.Application; 5 | import javafx.scene.*; 6 | import javafx.scene.control.Label; 7 | import javafx.scene.layout.StackPane; 8 | import javafx.stage.Stage; 9 | import javafx.util.Duration; 10 | 11 | public class TestTimeline2 extends Application { 12 | @Override 13 | public void start(Stage stage) { 14 | Label label = new Label("Blinking"); 15 | label.setStyle("-fx-text-fill: red; -fx-padding: 10px;"); 16 | 17 | Timeline blinker = createBlinker(label); 18 | 19 | stage.setScene(new Scene(new StackPane(label), 100, 50)); 20 | stage.show(); 21 | 22 | blinker.play(); 23 | } 24 | 25 | private Timeline createBlinker(Node node) { 26 | Timeline blink = new Timeline( 27 | new KeyFrame( 28 | Duration.seconds(0), 29 | new KeyValue( 30 | node.opacityProperty(), 31 | 1, 32 | Interpolator.DISCRETE 33 | ) 34 | ), 35 | new KeyFrame( 36 | Duration.seconds(0.5), 37 | new KeyValue( 38 | node.opacityProperty(), 39 | 0, 40 | Interpolator.DISCRETE 41 | ) 42 | ), 43 | new KeyFrame( 44 | Duration.seconds(1), 45 | new KeyValue( 46 | node.opacityProperty(), 47 | 1, 48 | Interpolator.DISCRETE 49 | ) 50 | ) 51 | ); 52 | blink.setCycleCount(1); 53 | 54 | return blink; 55 | } 56 | 57 | private FadeTransition createFader(Node node) { 58 | FadeTransition fade = new FadeTransition(Duration.seconds(2), node); 59 | fade.setFromValue(1); 60 | fade.setToValue(0); 61 | 62 | return fade; 63 | } 64 | 65 | public static void main(String[] args) { 66 | launch(args); 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /test/org/girod/javafx/loaders/TestTransition.java: -------------------------------------------------------------------------------- 1 | package org.girod.javafx.loaders; 2 | 3 | import javafx.animation.TranslateTransition; 4 | import javafx.application.Application; 5 | import javafx.scene.Group; 6 | import javafx.scene.Scene; 7 | import javafx.scene.paint.Color; 8 | import javafx.scene.shape.Rectangle; 9 | import javafx.stage.Stage; 10 | import javafx.util.Duration; 11 | 12 | public class TestTransition extends Application { 13 | 14 | public static void main(String[] args) { 15 | launch(args); 16 | } 17 | 18 | @Override 19 | public void start(Stage primaryStage) { 20 | Group root = new Group(); 21 | Rectangle rect = new Rectangle(100, 100, 50, 50); 22 | rect.setFill(Color.BLUE); 23 | 24 | TranslateTransition translate = new TranslateTransition(Duration.seconds(10), rect); 25 | translate.setFromX(20); 26 | translate.setToX(500); 27 | 28 | root.getChildren().add(rect); 29 | translate.play(); 30 | Scene scene = new Scene(root, 800, 600); 31 | primaryStage.setScene(scene); 32 | 33 | primaryStage.show(); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 39 | 41 | 42 | 44 | image/svg+xml 45 | 47 | 48 | 49 | 50 | 51 | 55 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/circle2.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | Example circle01 - circle filled with red and stroked with blue 7 | 8 | 10 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/ellipse.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | Example ellipse01 - examples of ellipses 7 | 8 | 10 | 11 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/feMerge2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/issue1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0,5 10 | 11 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/issue1_2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0,5 10 | 11 | 12 | 0,0 13 | 14 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/issue1_3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,5 11 | 12 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/line-default.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/line-unit-pt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/line.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | Example line01 - lines expressed in user coordinates 7 | 9 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/logo_Simplified.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 16 | 17 | 18 | 21 | 22 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/no-rendered-units.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/path.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | Example triangle01- simple example of a 'path' 7 | A path that draws a triangle 8 | 10 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/polygon-not-rendered.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/polygon.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | Example polygon01 - star and hexagon 7 | 8 | 12 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/polygon_A.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/polygon_plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/polyline-not-rendered.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | Example polyline01 - increasingly larger bars 7 | 8 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/polyline.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | Example polyline01 - increasingly larger bars 7 | 8 | 16 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/rect.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 8 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/rect200.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 8 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/rect200_1.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 8 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/rect50.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/space-transforms.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/strokeDashed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0,5 10 | 11 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/strokedasharayNone.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/use-lost.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/xml/parsers/xmltree/circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 25 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/xml/parsers/xmltree/simpletext.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | 12 | 13 | 14 | Hello World 15 | 16 | 17 | -------------------------------------------------------------------------------- /test/org/girod/javafx/svgimage/xml/parsers/xmltree/tspan.svg: -------------------------------------------------------------------------------- 1 | 2 | I Love 3 | SVG! 4 | 5 | 6 | -------------------------------------------------------------------------------- /testlib/INTENTIONALLY_EMPTY: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /web/soft/INTENTIONALLY_EMPTY: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /web/soft/docgenerator.conf: -------------------------------------------------------------------------------- 1 | JAVAHOME= 2 | JAVAFXLIB=C:\Program Files\Java\javafx-sdk-21.0.2\lib 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /web/source/browser/browser.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | You can start the built-in browser by double-clicking on the fxsvgBrowser.jar jar file. 5 | 6 | 7 | 8 | The browser allows to: 9 | <ul> 10 | <li>Open a SVG file using the library</li> 11 | <li>Save the opened SVG file as a png of jpeg image</li> 12 | <li>Refresh the currently selected image</li> 13 | </ul> 14 | 15 | <title title="zooming" /> 16 | You can zoom or dezoom the image by using the mouse wheel or the zoom commands. 17 | 18 | <title title="Refresh the currently selected image" /> 19 | You can refresh the currently selected image by right clicking on the selected tab and select "Refresh". It can be useful if you have modified the 20 | associated SVG file externally. 21 | 22 | <cat id="browser" /> 23 | </article> 24 | -------------------------------------------------------------------------------- /web/source/categoriesDesc.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <categories> 3 | <category id="general" desc="General informations" /> 4 | <category id="fromsvg" desc="Concerns the built-in library allowing to convert a SVG file to a JavaFX tree" /> 5 | <category id="support" desc="Informations about the support for the SVG standard specification" /> 6 | <category id="browser" desc="Concerns the built-in svg browser" /> 7 | <category id="tosvg" desc="Concerns the built-in library allowing to convert a JavaFX trre to a SVG file" /> 8 | </categories> 9 | -------------------------------------------------------------------------------- /web/source/config.properties: -------------------------------------------------------------------------------- 1 | javadoc-api=javadoc -------------------------------------------------------------------------------- /web/source/dictionnaryDesc.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <dictionnary> 3 | The wiki has ${count} articles. 4 | </dictionnary> 5 | -------------------------------------------------------------------------------- /web/source/distrib.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <article desc="distribution" > 3 | <meta desc="This article is about the distribution of the tool" /> 4 | 5 | <title title="SVG to JavaFX conversion usage" /> 6 | The <code>fxsvgImage.jar</code> jar file contains the code to convert a svg file to a JavaFX Node tree. 7 | 8 | <title title="SVG browser" /> 9 | The <code>fxsvgBrowser.jar</code> jar file contains the browser. It depends on the <code>fxsvgImage.jar</code> jar file which must be on the Classpath, or 10 | in the same directory. 11 | 12 | <title title="JavaFX to svg conversion usage" /> 13 | The <code>fxsvgConverter.jar</code> jar file contains the code to convert a JavaFX Node tree to a svg file. 14 | 15 | <cat id="general" /> 16 | </article> 17 | -------------------------------------------------------------------------------- /web/source/faq.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <article desc="FAQ" > 3 | <meta desc="Frequently Asked Questions" /> 4 | 5 | <title title="What is fxsvgImage?"/> 6 | The fxsvgImage allows to convert a SVG file to a JavaFX Node tree or an Image. 7 | 8 | Note that contrary to other existing libraries, this library has no external dependencies (including Batik) 9 | 10 | <title title="Which version of Java should I use?"/> 11 | The latest version of the project require Java 8. 12 | 13 | <cat id="general" /> 14 | </article> 15 | -------------------------------------------------------------------------------- /web/source/footer.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <footer desc="Copyright 2021-2022 Herve Girod. All Rights Reserved. Documentation and source under the BSD-3-Clause License"/> 3 | -------------------------------------------------------------------------------- /web/source/fromsvg/support/clippath.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <article desc="clipPath support" keepCase="true"> 3 | <meta desc="This article presents the support for SVG clipPath specification" /> 4 | The library support the <code>clip-path</code> and <code>mask</code> attributes for all elements<note>See 5 | <a href="https://www.w3.org/TR/SVG11/masking.html">Clipping, Masking and Compositing</a> 6 | </note>. 7 | 8 | The following attributes are supported at the <code>clipPath</code> declaration level: 9 | <ul> 10 | <li> 11 | <code>id</code>: the id of the clipping path</li> 12 | <li> 13 | <code>transform</code>: the optional transform to apply to the clipping path</li> 14 | <li> 15 | <code>clipPathUnits</code>: the optional units for the specification of the clipping path</li> 16 | </ul> 17 | 18 | <title title="supported shapes" /> 19 | All basic shapes are supported to construct the clips: 20 | <ul> 21 | <li> 22 | <code>rect</code> 23 | </li> 24 | <li> 25 | <code>circle</code> 26 | </li> 27 | <li> 28 | <code>ellipse</code> 29 | </li> 30 | <li> 31 | <code>polyline</code> 32 | </li> 33 | <li> 34 | <code>polygon</code> 35 | </li> 36 | <li> 37 | <code>path</code> 38 | </li> 39 | <li> 40 | <code>text</code> 41 | </li> 42 | </ul> 43 | 44 | <title title="example"/> 45 | <pre syntax="xml"> 46 | <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 47 | <defs> 48 | <clipPath id="cut-off-bottom"> 49 | <rect x="0" y="0" width="200" height="100" /> 50 | </clipPath> 51 | </defs> 52 | <circle cx="100" cy="100" r="100" clip-path="url(#cut-off-bottom)" /> 53 | </svg> 54 | </pre> 55 | Will have the following result: 56 | <img id="clippath" /> 57 | 58 | <title title="limitations"/> 59 | <ul> 60 | <li>The <code>clipPathUnits</code> attribute is not supported</li> 61 | <li>The <code>clip-rule</code> attribute is supported only for the <code>path</code> element</li> 62 | </ul> 63 | 64 | <cat id="fromsvgsupport" /> 65 | </article> 66 | -------------------------------------------------------------------------------- /web/source/fromsvg/support/stroke.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <article desc="Strokes support"> 3 | <altTitle desc="stroke properties" /> 4 | <meta desc="This article presents the support for strokes" /> 5 | The following attributes are supported for strokes<note>See <a href="https://www.w3.org/TR/SVG11/painting.html#StrokeProperties">Stroke Properties</a></note>: 6 | <ul> 7 | <li> 8 | <code>stroke-width</code> 9 | </li> 10 | <li> 11 | <code>stroke-dasharray</code> 12 | </li> 13 | <li> 14 | <code>stroke-linecap</code> 15 | </li> 16 | <li> 17 | <code>stroke-linejoin</code> 18 | </li> 19 | <li> 20 | <code>stroke-miterlimit</code> 21 | </li> 22 | </ul> 23 | 24 | <title title="example"/> 25 | <pre syntax="xml"> 26 | <svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" 27 | xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200" viewBox="0 0 200 200"> 28 | <g> 29 | <rect style="stroke-width:4;stroke-dasharray:5 5;" height="100" x="50" y="50" /> 30 | </g> 31 | </svg> 32 | </pre> 33 | 34 | <see id="svg styling support" /> 35 | <cat id="fromsvgsupport" /> 36 | </article> 37 | -------------------------------------------------------------------------------- /web/source/fromsvg/support/support.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <article desc="SVG support"> 3 | <meta desc="This article presents the support for SVG specification" /> 4 | 5 | This library supports: 6 | <ul> 7 | <li>px, pt, cm, mm, on, and % units. See also <ref id="units support" /></li> 8 | <li>filters. See also <ref id="filters support" /></li> 9 | <li>clip paths and masks. See also <ref id="clipPath support" /></li> 10 | <li>linear and radial gradients. See also <ref id="Gradients support" /></li> 11 | <li>the <code>style</code> element. See also <ref id="svg styling support#support for styles specified in the style element" desc="support for styles specified in the style element" /></li> 12 | <li>rect, circle, ellipse, path, polygon, polyline, line, image, text, tspan elements. 13 | See also <ref id="SVG shapes support" /> 14 | </li> 15 | <li>the <code>symbol</code> element. See also <ref id="symbol element support" /></li> 16 | <li>the <code>use</code> element. See also <ref id="use element support" /></li> 17 | <li>fill, stroke, style, class attributes. See also <ref id="svg styling support" /></li> 18 | <li>transform attributes. See also <ref id="svg transform support" /></li> 19 | <li>animations. See also <ref id="svg animations support" /></li> 20 | <li>The viewport on the SVG root. See also <ref id="SVG root support" /></li> 21 | </ul> 22 | Note that the support is mainly for SVG 1.1, but some SVG 1.2 constructs are also supported. 23 | 24 | <title title="limitations"/> 25 | <ul> 26 | <li>Radial gradients which use absolute values for their definitions do not work correctly for the moment</li> 27 | <li>Some filters are not handled</li> 28 | </ul> 29 | 30 | <cat id="fromsvgsupport" /> 31 | </article> 32 | -------------------------------------------------------------------------------- /web/source/fromsvg/support/svg.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <article desc="SVG root support"> 3 | <meta desc="This article presents the support for SVG root element" /> 4 | The SVG root following attributes are supported<note>See <a href="https://www.w3.org/TR/SVG11/struct.html#SVGElement">The svg element</a></note>: 5 | <ul> 6 | <li>The <code>width</code> and <code>height</code> attributes</li> 7 | <li>The <code>viewBox</code> attribute</li> 8 | <li>The <code>preserveAspectRatio</code> attribute</li> 9 | </ul> 10 | 11 | <cat id="fromsvgsupport" /> 12 | </article> 13 | -------------------------------------------------------------------------------- /web/source/fromsvg/support/transform.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <article desc="svg transform support"> 3 | <meta desc="This article presents the support for SVG transform specification" /> 4 | The library support the <code>transform</code> attribute for all elements<note>See 5 | <a href="https://www.w3.org/TR/SVG11/coords.html#TransformAttribute">The transform attribute</a> 6 | </note>. 7 | 8 | The following transformations are supported: 9 | <ul> 10 | <li> 11 | <code>scale</code> 12 | </li> 13 | <li> 14 | <code>scaleX</code> 15 | </li> 16 | <li> 17 | <code>scaleY</code> 18 | </li> 19 | <li> 20 | <code>skewX</code> 21 | </li> 22 | <li> 23 | <code>skewY</code> 24 | </li> 25 | <li> 26 | <code>translate</code> 27 | </li> 28 | <li> 29 | <code>translateX</code> 30 | </li> 31 | <li> 32 | <code>translateY</code> 33 | </li> 34 | <li> 35 | <code>rotate</code> 36 | </li> 37 | <li> 38 | <code>matrix</code> 39 | </li> 40 | </ul> 41 | 42 | Multiple transformations are allowed in the same <code>transform</code> attribute. For example, this 43 | declaration is valid: 44 | <pre syntax="xml"> 45 | <g transform="translate(-10,-20) scale(2) rotate(45) translate(5,10)"> 46 | </g> 47 | </pre> 48 | 49 | <cat id="fromsvgsupport" /> 50 | </article> 51 | -------------------------------------------------------------------------------- /web/source/fromsvg/support/units.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <article desc="units support"> 3 | <meta desc="This article presents the support for SVG length units" /> 4 | The library support the following length and position units 5 | <note>See <a href="https://www.w3.org/TR/SVG11/coords.html">Coordinate Systems, Transformations and Units</a></note>: 6 | <ul> 7 | <li>The <code>px</code>, <code>pt</code>, <code>in</code>, <code>cm</code>, <code>mm</code>, <code>em</code>, and <code>ex</code> units</li> 8 | <li>The <code>%</code> unit</li> 9 | </ul> 10 | 11 | <title title="behavior for the non relative units" /> 12 | <ul> 13 | <li>The computation for the <code>ex</code> unit is an approximation, considering one 1/2 of the <code>em</code> unit</li> 14 | <li>The computation for the <code>em</code> unit does not take inot account for the moment the height of the fonts</li> 15 | </ul> 16 | 17 | <title title="behavior for the % unit" /> 18 | The "%" unit specifies a length or a position relative to the viewport. The library works in the following way: 19 | <ul> 20 | <li>If the <code>with</code> and <code>height</code> attributes are present in the SVG root, they are used 21 | to specify the dimensions of the viewport</li> 22 | <li>Else if the <code>viewBox</code> attribute is present, it will be used to get the width and height of 23 | the viewport</li> 24 | </ul> 25 | 26 | <title level="2" title="limitations" /> 27 | The <code>path</code> element does not currently support the "%" unit. 28 | 29 | <cat id="fromsvgsupport" /> 30 | </article> 31 | -------------------------------------------------------------------------------- /web/source/fromsvg/support/use.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <article desc="use element support"> 3 | <meta desc="This article presents the support for the use element" /> 4 | The library support the <code>use</code> element<note>See <a href="https://www.w3.org/TR/SVG11/struct.html#UseElement">The use element</a></note>. 5 | 6 | The following attributes are supported: 7 | <ul> 8 | <li> 9 | <code>href</code> or <code>xlink:href</code>: specifies the named node to use</li> 10 | <li> 11 | <code>x</code> 12 | </li> 13 | <li> 14 | <code>y</code> 15 | </li> 16 | </ul> 17 | 18 | <title title="example"/> 19 | The following specification: 20 | <pre syntax="xml"> 21 | <svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg"> 22 | <circle id="myCircle" cx="50" cy="50" r="20" stroke="blue"/> 23 | <use href="#myCircle" x="100" fill="blue"/> 24 | <use href="#myCircle" x="150" fill="white" stroke="red"/> 25 | </svg> 26 | </pre> 27 | will have the result: 28 | <img id="use" /> 29 | 30 | <title title="limitations"/> 31 | <ul> 32 | <li>The overriding of attributes is still not correctly supported</li> 33 | </ul> 34 | 35 | <see id="symbol element support" /> 36 | <cat id="fromsvgsupport" /> 37 | </article> 38 | -------------------------------------------------------------------------------- /web/source/fromsvg/svgimageregion.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <article desc="SVGImageRegion"> 3 | <altTitle desc="SVGImageRegion usage" /> 4 | <meta desc="This article presents the usage of the SVGImageRegion class" /> 5 | The <ref id="SVGImage" /> is a <code>Group</code> class. As a <code>Group</code> has no size by itself, it can not be integrated efficiently in a Layout containers (such as 6 | a <code>BorderPane</code>)<note>a <code>Group</code> is not directly resizable</note>. 7 | 8 | To overcomme this problem and allow to integrate a <code>SVGImage</code> in a Layout container, you can use the 9 | <javadoc api="api" path="org.girod.javafx.svgimage.SVGImage" member="createRegion()" /> which will create a 10 | <javadoc api="api" path="org.girod.javafx.svgimage.SVGImageRegion" /> wrapping the <code>SVGImage</code>. 11 | 12 | As the <code>SVGImageRegion</code> is a <code>Region</code>, it can be resized and be fully integrated in a Layout container. 13 | 14 | <title title="image conformity" /> 15 | The only specific method of the <code>SVGImageRegion</code> is the <javadoc api="api" path="org.girod.javafx.svgimage.SVGImageRegion" member="setConform(boolean)"/> 16 | which allow to force the result of the resize to always keep the SVH Image conform (by default the conformity of the result will not be enforced). 17 | 18 | <title title="example" /> 19 | The following example integrates the <code>SVGImage</code> in a <code>BorderPane</code>. The <code>SVGImage</code> will shrink or expand when the stage is resized: 20 | <pre syntax="java"> 21 | SVGImage svgImg = SVGLoader.load(<my SVG file>); 22 | SVGImageRegion region = svgImg.createRegion(); 23 | BorderPane borderPane = new BorderPane(); 24 | borderPane.setCenter(region); 25 | stage.setScene(new Scene(borderPane, 300, 250)); 26 | stage.show(); 27 | </pre> 28 | 29 | <see id="SVGImage" /> 30 | <cat id="fromsvg" /> 31 | </article> 32 | -------------------------------------------------------------------------------- /web/source/header.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <header left="fxsvgImage Version ${version}" right="Generated on ${date}"/> 3 | -------------------------------------------------------------------------------- /web/source/images/browser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hervegirod/fxsvgimage/fe0cab840d214fb4e2da5e835c3f62c6c1006678/web/source/images/browser.png -------------------------------------------------------------------------------- /web/source/images/clippath.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hervegirod/fxsvgimage/fe0cab840d214fb4e2da5e835c3f62c6c1006678/web/source/images/clippath.jpg -------------------------------------------------------------------------------- /web/source/images/images.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <images> 3 | <image id="browser" url="browser.png" /> 4 | <image id="clippath" url="clippath.jpg" /> 5 | <image id="use" url="use.jpg" /> 6 | <image id="lineargradient" url="lineargradient.jpg" /> 7 | <image id="radialgradient" url="radialgradient.jpg" /> 8 | </images> 9 | -------------------------------------------------------------------------------- /web/source/images/lineargradient.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hervegirod/fxsvgimage/fe0cab840d214fb4e2da5e835c3f62c6c1006678/web/source/images/lineargradient.jpg -------------------------------------------------------------------------------- /web/source/images/radialgradient.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hervegirod/fxsvgimage/fe0cab840d214fb4e2da5e835c3f62c6c1006678/web/source/images/radialgradient.jpg -------------------------------------------------------------------------------- /web/source/images/use.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hervegirod/fxsvgimage/fe0cab840d214fb4e2da5e835c3f62c6c1006678/web/source/images/use.jpg -------------------------------------------------------------------------------- /web/source/leftmenu.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <leftMenu onIndex="true"> 3 | <menuItem desc="Download" > 4 | <itemExternalRef url="https://github.com/hervegirod/fxsvgimage/releases/" /> 5 | </menuItem> 6 | <menuItem desc="Project Details" > 7 | <itemExternalRef url="https://github.com/hervegirod/fxsvgimage/" /> 8 | </menuItem> 9 | <menuItem desc="FAQ" > 10 | <itemInternalRef id="FAQ" /> 11 | </menuItem> 12 | <menuItem desc="License" > 13 | <itemInternalRef id="License" /> 14 | </menuItem> 15 | </leftMenu> 16 | 17 | 18 | -------------------------------------------------------------------------------- /web/source/license.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <article desc="license" > 3 | <meta desc="License" /> 4 | The fxsvgImage Library uses a BSD-3-Clause License. 5 | 6 | <cat id="general" /> 7 | </article> 8 | -------------------------------------------------------------------------------- /web/source/sourceforge.properties: -------------------------------------------------------------------------------- 1 | css=sourceforge/sourceforge.css 2 | footer=sourceforge/footer.txt 3 | rightIndexMenu=sourceforge/right.txt -------------------------------------------------------------------------------- /web/source/sourceforge/analytics.js: -------------------------------------------------------------------------------- 1 | var _gaq = _gaq || []; 2 | _gaq.push(['_setAccount', 'UA-20807387-1']); 3 | _gaq.push(['_trackPageview']); 4 | 5 | (function () { 6 | var ga = document.createElement('script'); 7 | ga.type = 'text/javascript'; 8 | ga.async = true; 9 | ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 10 | var s = document.getElementsByTagName('script')[0]; 11 | s.parentNode.insertBefore(ga, s); 12 | })(); -------------------------------------------------------------------------------- /web/source/sourceforge/footer.txt: -------------------------------------------------------------------------------- 1 | <p> 2 | <a href="http://sourceforge.net/"> 3 | Project Web Hosted by <img src="index.php_files/sflogo.gif" alt="SourceForge.net"> 4 | </a> 5 | Copyright 1999-2010 - 6 | <a href="http://geek.net/" title="Network which provides and promotes Open Source software downloads, development, discussion and news."> 7 | Geeknet</a>, Inc., All Rights Reserved 8 | <a href="http://sourceforge.net/about"> 9 | About 10 | </a> 11 | - 12 | <a href="http://sourceforge.net/tos/tos.php"> 13 | Legal 14 | </a> 15 | - 16 | <a href="http://p.sf.net/sourceforge/getsupport"> 17 | Help 18 | </a> 19 | </p> -------------------------------------------------------------------------------- /web/source/sourceforge/right.txt: -------------------------------------------------------------------------------- 1 | <h2> 2 | Developers 3 | </h2> 4 | <h3> 5 | Join this project: 6 | </h3> 7 | <p> 8 | To join this project, please 9 | contact the project administrators of this project, as shown on the 10 | <a href="http://sourceforge.net/projects/fxsvgimage/">project summary page</a>. 11 | </p> 12 | <h3> 13 | Get the source code: 14 | </h3> 15 | <p> 16 | Source code for this project is available as <a href="http://sourceforge.net/projects/fxsvgimage/files">downloads</a> 17 | or through the git repository used by the project, as accessible from the 18 | <a href="https://github.com/hervegirod/fxsvgimage">github develop page</a>. 19 | </p> 20 | -------------------------------------------------------------------------------- /web/source/sourceforge/sourceforge.css: -------------------------------------------------------------------------------- 1 | div.bottomAdditional 2 | { 3 | text-align: center; 4 | font-size: 80%; 5 | } 6 | 7 | div.middleForIDX 8 | { 9 | float: left; 10 | width: 60%; 11 | margin: 0; 12 | } 13 | 14 | div.right 15 | { 16 | float: left; 17 | width: 20%; 18 | font-size: 80%; 19 | } 20 | 21 | div.left 22 | { 23 | background: url("http://j661.sourceforge.net/prweb-sidebar.png") top left fixed no-repeat, #f5faff; 24 | padding: 0px 0px 0px 25px; 25 | } -------------------------------------------------------------------------------- /web/source/tosvg/parameters.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <article desc="Converter Parameters"> 3 | <altTitle desc="ConverterParameters" /> 4 | <meta desc="This article presents the usage of the SVGConverter parameters" /> 5 | The <javadoc api="api" path="org.girod.javafx.svgimage.tosvg.ConverterParameters" /> class allows to configure the exporting of the JavaFX tree to a SVG file 6 | with the <ref id="SVGConverter" />. 7 | 8 | <title title="parameters" /> 9 | <title level="2" title="width" keepCase="true"/> 10 | The <code>width</code> parameter allows to set the width of the resulting svg document. If not set, by default the width will be the width 11 | of the root node bounds. 12 | 13 | <title level="2" title="height" keepCase="true"/> 14 | The <code>height</code> parameter allows to set the height of the resulting svg document. If not set, by default the width will be the height 15 | of the root node bounds. 16 | 17 | <title level="2" title="hasViewbox" keepCase="true"/> 18 | The <code>hasViewbox</code> parameter allows to set the viewbox of the resulting svg document. The viewbox will have the width and height of the svg document It is 19 | <code>false</code> by default. 20 | 21 | <title level="2" title="allowTransformForRoot" keepCase="true"/> 22 | The <code>allowTransformForRoot</code> parameter allows to allow transformations on the root of the svg document. It is <code>true</code> by default. 23 | 24 | <title level="2" title="background" keepCase="true"/> 25 | The <code>background</code> parameter allows to set the background color of the resulting svg document. The converter will generate a rectangle with the width and height of 26 | the svg document as the first child. 27 | 28 | <title title="example" /> 29 | For example: 30 | <pre syntax="java"> 31 | ConverterParameters params = new ConverterParameters(); 32 | params.width = 150; 33 | params.height = 150; 34 | SVGConverter converter = new SVGConverter(); 35 | converter.convert(<my JavaFX root>, params, <my SVG file>); 36 | </pre> 37 | 38 | <see id="SVGConverter" /> 39 | <cat id="tosvg" /> 40 | </article> 41 | -------------------------------------------------------------------------------- /web/source/tosvg/support/support.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <article desc="SSVG converter support"> 3 | <meta desc="This article presents the support for the JavaFX to SVG conversion" /> 4 | 5 | The library support: 6 | <ul> 7 | <li>Shape nodes (Line, Rectangle, Polygon, Polyline, Arc, Circle, Ellipse, QuadCruce, CubicCurcve, path, SVGPath)</li> 8 | <li>Region nodes, including Controls</li> 9 | <li>ImageView nodes</li> 10 | <li>Group nodes</li> 11 | <li>Shape3D nodes (by converting them to images)</li> 12 | </ul> 13 | Clips are supported. 14 | 15 | <title title="limitations"/> 16 | <ul> 17 | <li>Gradients are not supported for the moment</li> 18 | <li>Animations are not supported for the moment</li> 19 | </ul> 20 | 21 | <cat id="fromsvgsupport" /> 22 | </article> 23 | -------------------------------------------------------------------------------- /web/source/tosvg/tosvgconverter.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <article desc="convert to SVG" > 3 | <altTitle desc="tosvg converter" /> 4 | <meta desc="This article presents the buitl-in browser" /> 5 | The <code>fxsvgConverter.jar</code> Jar file contains the library which allows to convert a JavaFX tree to a SVG file. 6 | 7 | <title title="usage" /> 8 | <moreInfo id="SVGConverter" /> 9 | To convert a JavaFX tree to a SVG file, you can use one of the <code>convert</code> methods of the 10 | <javadoc api="api" path="org.girod.javafx.svgimage.tosvg.SVGConverter" /> class. 11 | 12 | <title title="example" /> 13 | <pre syntax="java"> 14 | SVGConverter converter = new SVGConverter(); 15 | converter.convert(<my JavaFX root>, <my SVG file>); 16 | </pre> 17 | 18 | <see id="SVGConverter"/> 19 | <cat id="tosvg" /> 20 | </article> 21 | -------------------------------------------------------------------------------- /web/source/tosvg/tosvgusage.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <article desc="JavaFX to svg conversion usage"> 3 | <altTitle desc="SVGConverter" /> 4 | <meta desc="This article presents the usage of the library which converts a JavaFX tree to svg" /> 5 | You use the library by calling one of the <code>convert</code> methods of the <javadoc api="api" path="org.girod.javafx.svgimage.tosvg.SVGConverter" /> 6 | class. 7 | 8 | For example: 9 | <pre syntax="java"> 10 | SVGConverter converter = new SVGConverter(); 11 | converter.convert(<my JavaFX root>, <my SVG file>); 12 | </pre> 13 | 14 | <title title="parameters"/> 15 | <moreInfo id="ConverterParameters" /> 16 | By default the width and the height of the resulting svg document are those of the root node bounds. However several parameters allow to 17 | configure the result. For example: 18 | <pre syntax="java"> 19 | ConverterParameters params = new ConverterParameters(); 20 | params.width = 150; 21 | params.height = 150; 22 | SVGConverter converter = new SVGConverter(); 23 | converter.convert(<my JavaFX root>, params, <my SVG file>); 24 | </pre> 25 | 26 | <see id="convert to SVG" /> 27 | <cat id="tosvg" /> 28 | </article> 29 | -------------------------------------------------------------------------------- /web/sourceforge/INTENTIONALLY_EMPTY: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /web/sourceforge/images/messageBoxImg_1_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hervegirod/fxsvgimage/fe0cab840d214fb4e2da5e835c3f62c6c1006678/web/sourceforge/images/messageBoxImg_1_0.png -------------------------------------------------------------------------------- /web/wiki/INTENTIONALLY_EMPTY: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /web/wiki/images/messageBoxImg_1_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hervegirod/fxsvgimage/fe0cab840d214fb4e2da5e835c3f62c6c1006678/web/wiki/images/messageBoxImg_1_0.png --------------------------------------------------------------------------------