You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by ke...@apache.org on 2001/03/01 03:12:30 UTC

cvs commit: xml-fop/src/org/apache/fop/svg SVGArea.java GraphicsCreator.java SVG.java SVGDriver.java SVGElementMapping.java SVGObj.java SVGPropertyListMapping.java SVGStringProperty.java TextElement.java A.java AltGlyph.java AnimateColor.java AnimateMotion.java AnimateTransform.java Circle.java ClipPath.java Cursor.java Defs.java Desc.java Ellipse.java Filter.java Font.java G.java Glyph.java HKern.java Image.java Line.java LinearGradient.java Marker.java Mask.java MissingGlyph.java Path.java Pattern.java Polygon.java Polyline.java RadialGradient.java Rect.java SVGD.java SVGLengthListProperty.java SVGLengthProperty.java SVGStyle.java SVGTransform.java Set.java Stop.java Style.java Switch.java Symbol.java TRef.java TSpan.java Text.java TextPath.java Title.java Use.java VKern.java

keiron      01/02/28 18:12:30

  Modified:    src/org/apache/fop/svg Tag: fop-0_17_0_batikSVG
                        GraphicsCreator.java SVG.java SVGDriver.java
                        SVGElementMapping.java SVGObj.java
                        SVGPropertyListMapping.java SVGStringProperty.java
                        TextElement.java
  Added:       src/org/apache/fop/svg Tag: fop-0_17_0_batikSVG SVGArea.java
  Removed:     src/org/apache/fop/svg Tag: fop-0_17_0_batikSVG A.java
                        AltGlyph.java AnimateColor.java AnimateMotion.java
                        AnimateTransform.java Circle.java ClipPath.java
                        Cursor.java Defs.java Desc.java Ellipse.java
                        Filter.java Font.java G.java Glyph.java HKern.java
                        Image.java Line.java LinearGradient.java
                        Marker.java Mask.java MissingGlyph.java Path.java
                        Pattern.java Polygon.java Polyline.java
                        RadialGradient.java Rect.java SVGD.java
                        SVGLengthListProperty.java SVGLengthProperty.java
                        SVGStyle.java SVGTransform.java Set.java Stop.java
                        Style.java Switch.java Symbol.java TRef.java
                        TSpan.java Text.java TextPath.java Title.java
                        Use.java VKern.java
  Log:
  changes to use batik
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.2.4.1   +3 -4      xml-fop/src/org/apache/fop/svg/GraphicsCreator.java
  
  Index: GraphicsCreator.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/svg/GraphicsCreator.java,v
  retrieving revision 1.2
  retrieving revision 1.2.4.1
  diff -u -r1.2 -r1.2.4.1
  --- GraphicsCreator.java	2000/08/28 23:54:13	1.2
  +++ GraphicsCreator.java	2001/03/01 02:12:11	1.2.4.1
  @@ -1,4 +1,4 @@
  -/*-- $Id: GraphicsCreator.java,v 1.2 2000/08/28 23:54:13 keiron Exp $ -- 
  +/*-- $Id: GraphicsCreator.java,v 1.2.4.1 2001/03/01 02:12:11 keiron Exp $ -- 
   
    ============================================================================
                      The Apache Software License, Version 1.1
  @@ -51,13 +51,12 @@
   
   package org.apache.fop.svg;
   
  -import org.apache.fop.dom.svg.*;
  -
   import org.w3c.dom.svg.SVGElement;
  +import org.w3c.dom.*;
   
   /**
    *
    */
   public interface GraphicsCreator {
  -	public SVGElement createGraphic();
  +	public void addGraphic(Document doc, Element parent);
   }
  
  
  
  1.18.2.1  +67 -24    xml-fop/src/org/apache/fop/svg/SVG.java
  
  Index: SVG.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/svg/SVG.java,v
  retrieving revision 1.18
  retrieving revision 1.18.2.1
  diff -u -r1.18 -r1.18.2.1
  --- SVG.java	2001/01/25 15:10:13	1.18
  +++ SVG.java	2001/03/01 02:12:16	1.18.2.1
  @@ -1,4 +1,4 @@
  -/*-- $Id: SVG.java,v 1.18 2001/01/25 15:10:13 eschaeffer Exp $ --
  +/*-- $Id: SVG.java,v 1.18.2.1 2001/03/01 02:12:16 keiron Exp $ --
   
    ============================================================================
   									 The Apache Software License, Version 1.1
  @@ -59,15 +59,15 @@
   import org.apache.fop.apps.FOPException;
   import org.apache.fop.layout.inline.*;
   
  -import org.apache.fop.dom.svg.*;
  +import org.apache.batik.dom.svg.*;
  +import org.w3c.dom.*;
   import org.w3c.dom.svg.*;
   import org.w3c.dom.svg.SVGLength;
   
  -import org.apache.fop.dom.svg.SVGArea;
   /**
    * class representing svg:svg pseudo flow object.
    */
  -public class SVG extends FObj implements GraphicsCreator {
  +public class SVG extends SVGObj implements GraphicsCreator {
   
   		/**
   		 * inner class for making SVG objects.
  @@ -98,8 +98,6 @@
   		}
   
   		FontState fs;
  -		float width;
  -		float height;
   
   		/**
   		 * constructs an SVG object (called by Maker).
  @@ -110,9 +108,30 @@
   		public SVG(FObj parent, PropertyList propertyList) {
   				super(parent, propertyList);
   				this.name = "svg:svg";
  +	tagName = "svg";
  +	props = new String[] {"width", "height", "x", "y", "id", "style"};
   		}
   
  -		public SVGElement createGraphic() {
  +/*    public void addGraphic(Document doc, Element parent) {
  +        Element element = doc.createElement(tagName);
  +        for(int count = 0; count < props.length; count++) {
  +            String rf = this.properties.get(props[count]).getString();
  +            element.setAttribute(props[count], rf);
  +        }
  +        parent.appendChild(element);
  +        int numChildren = this.children.size();
  +        for (int i = 0; i < numChildren; i++) {
  +            Object child = children.elementAt(i);
  +            if (child instanceof GraphicsCreator) {
  +                ((GraphicsCreator)child).addGraphic(doc, element);
  +            } else if (child instanceof String) {
  +                org.w3c.dom.Text text = doc.createTextNode((String)child);
  +                element.appendChild(text);
  +            }
  +        }
  +    }*/
  +
  +/*		public SVGElement createGraphic() {
   				SVGSVGElementImpl svgArea = null;
   				SVGLength w = ((SVGLengthProperty) this.properties.get("width")).
   											getSVGLength();
  @@ -169,7 +188,7 @@
   						Status status;
   				}
   				return svgArea;
  -		}
  +		}*/
   
   		/**
   		 * layout this formatting object.
  @@ -205,37 +224,61 @@
   						this.fs = new FontState(area.getFontInfo(), fontFamily,
   																		fontStyle, fontWeight, fontSize, FontVariant.NORMAL);
   
  -						SVGLength length;
  -						length = ((SVGLengthProperty) this.properties.get("width")).getSVGLength();
  -						if (length == null)
  -								length = new SVGLengthImpl();
  -						this.width = length.getValue();
  -						length = ((SVGLengthProperty) this.properties.get("height")).
  -										 getSVGLength();
  -						if (length == null)
  -								length = new SVGLengthImpl();
  -						this.height = length.getValue();
  +//						this.width = this.properties.get("width").getString();
  +//						this.height = this.properties.get("height").getString();
   
   						this.marker = 0;
   				}
   
   				/* create an SVG area */
   				/* if width and height are zero, may want to get the bounds of the content. */
  +				SVGOMDocument doc = new SVGOMDocument(null, SVGDOMImplementation.getDOMImplementation());
  +
  +                DefaultSVGContext dc = new DefaultSVGContext() {
  +                        public float getPixelToMM() {
  +                            return 12;
  +                        }
  +                        public float getViewportWidth() {
  +                            return 100;
  +                        }
  +                        public float getViewportHeight() {
  +                            return 100;
  +                        }
  +                    };
  +                doc.setSVGContext(dc);
  +
  +                System.out.println("tag:" + tagName);
  +                Element topLevel = doc.createElementNS("http://www.w3.org/2000/svg", tagName);
  +                for(int count = 0; count < props.length; count++) {
  +                    String rf = this.properties.get(props[count]).getString();
  +                    topLevel.setAttribute(props[count], rf);
  +                }
  +				doc.appendChild(topLevel);
  +                int numChildren = this.children.size();
  +                for (int i = 0; i < numChildren; i++) {
  +                    Object child = children.elementAt(i);
  +                    if (child instanceof GraphicsCreator) {
  +                        ((GraphicsCreator)child).addGraphic(doc, topLevel);
  +                    } else if (child instanceof String) {
  +                        org.w3c.dom.Text text = doc.createTextNode((String)child);
  +                        topLevel.appendChild(text);
  +                    }
  +                }
  +
  +		        float width = ((SVGSVGElement)topLevel).getWidth().getBaseVal().getValue();
  +        		float height = ((SVGSVGElement)topLevel).getHeight().getBaseVal().getValue();
   				SVGArea svg = new SVGArea(fs, width, height);
  -				SVGDocument doc = new SVGDocumentImpl();
   				svg.setSVGDocument(doc);
   				svg.start();
   
  +				/* finish off the SVG area */
  +				svg.end();
  +
   				/* add the SVG area to the containing area */
   				ForeignObjectArea foa = (ForeignObjectArea) area;
   				foa.setObject(svg);
   				foa.setIntrinsicWidth(svg.getWidth());
   				foa.setIntrinsicHeight(svg.getHeight());
  -
  -				doc.appendChild((SVGSVGElement) createGraphic());
  -
  -				/* finish off the SVG area */
  -				svg.end();
   
   				/* return status */
   				return new Status(Status.OK);
  
  
  
  1.1.4.1   +1 -2      xml-fop/src/org/apache/fop/svg/SVGDriver.java
  
  Index: SVGDriver.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/svg/SVGDriver.java,v
  retrieving revision 1.1
  retrieving revision 1.1.4.1
  diff -u -r1.1 -r1.1.4.1
  --- SVGDriver.java	2000/08/28 23:54:19	1.1
  +++ SVGDriver.java	2001/03/01 02:12:18	1.1.4.1
  @@ -1,4 +1,4 @@
  -/*-- $Id: SVGDriver.java,v 1.1 2000/08/28 23:54:19 keiron Exp $ -- 
  +/*-- $Id: SVGDriver.java,v 1.1.4.1 2001/03/01 02:12:18 keiron Exp $ -- 
   
    ============================================================================
                      The Apache Software License, Version 1.1
  @@ -54,7 +54,6 @@
   // FOP
   import org.apache.fop.fo.*;
   import org.apache.fop.apps.*;
  -import org.apache.fop.dom.svg.*;
   import org.apache.fop.fo.FOTreeBuilder;
   import org.apache.fop.fo.ElementMapping;
   import org.apache.fop.fo.PropertyListMapping;
  
  
  
  1.10.4.1  +6 -7      xml-fop/src/org/apache/fop/svg/SVGElementMapping.java
  
  Index: SVGElementMapping.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/svg/SVGElementMapping.java,v
  retrieving revision 1.10
  retrieving revision 1.10.4.1
  diff -u -r1.10 -r1.10.4.1
  --- SVGElementMapping.java	2000/09/15 00:14:35	1.10
  +++ SVGElementMapping.java	2001/03/01 02:12:18	1.10.4.1
  @@ -1,4 +1,4 @@
  -/*-- $Id: SVGElementMapping.java,v 1.10 2000/09/15 00:14:35 keiron Exp $ -- 
  +/*-- $Id: SVGElementMapping.java,v 1.10.4.1 2001/03/01 02:12:18 keiron Exp $ -- 
   
    ============================================================================
                      The Apache Software License, Version 1.1
  @@ -53,12 +53,11 @@
   import org.apache.fop.fo.TreeBuilder;
   import org.apache.fop.fo.FOTreeBuilder;
   import org.apache.fop.fo.ElementMapping;
  -import org.apache.fop.dom.svg.SVGDocumentImpl;
   
   public class SVGElementMapping implements ElementMapping {
   
   	public void addToBuilder(TreeBuilder builder) {
  -		String uri = SVGDocumentImpl.namespaceURI;
  +		String uri = "http://www.w3.org/2000/svg";
   		builder.addMapping(uri, "svg", SVG.maker());
   		builder.addMapping(uri, "rect", Rect.maker());
   		builder.addMapping(uri, "line", Line.maker());
  @@ -74,8 +73,8 @@
   		builder.addMapping(uri, "defs", Defs.maker());
   		builder.addMapping(uri, "path", Path.maker());
   		builder.addMapping(uri, "use", Use.maker());
  -		builder.addMapping(uri, "tspan", TSpan.maker());
  -		builder.addMapping(uri, "tref", TRef.maker());
  +		builder.addMapping(uri, "tspan", Tspan.maker());
  +		builder.addMapping(uri, "tref", Tref.maker());
   		builder.addMapping(uri, "image", Image.maker());
   		builder.addMapping(uri, "style", Style.maker());
   
  @@ -99,8 +98,8 @@
   		builder.addMapping(uri, "font", Font.maker());
   		builder.addMapping(uri, "glyph", Glyph.maker());
   		builder.addMapping(uri, "missing-glyph", MissingGlyph.maker());
  -		builder.addMapping(uri, "hkern", HKern.maker());
  -		builder.addMapping(uri, "vkern", VKern.maker());
  +		builder.addMapping(uri, "hkern", Hkern.maker());
  +		builder.addMapping(uri, "vkern", Vkern.maker());
   		builder.addMapping(uri, "set", Set.maker());
   		builder.addMapping(uri, "animateMotion", AnimateMotion.maker());
   		builder.addMapping(uri, "animateColor", AnimateColor.maker());
  
  
  
  1.1.4.1   +28 -10    xml-fop/src/org/apache/fop/svg/SVGObj.java
  
  Index: SVGObj.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/svg/SVGObj.java,v
  retrieving revision 1.1
  retrieving revision 1.1.4.1
  diff -u -r1.1 -r1.1.4.1
  --- SVGObj.java	2000/08/28 23:54:20	1.1
  +++ SVGObj.java	2001/03/01 02:12:19	1.1.4.1
  @@ -1,4 +1,4 @@
  -/*-- $Id: SVGObj.java,v 1.1 2000/08/28 23:54:20 keiron Exp $ -- 
  +/*-- $Id: SVGObj.java,v 1.1.4.1 2001/03/01 02:12:19 keiron Exp $ -- 
   
    ============================================================================
                      The Apache Software License, Version 1.1
  @@ -57,9 +57,10 @@
   import org.apache.fop.layout.FontState;
   import org.apache.fop.apps.FOPException;
   
  -import org.apache.fop.dom.svg.*;
  +import org.apache.batik.dom.svg.*;
   
  -import org.w3c.dom.svg.SVGElement;
  +import org.w3c.dom.svg.*;
  +import org.w3c.dom.*;
   
   /**
    * Since SVG objects are not layed out then this class checks
  @@ -68,6 +69,8 @@
    */
   public abstract class SVGObj extends FObj implements GraphicsCreator {
   
  +	String tagName = "";
  +	String[] props = {};
   	/**
   	 *
   	 * @param parent the parent formatting object
  @@ -77,10 +80,25 @@
   		super(parent, propertyList);
   	}
   
  -	public SVGElement createGraphic()
  -	{
  -		return null;
  -	}
  +    public void addGraphic(Document doc, Element parent) {
  +        Element element = doc.createElementNS("http://www.w3.org/2000/svg", tagName);
  +//        Element element = doc.createElement(tagName);
  +        for(int count = 0; count < props.length; count++) {
  +            String rf = this.properties.get(props[count]).getString();
  +            element.setAttribute(props[count], rf);
  +        }
  +        parent.appendChild(element);
  +        int numChildren = this.children.size();
  +        for (int i = 0; i < numChildren; i++) {
  +            Object child = children.elementAt(i);
  +            if (child instanceof GraphicsCreator) {
  +                ((GraphicsCreator)child).addGraphic(doc, element);
  +            } else if (child instanceof String) {
  +                org.w3c.dom.Text text = doc.createTextNode((String)child);
  +                element.appendChild(text);
  +            }
  +        }
  +    }
   
   	/**
   	 * layout this formatting object.
  @@ -90,11 +108,11 @@
   	 */
   	public Status layout(Area area) throws FOPException
   	{
  -		if (area instanceof SVGArea) {
  -		} else {
  +//		if (area instanceof SVGArea) {
  +//		} else {
   			/* otherwise generate a warning */
   			System.err.println("WARNING: " + this.name + " outside svg:svg");
  -		}
  +//		}
   
   		/* return status */
   		return new Status(Status.OK);
  
  
  
  1.8.2.1   +2 -3      xml-fop/src/org/apache/fop/svg/SVGPropertyListMapping.java
  
  Index: SVGPropertyListMapping.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/svg/SVGPropertyListMapping.java,v
  retrieving revision 1.8
  retrieving revision 1.8.2.1
  diff -u -r1.8 -r1.8.2.1
  --- SVGPropertyListMapping.java	2000/11/10 22:34:20	1.8
  +++ SVGPropertyListMapping.java	2001/03/01 02:12:20	1.8.2.1
  @@ -1,4 +1,4 @@
  -/*-- $Id: SVGPropertyListMapping.java,v 1.8 2000/11/10 22:34:20 klease Exp $ --
  +/*-- $Id: SVGPropertyListMapping.java,v 1.8.2.1 2001/03/01 02:12:20 keiron Exp $ --
   
    ============================================================================
                      The Apache Software License, Version 1.1
  @@ -53,7 +53,6 @@
   
   import org.apache.fop.fo.*;
   import org.apache.fop.fo.properties.SVGPropertyMapping;
  -import org.apache.fop.dom.svg.SVGDocumentImpl;
   
   import java.util.Enumeration;
   
  @@ -61,7 +60,7 @@
   
       public void addToBuilder(TreeBuilder builder) {
   
  -	String uri = SVGDocumentImpl.namespaceURI;
  +		String uri = "http://www.w3.org/2000/svg";
           builder.addPropertyList(uri, SVGPropertyMapping.getGenericMappings());
   	/* Add any element mappings */
   	for (Enumeration e = SVGPropertyMapping.getElementMappings();
  
  
  
  1.3.2.1   +2 -4      xml-fop/src/org/apache/fop/svg/SVGStringProperty.java
  
  Index: SVGStringProperty.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/svg/SVGStringProperty.java,v
  retrieving revision 1.3
  retrieving revision 1.3.2.1
  diff -u -r1.3 -r1.3.2.1
  --- SVGStringProperty.java	2000/11/15 22:24:08	1.3
  +++ SVGStringProperty.java	2001/03/01 02:12:20	1.3.2.1
  @@ -1,4 +1,4 @@
  -/*-- $Id: SVGStringProperty.java,v 1.3 2000/11/15 22:24:08 keiron Exp $ --
  +/*-- $Id: SVGStringProperty.java,v 1.3.2.1 2001/03/01 02:12:20 keiron Exp $ --
   
    ============================================================================
                      The Apache Software License, Version 1.1
  @@ -54,10 +54,8 @@
   
   // FOP
   import org.apache.fop.fo.*;
  -import org.apache.fop.datatypes.*;
   import org.apache.fop.apps.FOPException;
   
  -import org.apache.fop.dom.svg.*;
   /**
    * a class representing all the length properties in SVG
    */
  @@ -104,7 +102,7 @@
        *
        * @return the maker for SVG Length objects
        */
  -    public static Property.Maker maker() {
  +    public static Property.Maker maker(String name) {
           return new SVGStringProperty.Maker();
       }
   
  
  
  
  1.2.4.1   +1 -3      xml-fop/src/org/apache/fop/svg/TextElement.java
  
  Index: TextElement.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/svg/TextElement.java,v
  retrieving revision 1.2
  retrieving revision 1.2.4.1
  diff -u -r1.2 -r1.2.4.1
  --- TextElement.java	2000/08/28 23:54:24	1.2
  +++ TextElement.java	2001/03/01 02:12:24	1.2.4.1
  @@ -1,4 +1,4 @@
  -/*-- $Id: TextElement.java,v 1.2 2000/08/28 23:54:24 keiron Exp $ -- 
  +/*-- $Id: TextElement.java,v 1.2.4.1 2001/03/01 02:12:24 keiron Exp $ -- 
   
    ============================================================================
                      The Apache Software License, Version 1.1
  @@ -50,8 +50,6 @@
    */
   
   package org.apache.fop.svg;
  -
  -import org.apache.fop.dom.svg.*;
   
   import org.w3c.dom.svg.SVGElement;
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.6.2.1   +44 -32    xml-fop/src/org/apache/fop/svg/Attic/SVGArea.java