aboutsummaryrefslogtreecommitdiffstats
path: root/src/org/apache/fop/svg/SVGElementMapping.java
diff options
context:
space:
mode:
authorKeiron Liddle <keiron@apache.org>2001-11-06 08:34:53 +0000
committerKeiron Liddle <keiron@apache.org>2001-11-06 08:34:53 +0000
commit31965968c68717055bbd096b709df3e72ceb8b40 (patch)
tree92820b3533809c21ea4decd0069edbb1e858f064 /src/org/apache/fop/svg/SVGElementMapping.java
parentcfc0da75fcc187e6dd7596e7480c4941e278b9d5 (diff)
downloadxmlgraphics-fop-31965968c68717055bbd096b709df3e72ceb8b40.tar.gz
xmlgraphics-fop-31965968c68717055bbd096b709df3e72ceb8b40.zip
changed the way that elements and properties are handled
the element makers are associated with the element mapping attributes are passed to the element object the object can then use the attributes to make the properties added default value for element handling, makes it easier to ensure all elements of an external xml markup are loaded (eg. svg) git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194536 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/org/apache/fop/svg/SVGElementMapping.java')
-rw-r--r--src/org/apache/fop/svg/SVGElementMapping.java73
1 files changed, 15 insertions, 58 deletions
diff --git a/src/org/apache/fop/svg/SVGElementMapping.java b/src/org/apache/fop/svg/SVGElementMapping.java
index dc7df3dfb..cea2ea287 100644
--- a/src/org/apache/fop/svg/SVGElementMapping.java
+++ b/src/org/apache/fop/svg/SVGElementMapping.java
@@ -10,8 +10,7 @@ package org.apache.fop.svg;
import java.util.Enumeration;
import java.util.HashMap;
-import org.apache.fop.fo.DirectPropertyListBuilder;
-import org.apache.fop.fo.TreeBuilder;
+import org.apache.fop.fo.FObj;
import org.apache.fop.fo.FOTreeBuilder;
import org.apache.fop.fo.ElementMapping;
import org.apache.fop.apps.Driver;
@@ -23,7 +22,7 @@ public class SVGElementMapping implements ElementMapping {
private static HashMap foObjs = null;
- public synchronized void addToBuilder(TreeBuilder builder) {
+ public synchronized void addToBuilder(FOTreeBuilder builder) {
try {
if (foObjs == null) {
// this sets the parser that will be used
@@ -33,68 +32,26 @@ public class SVGElementMapping implements ElementMapping {
Driver.getParserClassName());
foObjs = new HashMap();
- foObjs.put("svg", SVGElement.maker());
- foObjs.put("rect", SVGObj.maker("rect"));
- foObjs.put("line", SVGObj.maker("line"));
- foObjs.put("text", SVGObj.maker("text"));
-
- foObjs.put("desc", SVGObj.maker("desc"));
- foObjs.put("title", SVGObj.maker("title"));
- foObjs.put("circle", SVGObj.maker("circle"));
- foObjs.put("ellipse", SVGObj.maker("ellipse"));
- foObjs.put("g", SVGObj.maker("g"));
- foObjs.put("polyline", SVGObj.maker("polyline"));
- foObjs.put("polygon", SVGObj.maker("polygon"));
- foObjs.put("defs", SVGObj.maker("defs"));
- foObjs.put("path", SVGObj.maker("path"));
- foObjs.put("use", SVGObj.maker("use"));
- foObjs.put("tspan", SVGObj.maker("tspan"));
- foObjs.put("tref", SVGObj.maker("tref"));
- foObjs.put("image", SVGObj.maker("image"));
- foObjs.put("style", SVGObj.maker("style"));
-
- foObjs.put("textPath", SVGObj.maker("textPath"));
- foObjs.put("clipPath", SVGObj.maker("clipPath"));
- foObjs.put("mask", SVGObj.maker("mask"));
- foObjs.put("linearGradient", SVGObj.maker("linearGradient"));
- foObjs.put("radialGradient", SVGObj.maker("radialGradient"));
- foObjs.put("stop", SVGObj.maker("stop"));
- foObjs.put("a", SVGObj.maker("a"));
- foObjs.put("switch", SVGObj.maker("switch"));
- foObjs.put("symbol", SVGObj.maker("symbol"));
-
- foObjs.put("pattern", SVGObj.maker("pattern"));
-
- foObjs.put("marker", SVGObj.maker("marker"));
- foObjs.put("animate", SVGObj.maker("animate"));
- foObjs.put("altGlyph", SVGObj.maker("altGlyph"));
- foObjs.put("font", SVGObj.maker("font"));
- foObjs.put("glyph", SVGObj.maker("glyph"));
- foObjs.put("missing-glyph", SVGObj.maker("missing-glyph"));
- foObjs.put("hkern", SVGObj.maker("hkern"));
- foObjs.put("vkern", SVGObj.maker("vkern"));
- foObjs.put("set", SVGObj.maker("set"));
- foObjs.put("animateMotion", SVGObj.maker("animateMotion"));
- foObjs.put("animateColor", SVGObj.maker("animateColor"));
- foObjs.put("animateTransform", SVGObj.maker("animateTransform"));
- foObjs.put("cursor", SVGObj.maker("cursor"));
- foObjs.put("filter", SVGObj.maker("filter"));
-
- foObjs.put("feFlood", SVGObj.maker("feFlood"));
- foObjs.put("feGaussianBlur", SVGObj.maker("feGaussianBlur"));
- foObjs.put("feOffset", SVGObj.maker("feOffset"));
- foObjs.put("feMerge", SVGObj.maker("feMerge"));
- foObjs.put("feMergeNode", SVGObj.maker("feMergeNode"));
+ foObjs.put("svg", new SE());
+ foObjs.put("<default>", new SVGMaker());
}
String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
builder.addMapping(svgNS, foObjs);
-
- builder.addPropertyListBuilder(svgNS,
- new DirectPropertyListBuilder());
} catch (Throwable t) {
// if the classes are not available
}
}
+ class SVGMaker extends ElementMapping.Maker {
+ public FObj make(FObj parent) {
+ return new SVGObj(parent);
+ }
+ }
+
+ class SE extends ElementMapping.Maker {
+ public FObj make(FObj parent) {
+ return new SVGElement(parent);
+ }
+ }
}