├── .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 |
29 |
--------------------------------------------------------------------------------
/samples/anims/anim1.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/samples/anims/anim2.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/samples/anims/animColor.svg:
--------------------------------------------------------------------------------
1 |
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 | 6°
29 | 7°
30 | 8°
31 | 9°
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 | 6°
29 | 7°
30 | 8°
31 | 9°
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 |
10 |
Open a SVG file using the library
11 |
Save the opened SVG file as a png of jpeg image
12 |
Refresh the currently selected image
13 |
14 |
15 |
16 | You can zoom or dezoom the image by using the mouse wheel or the zoom commands.
17 |
18 |
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 |
23 |
24 |
--------------------------------------------------------------------------------
/web/source/categoriesDesc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/web/source/config.properties:
--------------------------------------------------------------------------------
1 | javadoc-api=javadoc
--------------------------------------------------------------------------------
/web/source/dictionnaryDesc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | The wiki has ${count} articles.
4 |
5 |
--------------------------------------------------------------------------------
/web/source/distrib.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | The fxsvgImage.jar jar file contains the code to convert a svg file to a JavaFX Node tree.
7 |
8 |
9 | The fxsvgBrowser.jar jar file contains the browser. It depends on the fxsvgImage.jar jar file which must be on the Classpath, or
10 | in the same directory.
11 |
12 |
13 | The fxsvgConverter.jar jar file contains the code to convert a JavaFX Node tree to a svg file.
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/web/source/faq.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
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 |
11 | The latest version of the project require Java 8.
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/web/source/footer.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/web/source/fromsvg/support/clippath.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | The library support the clip-path and mask attributes for all elementsSee
5 | Clipping, Masking and Compositing
6 | .
7 |
8 | The following attributes are supported at the clipPath declaration level:
9 |
10 |
11 | id: the id of the clipping path
12 |
13 | transform: the optional transform to apply to the clipping path
14 |
15 | clipPathUnits: the optional units for the specification of the clipping path
16 |
17 |
18 |
19 | All basic shapes are supported to construct the clips:
20 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/web/source/fromsvg/support/units.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | The library support the following length and position units
5 | See Coordinate Systems, Transformations and Units:
6 |
7 |
The px, pt, in, cm, mm, em, and ex units
8 |
The % unit
9 |
10 |
11 |
12 |
13 |
The computation for the ex unit is an approximation, considering one 1/2 of the em unit
14 |
The computation for the em unit does not take inot account for the moment the height of the fonts
15 |
16 |
17 |
18 | The "%" unit specifies a length or a position relative to the viewport. The library works in the following way:
19 |
20 |
If the with and height attributes are present in the SVG root, they are used
21 | to specify the dimensions of the viewport
22 |
Else if the viewBox attribute is present, it will be used to get the width and height of
23 | the viewport
24 |
25 |
26 |
27 | The path element does not currently support the "%" unit.
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/web/source/fromsvg/support/use.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | The library support the use elementSee The use element.
5 |
6 | The following attributes are supported:
7 |
8 |
9 | href or xlink:href: specifies the named node to use
The overriding of attributes is still not correctly supported
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/web/source/fromsvg/svgimageregion.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | The is a Group class. As a Group has no size by itself, it can not be integrated efficiently in a Layout containers (such as
6 | a BorderPane)a Group is not directly resizable.
7 |
8 | To overcomme this problem and allow to integrate a SVGImage in a Layout container, you can use the
9 | which will create a
10 | wrapping the SVGImage.
11 |
12 | As the SVGImageRegion is a Region, it can be resized and be fully integrated in a Layout container.
13 |
14 |
15 | The only specific method of the SVGImageRegion is the
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 |
19 | The following example integrates the SVGImage in a BorderPane. The SVGImage will shrink or expand when the stage is resized:
20 |
8 | To join this project, please
9 | contact the project administrators of this project, as shown on the
10 | project summary page.
11 |
12 |
13 | Get the source code:
14 |
15 |
16 | Source code for this project is available as downloads
17 | or through the git repository used by the project, as accessible from the
18 | github develop page.
19 |
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 |
2 |
3 |
4 |
5 | The class allows to configure the exporting of the JavaFX tree to a SVG file
6 | with the .
7 |
8 |
9 |
10 | The width 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 |
14 | The height 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 |
18 | The hasViewbox 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 | false by default.
20 |
21 |
22 | The allowTransformForRoot parameter allows to allow transformations on the root of the svg document. It is true by default.
23 |
24 |
25 | The background 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 |
29 | For example:
30 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/web/source/tosvg/tosvgconverter.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | The fxsvgConverter.jar Jar file contains the library which allows to convert a JavaFX tree to a SVG file.
6 |
7 |
8 |
9 | To convert a JavaFX tree to a SVG file, you can use one of the convert methods of the
10 | class.
11 |
12 |
13 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/web/source/tosvg/tosvgusage.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | You use the library by calling one of the convert methods of the
6 | class.
7 |
8 | For example:
9 |
13 |
14 |
15 |
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 |