]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
general clean up
authorKeiron Liddle <keiron@apache.org>
Thu, 17 May 2001 11:03:40 +0000 (11:03 +0000)
committerKeiron Liddle <keiron@apache.org>
Thu, 17 May 2001 11:03:40 +0000 (11:03 +0000)
removing unused files
better formatting

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194253 13f79535-47bb-0310-9956-ffa450edef68

20 files changed:
src/org/apache/fop/datatypes/PointsData.java [deleted file]
src/org/apache/fop/fo/SVGTreeBuilder.java
src/org/apache/fop/render/awt/AWTRenderer.java
src/org/apache/fop/render/pdf/PDFRenderer.java
src/org/apache/fop/render/txt/TXTRenderer.java
src/org/apache/fop/svg/PDFDocumentGraphics2D.java
src/org/apache/fop/svg/PDFGraphics2D.java
src/org/apache/fop/svg/PDFTranscoder.java
src/org/apache/fop/svg/PathPoint.java [deleted file]
src/org/apache/fop/svg/SVG.java [deleted file]
src/org/apache/fop/svg/SVGArea.java
src/org/apache/fop/svg/SVGDriver.java
src/org/apache/fop/svg/SVGElement.java [new file with mode: 0644]
src/org/apache/fop/svg/SVGElementMapping.java
src/org/apache/fop/svg/SVGObj.java
src/org/apache/fop/svg/SVGPoints.java [deleted file]
src/org/apache/fop/svg/SVGPropertyListMapping.java
src/org/apache/fop/svg/SVGStringProperty.java
src/org/apache/fop/svg/TextElement.java [deleted file]
src/org/apache/fop/svg/TextProperty.java [deleted file]

diff --git a/src/org/apache/fop/datatypes/PointsData.java b/src/org/apache/fop/datatypes/PointsData.java
deleted file mode 100644 (file)
index 87065ec..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/*-- $Id$ -- 
-
- ============================================================================
-                   The Apache Software License, Version 1.1
- ============================================================================
-    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
- Redistribution and use in source and binary forms, with or without modifica-
- tion, are permitted provided that the following conditions are met:
- 1. Redistributions of  source code must  retain the above copyright  notice,
-    this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the following disclaimer in the documentation
-    and/or other materials provided with the distribution.
- 3. The end-user documentation included with the redistribution, if any, must
-    include  the following  acknowledgment:  "This product includes  software
-    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
-    Alternately, this  acknowledgment may  appear in the software itself,  if
-    and wherever such third-party acknowledgments normally appear.
- 4. The names "Fop" and  "Apache Software Foundation"  must not be used to
-    endorse  or promote  products derived  from this  software without  prior
-    written permission. For written permission, please contact
-    apache@apache.org.
- 5. Products  derived from this software may not  be called "Apache", nor may
-    "Apache" appear  in their name,  without prior written permission  of the
-    Apache Software Foundation.
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
- APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
- DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
- ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
- (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- This software  consists of voluntary contributions made  by many individuals
- on  behalf of the Apache Software  Foundation and was  originally created by
- James Tauber <jtauber@jtauber.com>. For more  information on the Apache 
- Software Foundation, please see <http://www.apache.org/>.
- */
-package org.apache.fop.datatypes;
-
-import org.apache.fop.fo.Property;
-import org.apache.fop.svg.PathPoint;
-
-import java.util.*;
-
-/**
- * Parses the points information in polylines and polygons
- *
- */
-public class PointsData {
-       Vector table = new Vector();
-
-       public PointsData (String len)
-       {
-               convert(len);
-       }
-
-       protected void convert(String len)
-       {
-               // need to handle negatives
-               StringTokenizer st = new StringTokenizer(len, ", \n\r\t");
-               while(st.hasMoreTokens()) {
-                       String str1 = st.nextToken().trim();
-               if(st.hasMoreTokens()) {
-                       String str2 = st.nextToken().trim();
-                               float x = 0;
-                               float y = 0;
-                               try {
-                               x = Float.valueOf(str1).floatValue();
-                               y = Float.valueOf(str2).floatValue();
-                       } catch(NumberFormatException nfe) {
-                       }
-                               addPoint(new PathPoint(x, y));
-                       }
-               }
-       }
-
-       public Vector getPoints()
-       {
-               return table;
-       }
-
-       protected void addPoint(PathPoint pc)
-       {
-               table.addElement(pc);
-       }
-}
index c65a08b568bfa57c80305a3bc2a9a8c4e6a85136..d6658ff117bfbb7e4a911174fcac86446cfe4ad8 100644 (file)
@@ -1,53 +1,9 @@
-/*-- $Id$ -- 
-
- ============================================================================
-                   The Apache Software License, Version 1.1
- ============================================================================
-    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
- Redistribution and use in source and binary forms, with or without modifica-
- tion, are permitted provided that the following conditions are met:
- 1. Redistributions of  source code must  retain the above copyright  notice,
-    this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the following disclaimer in the documentation
-    and/or other materials provided with the distribution.
- 3. The end-user documentation included with the redistribution, if any, must
-    include  the following  acknowledgment:  "This product includes  software
-    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
-    Alternately, this  acknowledgment may  appear in the software itself,  if
-    and wherever such third-party acknowledgments normally appear.
- 4. The names "Fop" and  "Apache Software Foundation"  must not be used to
-    endorse  or promote  products derived  from this  software without  prior
-    written permission. For written permission, please contact
-    apache@apache.org.
- 5. Products  derived from this software may not  be called "Apache", nor may
-    "Apache" appear  in their name,  without prior written permission  of the
-    Apache Software Foundation.
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
- APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
- DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
- ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
- (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- This software  consists of voluntary contributions made  by many individuals
- on  behalf of the Apache Software  Foundation and was  originally created by
- James Tauber <jtauber@jtauber.com>. For more  information on the Apache 
- Software Foundation, please see <http://www.apache.org/>.
+/* $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources."
  */
+
 package org.apache.fop.fo;
 
 // FOP
@@ -88,7 +44,7 @@ public class SVGTreeBuilder extends DefaultHandler implements TreeBuilder {
      * class that builds a property list for each formatting object
      */
     protected Hashtable propertylistTable = new Hashtable();
-       
+
     /**
      * current formatting object being handled
      */
@@ -105,55 +61,55 @@ public class SVGTreeBuilder extends DefaultHandler implements TreeBuilder {
     protected Hashtable unknownFOs = new Hashtable();
 
     // namespace implementation ideas pinched from John Cowan
-/*    protected static class NSMap {
-       String prefix;
-       String uri;
-       int level;
-
-       NSMap(String prefix, String uri, int level) {
-           this.prefix = prefix;
-           this.uri = uri;
-           this.level = level;
-       }
-    }
+    /*    protected static class NSMap {
+       String prefix;
+       String uri;
+       int level;
 
-    protected int level = 0;
-    protected Stack namespaceStack = new Stack();
+       NSMap(String prefix, String uri, int level) {
+           this.prefix = prefix;
+           this.uri = uri;
+           this.level = level;
+       }
+        }
 
-    {
-       namespaceStack.push(new NSMap("xml",
-                                     "http://www.w3.org/XML/1998/namespace",
-                                     -1));
-       namespaceStack.push(new NSMap("", "http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd", -1));
-    }
+        protected int level = 0;
+        protected Stack namespaceStack = new Stack();
 
-    protected String findURI(String prefix) {
-       for (int i = namespaceStack.size() - 1; i >= 0; i--) {
-           NSMap nsMap = (NSMap) (namespaceStack.elementAt(i));
-           if (prefix.equals(nsMap.prefix)) return nsMap.uri;
-       }
-       return null;
-    }
+        {
+       namespaceStack.push(new NSMap("xml",
+                                     "http://www.w3.org/XML/1998/namespace",
+                                     -1));
+       namespaceStack.push(new NSMap("", "http://www.w3.org/2000/svg", -1));
+        }
+
+        protected String findURI(String prefix) {
+       for (int i = namespaceStack.size() - 1; i >= 0; i--) {
+           NSMap nsMap = (NSMap) (namespaceStack.elementAt(i));
+           if (prefix.equals(nsMap.prefix)) return nsMap.uri;
+       }
+       return null;
+        }
 
-    protected String mapName(String name)
-       throws SAXException {
-       int colon = name.indexOf(':');
-       String prefix = "";
-       String localPart = name;
-       if (colon != -1) {
-           prefix = name.substring(0, colon);
-           localPart = name.substring(colon + 1);
-       }
-       String uri = findURI(prefix);
-       if (uri == null) {
-           if (prefix.equals("")) {
-               return "http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd^" + name;
-           } else {
-               throw new SAXException(new FOPException("Unknown namespace prefix " + prefix));
-           }
-       }
-       return uri + "^" + localPart;
-    }*/
+        protected String mapName(String name)
+       throws SAXException {
+       int colon = name.indexOf(':');
+       String prefix = "";
+       String localPart = name;
+       if (colon != -1) {
+           prefix = name.substring(0, colon);
+           localPart = name.substring(colon + 1);
+       }
+       String uri = findURI(prefix);
+       if (uri == null) {
+           if (prefix.equals("")) {
+               return "http://www.w3.org/2000/svg^" + name;
+           } else {
+               throw new SAXException(new FOPException("Unknown namespace prefix " + prefix));
+           }
+       }
+       return uri + "^" + localPart;
+        }*/
 
     /**
      * add a mapping from element name to maker.
@@ -161,10 +117,10 @@ public class SVGTreeBuilder extends DefaultHandler implements TreeBuilder {
      * @param namespaceURI namespace URI of formatting object element
      * @param localName local name of formatting object element
      * @param maker Maker for class representing formatting object
-    */
+     */
     public void addMapping(String namespaceURI, String localName,
-                          FObj.Maker maker) {
-       this.fobjTable.put(namespaceURI + "^" + localName, maker);
+                           FObj.Maker maker) {
+        this.fobjTable.put(namespaceURI + "^" + localName, maker);
     }
 
     /**
@@ -173,11 +129,12 @@ public class SVGTreeBuilder extends DefaultHandler implements TreeBuilder {
      * @param namespaceURI namespace URI of formatting object element
      * @param localName local name of formatting object element
      * @param maker Maker for class representing formatting object
-    */
+     */
     public void addPropertyList(String namespaceURI, Hashtable list) {
         PropertyListBuilder plb;
-        plb = (PropertyListBuilder)this.propertylistTable.get(namespaceURI);
-        if(plb == null) {
+        plb = (PropertyListBuilder) this.propertylistTable.get(
+                namespaceURI);
+        if (plb == null) {
             plb = new PropertyListBuilder();
             plb.addList(list);
             this.propertylistTable.put(namespaceURI, plb);
@@ -192,11 +149,13 @@ public class SVGTreeBuilder extends DefaultHandler implements TreeBuilder {
      * @param namespaceURI namespace URI of formatting object element
      * @param localName local name of formatting object element
      * @param maker Maker for class representing formatting object
-    */
-    public void addElementPropertyList(String namespaceURI, String localName, Hashtable list) {
+     */
+    public void addElementPropertyList(String namespaceURI,
+                                       String localName, Hashtable list) {
         PropertyListBuilder plb;
-        plb = (PropertyListBuilder)this.propertylistTable.get(namespaceURI);
-        if(plb == null) {
+        plb = (PropertyListBuilder) this.propertylistTable.get(
+                namespaceURI);
+        if (plb == null) {
             plb = new PropertyListBuilder();
             plb.addElementList(localName, list);
             this.propertylistTable.put(namespaceURI, plb);
@@ -207,100 +166,99 @@ public class SVGTreeBuilder extends DefaultHandler implements TreeBuilder {
 
     /** SAX Handler for characters */
     public void characters(char data[], int start, int length) {
-       currentFObj.addCharacters(data, start, start + length);
+        currentFObj.addCharacters(data, start, start + length);
     }
 
     /** SAX Handler for the end of an element */
-    public void endElement(
-               String uri, String localName, String rawName) {
-       currentFObj.end();
-       currentFObj = (FObj) currentFObj.getParent();
-/*     level--;
-       while (((NSMap) namespaceStack.peek()).level > level) {
-           namespaceStack.pop();
-       }*/
+    public void endElement(String uri, String localName, String rawName) {
+        currentFObj.end();
+        currentFObj = (FObj) currentFObj.getParent();
+        /*     level--;
+               while (((NSMap) namespaceStack.peek()).level > level) {
+                   namespaceStack.pop();
+               }*/
     }
 
     /** SAX Handler for the start of the document */
     public void startDocument() {
-       MessageHandler.logln("building svg tree");
+        MessageHandler.logln("building svg tree");
     }
 
     /** SAX Handler for the start of an element */
-    public void startElement(String uri,
-       String localName, String rawName, Attributes attlist)
-       throws SAXException { 
-       /* the formatting object started */
-       FObj fobj;
-       if(uri.equals("")) {
-               uri = "http://www.w3.org/2000/svg";
-       }
-
-       /* the maker for the formatting object started */
-       FObj.Maker fobjMaker;
-
-/*     level++;
-       int length = attlist.getLength();
-       for (int i = 0; i < length; i++) {
-           String att = attlist.getQName(i);
-           if (att.equals("xmlns")) {
-               namespaceStack.push( new NSMap("",
-                                              attlist.getValue(i),
-                                              level));
-           } else if (att.startsWith("xmlns:")) {
-               String value = attlist.getValue(i);
-               namespaceStack.push(new NSMap(att.substring(6), value,
-                                             level));
-           }
-       }*/
-
-//     String fullName = mapName(rawName);
-       String fullName = uri + "^" + localName;
-       fobjMaker = (FObj.Maker) fobjTable.get(fullName);
-    PropertyListBuilder currentListBuilder = (PropertyListBuilder)this.propertylistTable.get(uri);
-
-       if (fobjMaker == null) {
-           if (!this.unknownFOs.containsKey(fullName)) {
-               this.unknownFOs.put(fullName, "");
-               MessageHandler.errorln("WARNING: Unknown formatting object "
-                                  + fullName);  
-           }
-           fobjMaker = new FObjMixed.Maker(); // fall back
-       }
-       
-       try {
-               PropertyList list = null;
-               if(currentListBuilder != null) {
-                       list = currentListBuilder.makeList(fullName, attlist,  
-                            (currentFObj == null) ? null : currentFObj.properties, currentFObj);
-               }
-           fobj = fobjMaker.make(currentFObj, list);
-       } catch (FOPException e) {
-               throw new SAXException(e);
-       }
-
-       if (rootFObj == null) {
-           rootFObj = fobj;
-           if (!fobj.getName().equals("svg:svg")) {
-               throw new SAXException(new FOPException("Root element must"
-                                                       + " be svg, not "
-                                                       + fobj.getName())); 
-           }
-       } else {
-           currentFObj.addChild(fobj);
-       }
-       
-       currentFObj = fobj;
+    public void startElement(String uri, String localName,
+                             String rawName, Attributes attlist) throws SAXException {
+        /* the formatting object started */
+        FObj fobj;
+        if (uri.equals("")) {
+            uri = "http://www.w3.org/2000/svg";
+        }
+
+        /* the maker for the formatting object started */
+        FObj.Maker fobjMaker;
+
+        /*     level++;
+               int length = attlist.getLength();
+               for (int i = 0; i < length; i++) {
+                   String att = attlist.getQName(i);
+                   if (att.equals("xmlns")) {
+                       namespaceStack.push( new NSMap("",
+                                                      attlist.getValue(i),
+                                                      level));
+                   } else if (att.startsWith("xmlns:")) {
+                       String value = attlist.getValue(i);
+                       namespaceStack.push(new NSMap(att.substring(6), value,
+                                                     level));
+                   }
+               }*/
+
+        //     String fullName = mapName(rawName);
+        String fullName = uri + "^" + localName;
+        fobjMaker = (FObj.Maker) fobjTable.get(fullName);
+        PropertyListBuilder currentListBuilder =
+          (PropertyListBuilder) this.propertylistTable.get(uri);
+
+        if (fobjMaker == null) {
+            if (!this.unknownFOs.containsKey(fullName)) {
+                this.unknownFOs.put(fullName, "");
+                MessageHandler.errorln(
+                  "WARNING: Unknown formatting object " + fullName);
+            }
+            fobjMaker = new FObjMixed.Maker(); // fall back
+        }
+
+        try {
+            PropertyList list = null;
+            if (currentListBuilder != null) {
+                list = currentListBuilder.makeList(fullName, attlist,
+                                                   (currentFObj == null) ? null :
+                                                   currentFObj.properties, currentFObj);
+            }
+            fobj = fobjMaker.make(currentFObj, list);
+        } catch (FOPException e) {
+            throw new SAXException(e);
+        }
+
+        if (rootFObj == null) {
+            rootFObj = fobj;
+            if (!fobj.getName().equals("svg:svg")) {
+                throw new SAXException(
+                  new FOPException("Root element must" +
+                                   " be svg, not " + fobj.getName()));
+            }
+        } else {
+            currentFObj.addChild(fobj);
+        }
+
+        currentFObj = fobj;
     }
 
     /**
      */
-    public SVGDocument getSVGDocument()
-    {
-       SVGDocument doc = null;
-/*     doc = new SVGDocumentImpl();
-        SVGSVGElement svg = (SVGSVGElement)((org.apache.fop.svg.SVG)rootFObj).createGraphic();
-        doc.appendChild(svg);*/
-       return doc;
+    public SVGDocument getSVGDocument() {
+        SVGDocument doc = null;
+        /*     doc = new SVGDocumentImpl();
+                 SVGSVGElement svg = (SVGSVGElement)((org.apache.fop.svg.SVG)rootFObj).createGraphic();
+                 doc.appendChild(svg);*/
+        return doc;
     }
 }
index 79dabb579aafbfa501c1633860c43a8cc12304d3..b00d1925b600994e5bc8c7bd5a3d57d22b73ae52 100644 (file)
@@ -20,6 +20,7 @@ import org.apache.fop.viewer.*;
 import org.apache.fop.apps.*;
 
 import org.w3c.dom.svg.*;
+import org.w3c.dom.Document;
 
 import org.apache.batik.bridge.*;
 import org.apache.batik.swing.svg.*;
@@ -682,7 +683,7 @@ public class AWTRenderer implements Renderer, Printable, Pageable {
 
 //        this.currentYPosition -= h;
 
-        SVGDocument doc = area.getSVGDocument();
+        Document doc = area.getSVGDocument();
 
         UserAgent userAgent = new MUserAgent(new AffineTransform());
 
index bb3cd727a58b30b099359253525c525add94ec58..b49a05c6bf13114f180f8db04c9bd880ec14834b 100644 (file)
@@ -329,7 +329,7 @@ public class PDFRenderer extends PrintRenderer {
         // place at the current instream offset
         int x = this.currentXPosition;
         int y = this.currentYPosition;
-        SVGSVGElement svg = area.getSVGDocument().getRootElement();
+        SVGSVGElement svg = ((SVGDocument)area.getSVGDocument()).getRootElement();
         int w = (int)(svg.getWidth().getBaseVal().getValue() * 1000);
         int h = (int)(svg.getHeight().getBaseVal().getValue() * 1000);
         float sx = 1, sy = -1;
@@ -358,7 +358,7 @@ public class PDFRenderer extends PrintRenderer {
                           " " + yOffset / 1000f + " cm\n");
 
 
-        SVGDocument doc = area.getSVGDocument();
+        Document doc = area.getSVGDocument();
 
         UserAgent userAgent = new MUserAgent(new AffineTransform());
 
index 32efcd893ca9e1649433ee8abfa95ee139196c2a..b1c5978c51f3c2ab928d0f92d1fe0300d4c9a3d0 100755 (executable)
@@ -16,7 +16,6 @@ import org.apache.fop.fo.properties.*;
 import org.apache.fop.layout.*;
 import org.apache.fop.layout.inline.*;
 import org.apache.fop.datatypes.*;
-import org.apache.fop.svg.PathPoint;
 import org.apache.fop.pdf.PDFPathPaint;
 import org.apache.fop.pdf.PDFColor;
 import org.apache.fop.image.*;
@@ -790,35 +789,6 @@ System.out.println("TXTRenderer.addRect(" + x + ", " + y + ", " + w + ", " + h +
        // Add a polyline or polygon. Does not support fills yet!!!
     protected void addPolyline(Vector points, int posx, int posy, PDFColor fc, PDFColor sc, float sw, boolean close)
     {
-               PathPoint pc;
-       float lastx = 0;
-       float lasty = 0;
-       float curx = 0;
-       float cury = 0;
-       float startx = 0;
-       float starty = 0;
-       Enumeration e = points.elements();
-       if(e.hasMoreElements())
-       {
-               pc = (PathPoint)e.nextElement();
-                       lastx = pc.x + posx / 1000;
-                       lasty = ((pageHeight / 10) - posy/1000) + pc.y;
-                       startx = lastx;
-                       starty = lasty;
-       }
-       while(e.hasMoreElements())
-       {
-               pc = (PathPoint)e.nextElement();
-                       curx = pc.x + posx / 1000;
-                       cury = ((pageHeight / 10) - posy/1000) + pc.y;
-               addLine(lastx, lasty, curx, cury, sc, sw);
-                       lastx = curx;
-                       lasty = cury;
-       }
-       if(close)
-               {
-               addLine(lastx, lasty, startx, starty, sc, sw);
-               }
     }
 
        boolean printBMP(FopImage img, int x, int y, int w, int h) throws FopImageException
index 37bc930fda6d9195f1363bc001d90b671d3847cc..8f93b10345d0d28b633fba0ebdc1032dd52b8fa8 100644 (file)
@@ -1,10 +1,8 @@
-/*****************************************************************************
- * Copyright (C) The Apache Software Foundation. All rights reserved.        *
- * ------------------------------------------------------------------------- *
- * This software is published under the terms of the Apache Software License *
- * version 1.1, a copy of which has been included with this distribution in  *
- * the LICENSE file.                                                         *
- *****************************************************************************/
+/* $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources."
+ */
 
 package org.apache.fop.svg;
 
index a625d90d7e2a5b946d1334d73d77684f9cdc7243..3ac1cd32971fa4b36312239a7e75cfd72fd5bde1 100644 (file)
@@ -1,10 +1,8 @@
-/*****************************************************************************
- * Copyright (C) The Apache Software Foundation. All rights reserved.        *
- * ------------------------------------------------------------------------- *
- * This software is published under the terms of the Apache Software License *
- * version 1.1, a copy of which has been included with this distribution in  *
- * the LICENSE file.                                                         *
- *****************************************************************************/
+/* $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources."
+ */
 
 package org.apache.fop.svg;
 
index fdf67007c43dd16bf8a08da4a6e49375ab89a026..1079a9fab438bf0c40ca652458ee984c22f830ab 100644 (file)
@@ -1,10 +1,8 @@
-/*****************************************************************************
- * Copyright (C) The Apache Software Foundation. All rights reserved.        *
- * ------------------------------------------------------------------------- *
- * This software is published under the terms of the Apache Software License *
- * version 1.1, a copy of which has been included with this distribution in  *
- * the LICENSE file.                                                         *
- *****************************************************************************/
+/* $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources."
+ */
 
 package org.apache.fop.svg;
 
diff --git a/src/org/apache/fop/svg/PathPoint.java b/src/org/apache/fop/svg/PathPoint.java
deleted file mode 100644 (file)
index 672a21d..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*-- $Id$ -- 
-
- ============================================================================
-                   The Apache Software License, Version 1.1
- ============================================================================
-    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
- Redistribution and use in source and binary forms, with or without modifica-
- tion, are permitted provided that the following conditions are met:
- 1. Redistributions of  source code must  retain the above copyright  notice,
-    this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the following disclaimer in the documentation
-    and/or other materials provided with the distribution.
- 3. The end-user documentation included with the redistribution, if any, must
-    include  the following  acknowledgment:  "This product includes  software
-    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
-    Alternately, this  acknowledgment may  appear in the software itself,  if
-    and wherever such third-party acknowledgments normally appear.
- 4. The names "Fop" and  "Apache Software Foundation"  must not be used to
-    endorse  or promote  products derived  from this  software without  prior
-    written permission. For written permission, please contact
-    apache@apache.org.
- 5. Products  derived from this software may not  be called "Apache", nor may
-    "Apache" appear  in their name,  without prior written permission  of the
-    Apache Software Foundation.
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
- APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
- DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
- ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
- (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- This software  consists of voluntary contributions made  by many individuals
- on  behalf of the Apache Software  Foundation and was  originally created by
- James Tauber <jtauber@jtauber.com>. For more  information on the Apache 
- Software Foundation, please see <http://www.apache.org/>.
- */
-package org.apache.fop.svg;
-
-public class PathPoint {
-       public float x;
-       public float y;
-       public PathPoint(float p1, float p2)
-       {
-               x = p1;
-               y = p2;
-       }
-}
diff --git a/src/org/apache/fop/svg/SVG.java b/src/org/apache/fop/svg/SVG.java
deleted file mode 100644 (file)
index 3b9b18c..0000000
+++ /dev/null
@@ -1,390 +0,0 @@
-/*-- $Id$ --
-
- ============================================================================
-                                                                        The Apache Software License, Version 1.1
- ============================================================================
-
-               Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modifica-
- tion, are permitted provided that the following conditions are met:
-
- 1. Redistributions of  source code must  retain the above copyright  notice,
-               this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright notice,
-               this list of conditions and the following disclaimer in the documentation
-               and/or other materials provided with the distribution.
-
- 3. The end-user documentation included with the redistribution, if any, must
-               include  the following  acknowledgment:  "This product includes  software
-               developed  by the  Apache Software Foundation  (http://www.apache.org/)."
-               Alternately, this  acknowledgment may  appear in the software itself,  if
-               and wherever such third-party acknowledgments normally appear.
-
- 4. The names "FOP" and  "Apache Software Foundation"  must not be used to
-               endorse  or promote  products derived  from this  software without  prior
-               written permission. For written permission, please contact
-               apache@apache.org.
-
- 5. Products  derived from this software may not  be called "Apache", nor may
-               "Apache" appear  in their name,  without prior written permission  of the
-               Apache Software Foundation.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
- APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
- DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
- ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
- (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- This software  consists of voluntary contributions made  by many individuals
- on  behalf of the Apache Software  Foundation and was  originally created by
- James Tauber <jtauber@jtauber.com>. For more  information on the Apache
- Software Foundation, please see <http://www.apache.org/>.
-
- */
-
-package org.apache.fop.svg;
-
-// FOP
-import org.apache.fop.fo.*;
-import org.apache.fop.fo.properties.*;
-import org.apache.fop.layout.Area;
-import org.apache.fop.layout.FontState;
-import org.apache.fop.apps.FOPException;
-import org.apache.fop.layout.inline.*;
-
-import org.apache.batik.dom.svg.*;
-import org.w3c.dom.*;
-import org.w3c.dom.svg.*;
-import org.w3c.dom.svg.SVGLength;
-
-import java.io.File;
-
-/**
- * class representing svg:svg pseudo flow object.
- */
-public class SVG extends SVGObj implements GraphicsCreator {
-
-               /**
-                * inner class for making SVG objects.
-                */
-               public static class Maker extends FObj.Maker {
-
-                               /**
-                                * make an SVG object.
-                                *
-                                * @param parent the parent formatting object
-                                * @param propertyList the explicit properties of this object
-                                *
-                                * @return the SVG object
-                                */
-                               public FObj make(FObj parent,
-                                                                                                PropertyList propertyList) throws FOPException {
-                                               return new SVG(parent, propertyList);
-                               }
-               }
-
-               /**
-                * returns the maker for this object.
-                *
-                * @return the maker for SVG objects
-                */
-               public static FObj.Maker maker() {
-                               return new SVG.Maker();
-               }
-
-               FontState fs;
-
-               /**
-                * constructs an SVG object (called by Maker).
-                *
-                * @param parent the parent formatting object
-                * @param propertyList the explicit properties of this object
-                */
-               public SVG(FObj parent, PropertyList propertyList) {
-                               super(parent, propertyList);
-                               this.name = "svg:svg";
-       tagName = "svg";
-       props = new String[] {"width", "height", "x", "y", "id", "style", "class", "visibility",
-        "id", 
-        "class", 
-    
-            
-        
-        "enable-background", 
-    
-        
-        "flood-color", 
-        "flood-opacity", 
-    
-        
-        "fill", 
-        "fill-opacity", 
-        "fill-rule", 
-        "stroke", 
-        "stroke-dasharray", 
-        "stroke-dashoffset", 
-        "stroke-linecap", 
-        "stroke-linejoin", 
-        "stroke-miterlimit", 
-        "stroke-opacity", 
-        "stroke-width", 
-    
-        
-        "font-family", 
-        "font-size", 
-        "font-size-adjust", 
-        "font-stretch", 
-        "font-style", 
-        "font-variant", 
-        "font-weight", 
-    
-        
-        "stop-color", 
-        "stop-opacity", 
-    
-        
-        "clip-path", 
-        "clip-rule", 
-        "color", 
-        "color-interpolation", 
-        "color-rendering", 
-        "cursor", 
-        "display", 
-        "filter", 
-        "image-rendering", 
-        "mask", 
-        "opacity", 
-        "pointer-events", 
-        "space-rendering", 
-        "text-rendering", 
-        "visibility", 
-    
-        
-        "color-profile", 
-    
-        
-        "lighting-color", 
-    
-        
-        "marker-start", 
-        "marker-mid", 
-        "marker-end", 
-    
-        
-        "alignment-baseline", 
-        "baseline-shift", 
-        "direction", 
-        "glyph-orientation-horizontal", 
-        "glyph-orientation-vertical", 
-        "kerning", 
-        "letter-spacing", 
-        "text-decoration", 
-        "unicode-bidi", 
-        "word-spacing", 
-    
-        
-        "writing-mode", 
-        "text-anchor", 
-        "dominant-baseline", 
-    
-        
-        "clip", 
-        "overflow", 
-    
-    
-            "id", 
-            "style", 
-            "transform", 
-            "class", 
-       };
-               }
-
-/*    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();
-                               SVGLength h = ((SVGLengthProperty) this.properties.get("height")).
-                                                                                       getSVGLength();
-                               svgArea = new SVGSVGElementImpl();
-                               SVGAnimatedLengthImpl sal;
-                               if (w == null)
-                                               w = new SVGLengthImpl();
-                               sal = new SVGAnimatedLengthImpl(w);
-                               sal.setBaseVal(w);
-                               svgArea.setWidth(sal);
-                               if (h == null)
-                                               h = new SVGLengthImpl();
-                               sal = new SVGAnimatedLengthImpl(h);
-                               sal.setBaseVal(h);
-                               svgArea.setHeight(sal);
-                               SVGLength lengthProp =
-                                       ((SVGLengthProperty) this.properties.get("x")).
-                                       getSVGLength();
-                               SVGLength x = lengthProp == null ? new SVGLengthImpl() : lengthProp;
-                               sal = new SVGAnimatedLengthImpl(x);
-                               sal.setBaseVal(x);
-                               svgArea.setX(sal);
-                               lengthProp = ((SVGLengthProperty) this.properties.get("y")).
-                                                                                getSVGLength();
-                               SVGLength y = lengthProp == null ? new SVGLengthImpl() : lengthProp;
-                               sal = new SVGAnimatedLengthImpl(y);
-                               sal.setBaseVal(y);
-                               svgArea.setY(sal);
-
-                               svgArea.setStyle(
-                                       ((SVGStyle) this.properties.get("style")).getStyle());
-                               svgArea.setTransform(
-                                       ((SVGTransform) this.properties.get("transform")).
-                                       getTransform());
-                               svgArea.setId(this.properties.get("id").getString());
-                               int numChildren = this.children.size();
-                               for (int i = 0; i < numChildren; i++) {
-                                               FONode fo = (FONode) children.elementAt(i);
-                                               if (fo instanceof GraphicsCreator) {
-                                                               SVGElement impl = ((GraphicsCreator) fo).createGraphic();
-                                                               if (impl != null) {
-                                                                               if (impl instanceof SVGElementImpl)
-                                                                                               ((SVGElementImpl) impl).setClassName(
-                                                                                                       new SVGAnimatedStringImpl(
-                                                                                                               ((FObj) fo).getProperty(
-                                                                                                                       "class").getString()));
-                                                                               svgArea.appendChild((org.w3c.dom.Node) impl);
-                                                               }
-                                                               //                      } else if(fo instanceof Defs) {
-                                                               //                              svgArea.addDefs(((Defs)fo).createDefs());
-                                               }
-                                               Status status;
-                               }
-                               return svgArea;
-               }*/
-
-               /**
-                * layout this formatting object.
-                *
-                * @param area the area to layout the object into
-                *
-                * @return the status of the layout
-                */
-               public Status layout(Area area) throws FOPException {
-
-                               if (!(area instanceof ForeignObjectArea)) {
-                                               // this is an error
-                                               throw new FOPException("SVG not in fo:instream-foreign-object");
-                               }
-
-                               if (this.marker == BREAK_AFTER) {
-                                               return new Status(Status.OK);
-                               }
-
-                               if (this.marker == START) {
-                                               /* retrieve properties */
-                                               String id = this.properties.get("id").getString();
-                                               String fontFamily =
-                                                       this.properties.get("font-family").getString();
-                                               String fontStyle =
-                                                       this.properties.get("font-style").getString();
-                                               String fontWeight =
-                                                       this.properties.get("font-weight").getString();
-                                               String fontSz = this.properties.get("font-size").getString();
-                                               int fontSize = area.getFontState().getFontSize();
-                                               try {
-                                                   fontSize = Integer.parseInt(fontSz);
-                                               } catch(Exception e) {
-                                               }
-
-                                               // FIX-ME: should get the font-variant property
-                                               this.fs = new FontState(area.getFontInfo(), fontFamily,
-                                                                                                                                               fontStyle, fontWeight, fontSize, FontVariant.NORMAL);
-
-//                                             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());
-                                try {
-                                    doc.setURLObject(new File(".").toURL());
-                                } catch(Exception e) {
-                                }
-
-                DefaultSVGContext dc = new DefaultSVGContext() {
-                        public float getPixelToMM() {
-                            return 0.264583333333333333333f; // 72 dpi
-                        }
-                        public float getViewportWidth() {
-                            return 100;
-                        }
-                        public float getViewportHeight() {
-                            return 100;
-                        }
-                    };
-                doc.setSVGContext(dc);
-
-                Element topLevel = doc.createElementNS("http://www.w3.org/2000/svg", tagName);
-                for(int count = 0; count < props.length; count++) {
-                    if(this.properties.get(props[count]) != null) {
-                        String rf = this.properties.get(props[count]).getString();
-                        if(rf != null)
-                            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);
-                               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());
-
-                               /* return status */
-                               return new Status(Status.OK);
-               }
-}
index ea7e60d9d901cbcc838048f16b5f57e52450994e..dfff7f3daf537af2ac84ea2c09209c691869b32f 100644 (file)
@@ -1,53 +1,9 @@
-/*-- $Id$ -- 
-
- ============================================================================
-                   The Apache Software License, Version 1.1
- ============================================================================
-    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
- Redistribution and use in source and binary forms, with or without modifica-
- tion, are permitted provided that the following conditions are met:
- 1. Redistributions of  source code must  retain the above copyright  notice,
-    this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the following disclaimer in the documentation
-    and/or other materials provided with the distribution.
- 3. The end-user documentation included with the redistribution, if any, must
-    include  the following  acknowledgment:  "This product includes  software
-    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
-    Alternately, this  acknowledgment may  appear in the software itself,  if
-    and wherever such third-party acknowledgments normally appear.
- 4. The names "Fop" and  "Apache Software Foundation"  must not be used to
-    endorse  or promote  products derived  from this  software without  prior
-    written permission. For written permission, please contact
-    apache@apache.org.
- 5. Products  derived from this software may not  be called "Apache", nor may
-    "Apache" appear  in their name,  without prior written permission  of the
-    Apache Software Foundation.
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
- APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
- DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
- ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
- (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- This software  consists of voluntary contributions made  by many individuals
- on  behalf of the Apache Software  Foundation and was  originally created by
- James Tauber <jtauber@jtauber.com>. For more  information on the Apache 
- Software Foundation, please see <http://www.apache.org/>.
+/* $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources."
  */
+
 package org.apache.fop.svg;
 
 // FOP
@@ -60,48 +16,44 @@ import java.util.*;
 import org.w3c.dom.svg.*;
 import org.w3c.dom.*;
 
-
 /**
  * class representing an SVG area in which the SVG graphics sit
  */
-public class SVGArea extends Area implements GetSVGDocument {
-       SVGDocument doc;
-
-       /**
-        * construct an SVG area
-        *
-        * @param fontState the font state
-        * @param width the width of the area
-        * @param height the height of the area
-        */
-       public SVGArea(FontState fontState, float width, float height)  {
-               super(fontState, (int)width * 1000, (int)height * 1000);
-               currentHeight = (int)height * 1000;
-               contentRectangleWidth = (int)width * 1000;
-       }
+public class SVGArea extends Area {
+    Document doc;
+
+    /**
+     * construct an SVG area
+     *
+     * @param fontState the font state
+     * @param width the width of the area
+     * @param height the height of the area
+     */
+    public SVGArea(FontState fontState, float width, float height) {
+        super(fontState, (int) width * 1000, (int) height * 1000);
+        currentHeight = (int) height * 1000;
+        contentRectangleWidth = (int) width * 1000;
+    }
 
-       public void setSVGDocument(SVGDocument doc)
-       {
-               this.doc = doc;
-       }
+    public void setSVGDocument(Document doc) {
+        this.doc = doc;
+    }
 
-       public SVGDocument getSVGDocument() throws DOMException
-       {
-               return doc;
-       }
+    public Document getSVGDocument() {
+        return doc;
+    }
 
-    public int getWidth()
-    {
-//        return getSVGDocument().getRootElement().getWidth().getBaseVal().getValue();
+    public int getWidth() {
+        //        return getSVGDocument().getRootElement().getWidth().getBaseVal().getValue();
         return contentRectangleWidth;
     }
 
-       /**
-        * render the SVG.
-        *
-        * @param renderer the Renderer to use
-        */
-       public void render(Renderer renderer) {
-               renderer.renderSVGArea(this);
-       }
+    /**
+     * render the SVG.
+     *
+     * @param renderer the Renderer to use
+     */
+    public void render(Renderer renderer) {
+        renderer.renderSVGArea(this);
+    }
 }
index 0bb662f1e6f1d5affd6ec81ffcd228b4b19989f9..2a49659a0b82e76386b78db4e008c9a9ad40a930 100644 (file)
@@ -1,52 +1,7 @@
-/*-- $Id$ -- 
-
- ============================================================================
-                   The Apache Software License, Version 1.1
- ============================================================================
-    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
- Redistribution and use in source and binary forms, with or without modifica-
- tion, are permitted provided that the following conditions are met:
- 1. Redistributions of  source code must  retain the above copyright  notice,
-    this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the following disclaimer in the documentation
-    and/or other materials provided with the distribution.
- 3. The end-user documentation included with the redistribution, if any, must
-    include  the following  acknowledgment:  "This product includes  software
-    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
-    Alternately, this  acknowledgment may  appear in the software itself,  if
-    and wherever such third-party acknowledgments normally appear.
- 4. The names "FOP" and  "Apache Software Foundation"  must not be used to
-    endorse  or promote  products derived  from this  software without  prior
-    written permission. For written permission, please contact
-    apache@apache.org.
- 5. Products  derived from this software may not  be called "Apache", nor may
-    "Apache" appear  in their name,  without prior written permission  of the
-    Apache Software Foundation.
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
- APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
- DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
- ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
- (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- This software  consists of voluntary contributions made  by many individuals
- on  behalf of the Apache Software  Foundation and was  originally created by
- James Tauber <jtauber@jtauber.com>. For more  information on the Apache 
- Software Foundation, please see <http://www.apache.org/>.
+/* $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources."
  */
 
 package org.apache.fop.svg;
@@ -82,40 +37,6 @@ import java.io.PrintWriter;
 import java.io.IOException;
 
 /**
- * <P>Primary class that drives overall FOP process.
- *
- * <P>Once this class is instantiated, methods are called to set the
- * Renderer to use, the (possibly multiple) ElementMapping(s) to
- * use and the PrintWriter to use to output the results of the
- * rendering (where applicable). In the case of the Renderer and
- * ElementMapping(s), the Driver may be supplied either with the
- * object itself, or the name of the class, in which case Driver will
- * instantiate the class itself. The advantage of the latter is it
- * enables runtime determination of Renderer and ElementMapping(s).
- *
- * <P>Once the Driver is set up, the buildFOTree method
- * is called. Depending on whether DOM or SAX is being used, the
- * invocation of the method is either buildFOTree(Document) or
- * buildFOTree(Parser, InputSource) respectively.
- *
- * <P>A third possibility may be used to build the FO Tree, namely
- * calling getDocumentHandler() and firing the SAX events yourself.
- *
- * <P>Once the FO Tree is built, the format() and render() methods may be
- * called in that order.
- *
- * <P>Here is an example use of Driver from CommandLine.java:
- *
- * <PRE>
- *   Driver driver = new Driver();
- *   driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer", version);
- *   driver.addElementMapping("org.apache.fop.fo.StandardElementMapping");
- *   driver.addElementMapping("org.apache.fop.svg.SVGElementMapping");
- *   driver.setWriter(new PrintWriter(new FileWriter(args[1])));
- *   driver.buildFOTree(parser, fileInputSource(args[0]));
- *   driver.format();
- *   driver.render();
- * </PRE>
  */
 public class SVGDriver {
 
@@ -127,76 +48,86 @@ public class SVGDriver {
 
     /** create a new Driver */
     public SVGDriver() {
-       this.treeBuilder = new SVGTreeBuilder();
+        this.treeBuilder = new SVGTreeBuilder();
     }
-   
+
     /**
      * add the given element mapping.
      *
      * an element mapping maps element names to Java classes
      */
     public void addElementMapping(ElementMapping mapping) {
-       mapping.addToBuilder(this.treeBuilder);
+        mapping.addToBuilder(this.treeBuilder);
     }
-    
+
     /**
      * add the element mapping with the given class name
      */
     public void addElementMapping(String mappingClassName) {
-       createElementMapping(mappingClassName).addToBuilder(this.treeBuilder);
+        createElementMapping(mappingClassName).addToBuilder(
+          this.treeBuilder);
     }
 
     /**
      * protected method used by addElementMapping(String) to
      * instantiate element mapping class
      */
-    protected ElementMapping createElementMapping(String mappingClassName) {
-    MessageHandler.logln("using element mapping " + mappingClassName);
-
-       try {
-           return (ElementMapping)
-               Class.forName(mappingClassName).newInstance();
-       } catch (ClassNotFoundException e) {
-           MessageHandler.errorln("Could not find " + mappingClassName);
-       } catch (InstantiationException e) {
-           MessageHandler.errorln("Could not instantiate "
-                              + mappingClassName);
-       } catch (IllegalAccessException e) {
-           MessageHandler.errorln("Could not access " + mappingClassName);
-       } catch (ClassCastException e) {
-           MessageHandler.errorln(mappingClassName + " is not an element mapping"); 
-       }
-       return null;
+    protected ElementMapping createElementMapping(
+      String mappingClassName) {
+        MessageHandler.logln("using element mapping " + mappingClassName);
+
+        try {
+            return (ElementMapping) Class.forName(
+                     mappingClassName).newInstance();
+        } catch (ClassNotFoundException e) {
+            MessageHandler.errorln("Could not find " + mappingClassName);
+        }
+        catch (InstantiationException e) {
+            MessageHandler.errorln("Could not instantiate " +
+                                   mappingClassName);
+        }
+        catch (IllegalAccessException e) {
+            MessageHandler.errorln("Could not access " + mappingClassName);
+        }
+        catch (ClassCastException e) {
+            MessageHandler.errorln(mappingClassName + " is not an element mapping");
+        }
+        return null;
     }
 
     /**
      * add the element mapping with the given class name
      */
     public void addPropertyList(String listClassName) {
-       createPropertyList(listClassName).addToBuilder(this.treeBuilder);
+        createPropertyList(listClassName).addToBuilder(this.treeBuilder);
     }
 
     /**
      * protected method used by addPropertyList(String) to
      * instantiate list mapping class
      */
-    protected PropertyListMapping createPropertyList(String listClassName) {
-    MessageHandler.logln("using property list mapping " + listClassName);
-
-       try {
-           return (PropertyListMapping)
-               Class.forName(listClassName).newInstance();
-       } catch (ClassNotFoundException e) {
-           MessageHandler.errorln("Could not find " + listClassName);
-       } catch (InstantiationException e) {
-           MessageHandler.errorln("Could not instantiate "
-                              + listClassName);
-       } catch (IllegalAccessException e) {
-           MessageHandler.errorln("Could not access " + listClassName);
-       } catch (ClassCastException e) {
-           MessageHandler.errorln(listClassName + " is not an property list"); 
-       }
-       return null;
+    protected PropertyListMapping createPropertyList(
+      String listClassName) {
+        MessageHandler.logln("using property list mapping " +
+                             listClassName);
+
+        try {
+            return (PropertyListMapping) Class.forName(
+                     listClassName).newInstance();
+        } catch (ClassNotFoundException e) {
+            MessageHandler.errorln("Could not find " + listClassName);
+        }
+        catch (InstantiationException e) {
+            MessageHandler.errorln("Could not instantiate " +
+                                   listClassName);
+        }
+        catch (IllegalAccessException e) {
+            MessageHandler.errorln("Could not access " + listClassName);
+        }
+        catch (ClassCastException e) {
+            MessageHandler.errorln(listClassName + " is not an property list");
+        }
+        return null;
     }
 
     /**
@@ -207,129 +138,124 @@ public class SVGDriver {
      * events but isn't a SAX Parser itself.
      */
     public ContentHandler getContentHandler() {
-       return this.treeBuilder;
+        return this.treeBuilder;
     }
 
     /**
      * build the formatting object tree using the given SAX Parser and
      * SAX InputSource
      */
-    public void buildSVGTree(XMLReader parser, InputSource source)
-               throws FOPException {
-
-       parser.setContentHandler(this.treeBuilder);
-       try {
-           parser.parse(source);
-       } catch (SAXException e) {
-e.printStackTrace();
-           if (e.getException() instanceof FOPException)
-               throw (FOPException) e.getException();
-           else
-               throw new FOPException(e.getMessage());
-       } catch (IOException e) {
-           throw new FOPException(e.getMessage());
-       }
+    public void buildSVGTree(XMLReader parser,
+                             InputSource source) throws FOPException {
+
+        parser.setContentHandler(this.treeBuilder);
+        try {
+            parser.parse(source);
+        } catch (SAXException e) {
+            e.printStackTrace();
+            if (e.getException() instanceof FOPException)
+                throw (FOPException) e.getException();
+            else
+                throw new FOPException(e.getMessage());
+        }
+        catch (IOException e) {
+            throw new FOPException(e.getMessage());
+        }
     }
 
     /**
      * build the formatting object tree using the given DOM Document
      */
-    public void buildSVGTree(Document document) 
-       throws FOPException {
-
-       /* most of this code is modified from John Cowan's */
-
-       Node currentNode;
-       AttributesImpl currentAtts;
-       
-       /* temporary array for making Strings into character arrays */
-       char[] array = null;
-
-       currentAtts = new AttributesImpl();
-       
-       /* start at the document element */
-       currentNode = document;
-
-       try {
-           while (currentNode != null) {
-               switch (currentNode.getNodeType()) {
-               case Node.DOCUMENT_NODE:
-                   this.treeBuilder.startDocument();
-                   break;
-               case Node.CDATA_SECTION_NODE:
-               case Node.TEXT_NODE:
-                   String data = currentNode.getNodeValue();
-                   int datalen = data.length();
-                   if (array == null || array.length < datalen) {
-                       /* if the array isn't big enough, make a new
-                          one */
-                       array = new char[datalen];
-                   }
-                   data.getChars(0, datalen, array, 0);
-                   this.treeBuilder.characters(array, 0, datalen);
-                   break;
-               case Node.PROCESSING_INSTRUCTION_NODE:
-                   this.treeBuilder.processingInstruction(
-                       currentNode.getNodeName(),
-                       currentNode.getNodeValue());
-                   break;
-               case Node.ELEMENT_NODE:
-                   NamedNodeMap map = currentNode.getAttributes();
-                   currentAtts.clear();
-                   for (int i = map.getLength() - 1; i >= 0; i--) {
-                       Attr att = (Attr)map.item(i);
-                       currentAtts.addAttribute("",
-                         att.getName(),
-                         "",
-                         "CDATA",
-                         att.getValue());
-                   }
-                   this.treeBuilder.startElement(
-                       "", currentNode.getNodeName(), "", currentAtts);
-                   break;
-               }
-               
-               Node nextNode = currentNode.getFirstChild();
-               if (nextNode != null) {
-                   currentNode = nextNode;
-                   continue;
-               }
-               
-               while (currentNode != null) {
-                   switch (currentNode.getNodeType()) {
-                   case Node.DOCUMENT_NODE:
-                       this.treeBuilder.endDocument();
-                       break;
-                   case Node.ELEMENT_NODE:
-                       this.treeBuilder.endElement(
-                           "", currentNode.getNodeName(), "" );
-                       break;
-                   }
-                   
-                   nextNode = currentNode.getNextSibling();
-                   if (nextNode != null) {
-                       currentNode = nextNode;
-                       break;
-                   }
-                   
-                   currentNode = currentNode.getParentNode();
-               }
-           }
-       } catch (SAXException e) {
-           throw new FOPException(e.getMessage());
-       }
+    public void buildSVGTree(Document document) throws FOPException {
+
+        /* most of this code is modified from John Cowan's */
+
+        Node currentNode;
+        AttributesImpl currentAtts;
+
+        /* temporary array for making Strings into character arrays */
+        char[] array = null;
+
+        currentAtts = new AttributesImpl();
+
+        /* start at the document element */
+        currentNode = document;
+
+        try {
+            while (currentNode != null) {
+                switch (currentNode.getNodeType()) {
+                    case Node.DOCUMENT_NODE:
+                        this.treeBuilder.startDocument();
+                        break;
+                    case Node.CDATA_SECTION_NODE:
+                    case Node.TEXT_NODE:
+                        String data = currentNode.getNodeValue();
+                        int datalen = data.length();
+                        if (array == null || array.length < datalen) {
+                            /* if the array isn't big enough, make a new
+                                one */
+                            array = new char[datalen];
+                        }
+                        data.getChars(0, datalen, array, 0);
+                        this.treeBuilder.characters(array, 0, datalen);
+                        break;
+                    case Node.PROCESSING_INSTRUCTION_NODE:
+                        this.treeBuilder.processingInstruction(
+                          currentNode.getNodeName(),
+                          currentNode.getNodeValue());
+                        break;
+                    case Node.ELEMENT_NODE:
+                        NamedNodeMap map = currentNode.getAttributes();
+                        currentAtts.clear();
+                        for (int i = map.getLength() - 1; i >= 0; i--) {
+                            Attr att = (Attr) map.item(i);
+                            currentAtts.addAttribute("", att.getName(),
+                                                     "", "CDATA", att.getValue());
+                        }
+                        this.treeBuilder.startElement("",
+                                                      currentNode.getNodeName(), "", currentAtts);
+                        break;
+                }
+
+                Node nextNode = currentNode.getFirstChild();
+                if (nextNode != null) {
+                    currentNode = nextNode;
+                    continue;
+                }
+
+                while (currentNode != null) {
+                    switch (currentNode.getNodeType()) {
+                        case Node.DOCUMENT_NODE:
+                            this.treeBuilder.endDocument();
+                            break;
+                        case Node.ELEMENT_NODE:
+                            this.treeBuilder.endElement("",
+                                                        currentNode.getNodeName(), "");
+                            break;
+                    }
+
+                    nextNode = currentNode.getNextSibling();
+                    if (nextNode != null) {
+                        currentNode = nextNode;
+                        break;
+                    }
+
+                    currentNode = currentNode.getParentNode();
+                }
+            }
+        } catch (SAXException e) {
+            throw new FOPException(e.getMessage());
+        }
     }
 
-    public SVGDocument getSVGDocument()
-    {
+    public SVGDocument getSVGDocument() {
         return this.treeBuilder.getSVGDocument();
     }
 
     /**
      * format the formatting object tree into an area tree
      */
-    public void format()
-       throws FOPException {
-       FontInfo fontInfo = new FontInfo();
+    public void format() throws FOPException {
+        FontInfo fontInfo = new FontInfo();
     }
 }
diff --git a/src/org/apache/fop/svg/SVGElement.java b/src/org/apache/fop/svg/SVGElement.java
new file mode 100644 (file)
index 0000000..4f6eadc
--- /dev/null
@@ -0,0 +1,183 @@
+/* $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources."
+ */
+
+package org.apache.fop.svg;
+
+// FOP
+import org.apache.fop.fo.*;
+import org.apache.fop.fo.properties.*;
+import org.apache.fop.layout.Area;
+import org.apache.fop.layout.FontState;
+import org.apache.fop.apps.FOPException;
+import org.apache.fop.layout.inline.*;
+
+import org.apache.batik.dom.svg.*;
+import org.w3c.dom.*;
+import org.w3c.dom.svg.*;
+import org.w3c.dom.svg.SVGLength;
+
+import org.w3c.dom.DOMImplementation;
+import org.apache.batik.dom.svg.SVGDOMImplementation;
+
+import java.io.File;
+
+/**
+ * class representing svg:svg pseudo flow object.
+ */
+public class SVGElement extends Svg {
+
+    /**
+     * inner class for making SVG objects.
+     */
+    public static class Maker extends FObj.Maker {
+
+        /**
+         * make an SVG object.
+         *
+         * @param parent the parent formatting object
+         * @param propertyList the explicit properties of this object
+         *
+         * @return the SVG object
+         */
+        public FObj make(FObj parent,
+                         PropertyList propertyList) throws FOPException {
+            return new SVGElement(parent, propertyList);
+        }
+    }
+
+    /**
+     * returns the maker for this object.
+     *
+     * @return the maker for SVG objects
+     */
+    public static FObj.Maker maker() {
+        return new SVGElement.Maker();
+    }
+
+    FontState fs;
+
+    /**
+     * constructs an SVG object (called by Maker).
+     *
+     * @param parent the parent formatting object
+     * @param propertyList the explicit properties of this object
+     */
+    public SVGElement(FObj parent, PropertyList propertyList) {
+        super(parent, propertyList);
+    }
+
+    /**
+     * layout this formatting object.
+     *
+     * @param area the area to layout the object into
+     *
+     * @return the status of the layout
+     */
+    public Status layout(Area area) throws FOPException {
+
+        if (!(area instanceof ForeignObjectArea)) {
+            // this is an error
+            throw new FOPException("SVG not in fo:instream-foreign-object");
+        }
+
+        /*if (this.marker == BREAK_AFTER) {
+            return new Status(Status.OK);
+        }*/
+
+        if (this.marker == START) {
+            /* retrieve properties */
+            String id = this.properties.get("id").getString();
+            String fontFamily =
+              this.properties.get("font-family").getString();
+            String fontStyle =
+              this.properties.get("font-style").getString();
+            String fontWeight =
+              this.properties.get("font-weight").getString();
+            String fontSz = this.properties.get("font-size").getString();
+            int fontSize = area.getFontState().getFontSize();
+            try {
+                fontSize = Integer.parseInt(fontSz);
+            } catch (Exception e) {
+            }
+
+            // FIX-ME: should get the font-variant property
+            this.fs = new FontState(area.getFontInfo(), fontFamily,
+                                    fontStyle, fontWeight, fontSize, FontVariant.NORMAL);
+
+            //                                         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. */
+
+        DOMImplementation impl = SVGDOMImplementation.getDOMImplementation();
+        String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
+        Document doc = impl.createDocument(svgNS, "svg", null);
+
+        Element svgRoot = doc.getDocumentElement();
+
+        try {
+            ((SVGOMDocument)doc).setURLObject(new File(".").toURL());
+        } catch (Exception e) {
+        }
+
+        DefaultSVGContext dc = new DefaultSVGContext() {
+                                   public float getPixelToMM() {
+                                       return 0.264583333333333333333f;
+                                       // 72 dpi
+                                   }
+                                   public float getViewportWidth() {
+                                       return 100;
+                                   }
+                                   public float getViewportHeight() {
+                                       return 100;
+                                   }
+                               };
+        ((SVGOMDocument)doc).setSVGContext(dc);
+
+        for (int count = 0; count < props.length; count++) {
+            if (this.properties.get(props[count]) != null) {
+                String rf = this.properties.get(props[count]).getString();
+                if (rf != null)
+                    svgRoot.setAttributeNS(null, 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 SVGObj) {
+                ((SVGObj) child).addGraphic(doc, svgRoot);
+            } else if (child instanceof String) {
+                org.w3c.dom.Text text = doc.createTextNode((String) child);
+                svgRoot.appendChild(text);
+            }
+        }
+
+        float width = ((SVGSVGElement) svgRoot).getWidth().getBaseVal().
+                      getValue();
+        float height = ((SVGSVGElement) svgRoot).getHeight().getBaseVal().
+                       getValue();
+        SVGArea svg = new SVGArea(fs, width, height);
+        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());
+
+        /* return status */
+        return new Status(Status.OK);
+    }
+}
index cb73057504da65f5aff7fbef23973444b4a9cec1..eb47c086578cc8da32bf835a2a39e2d7c2eeeada 100644 (file)
@@ -1,53 +1,9 @@
-/*-- $Id$ -- 
-
- ============================================================================
-                   The Apache Software License, Version 1.1
- ============================================================================
-    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
- Redistribution and use in source and binary forms, with or without modifica-
- tion, are permitted provided that the following conditions are met:
- 1. Redistributions of  source code must  retain the above copyright  notice,
-    this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the following disclaimer in the documentation
-    and/or other materials provided with the distribution.
- 3. The end-user documentation included with the redistribution, if any, must
-    include  the following  acknowledgment:  "This product includes  software
-    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
-    Alternately, this  acknowledgment may  appear in the software itself,  if
-    and wherever such third-party acknowledgments normally appear.
- 4. The names "Fop" and  "Apache Software Foundation"  must not be used to
-    endorse  or promote  products derived  from this  software without  prior
-    written permission. For written permission, please contact
-    apache@apache.org.
- 5. Products  derived from this software may not  be called "Apache", nor may
-    "Apache" appear  in their name,  without prior written permission  of the
-    Apache Software Foundation.
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
- APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
- DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
- ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
- (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- This software  consists of voluntary contributions made  by many individuals
- on  behalf of the Apache Software  Foundation and was  originally created by
- James Tauber <jtauber@jtauber.com>. For more  information on the Apache 
- Software Foundation, please see <http://www.apache.org/>.
+/* $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources."
  */
+
 package org.apache.fop.svg;
 
 import org.apache.fop.fo.TreeBuilder;
@@ -56,61 +12,60 @@ import org.apache.fop.fo.ElementMapping;
 
 public class SVGElementMapping implements ElementMapping {
 
-       public void addToBuilder(TreeBuilder builder) {
-               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());
-               builder.addMapping(uri, "text", Text.maker());
+    public void addToBuilder(TreeBuilder builder) {
+        String uri = "http://www.w3.org/2000/svg";
+        builder.addMapping(uri, "svg", SVGElement.maker());
+        builder.addMapping(uri, "rect", Rect.maker());
+        builder.addMapping(uri, "line", Line.maker());
+        builder.addMapping(uri, "text", Text.maker());
 
-               builder.addMapping(uri, "desc", Desc.maker());
-               builder.addMapping(uri, "title", Title.maker());
-               builder.addMapping(uri, "circle", Circle.maker());
-               builder.addMapping(uri, "ellipse", Ellipse.maker());
-               builder.addMapping(uri, "g", G.maker());
-               builder.addMapping(uri, "polyline", Polyline.maker());
-               builder.addMapping(uri, "polygon", Polygon.maker());
-               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, "image", Image.maker());
-               builder.addMapping(uri, "style", Style.maker());
+        builder.addMapping(uri, "desc", Desc.maker());
+        builder.addMapping(uri, "title", Title.maker());
+        builder.addMapping(uri, "circle", Circle.maker());
+        builder.addMapping(uri, "ellipse", Ellipse.maker());
+        builder.addMapping(uri, "g", G.maker());
+        builder.addMapping(uri, "polyline", Polyline.maker());
+        builder.addMapping(uri, "polygon", Polygon.maker());
+        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, "image", Image.maker());
+        builder.addMapping(uri, "style", Style.maker());
 
-// elements in progress
-               builder.addMapping(uri, "textPath", TextPath.maker());
-               builder.addMapping(uri, "clipPath", ClipPath.maker());
-               builder.addMapping(uri, "mask", Mask.maker());
-               builder.addMapping(uri, "linearGradient", LinearGradient.maker());
-               builder.addMapping(uri, "radialGradient", RadialGradient.maker());
-               builder.addMapping(uri, "stop", Stop.maker());
-               builder.addMapping(uri, "a", A.maker());
-               builder.addMapping(uri, "switch", Switch.maker());
-               builder.addMapping(uri, "symbol", Symbol.maker());
+        builder.addMapping(uri, "textPath", TextPath.maker());
+        builder.addMapping(uri, "clipPath", ClipPath.maker());
+        builder.addMapping(uri, "mask", Mask.maker());
+        builder.addMapping(uri, "linearGradient", LinearGradient.maker());
+        builder.addMapping(uri, "radialGradient", RadialGradient.maker());
+        builder.addMapping(uri, "stop", Stop.maker());
+        builder.addMapping(uri, "a", A.maker());
+        builder.addMapping(uri, "switch", Switch.maker());
+        builder.addMapping(uri, "symbol", Symbol.maker());
 
-// elements below will not work
-               builder.addMapping(uri, "pattern", Pattern.maker());
+        builder.addMapping(uri, "pattern", Pattern.maker());
 
-               builder.addMapping(uri, "marker", Marker.maker());
-               builder.addMapping(uri, "animate", Animate.maker());
-               builder.addMapping(uri, "altGlyph", AltGlyph.maker());
-               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, "set", Set.maker());
-               builder.addMapping(uri, "animateMotion", AnimateMotion.maker());
-               builder.addMapping(uri, "animateColor", AnimateColor.maker());
-               builder.addMapping(uri, "animateTransform", AnimateTransform.maker());
-               builder.addMapping(uri, "cursor", Cursor.maker());
-               builder.addMapping(uri, "filter", Filter.maker());
+        builder.addMapping(uri, "marker", Marker.maker());
+        builder.addMapping(uri, "animate", Animate.maker());
+        builder.addMapping(uri, "altGlyph", AltGlyph.maker());
+        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, "set", Set.maker());
+        builder.addMapping(uri, "animateMotion", AnimateMotion.maker());
+        builder.addMapping(uri, "animateColor", AnimateColor.maker());
+        builder.addMapping(uri, "animateTransform",
+                           AnimateTransform.maker());
+        builder.addMapping(uri, "cursor", Cursor.maker());
+        builder.addMapping(uri, "filter", Filter.maker());
 
-                builder.addMapping(uri, "feFlood", FeFlood.maker());
-                builder.addMapping(uri, "feGaussianBlur", FeGaussianBlur.maker());
-                builder.addMapping(uri, "feOffset", FeOffset.maker());
-                builder.addMapping(uri, "feMerge", FeMerge.maker());
-                builder.addMapping(uri, "feMergeNode", FeMergeNode.maker());
-       }
+        builder.addMapping(uri, "feFlood", FeFlood.maker());
+        builder.addMapping(uri, "feGaussianBlur", FeGaussianBlur.maker());
+        builder.addMapping(uri, "feOffset", FeOffset.maker());
+        builder.addMapping(uri, "feMerge", FeMerge.maker());
+        builder.addMapping(uri, "feMergeNode", FeMergeNode.maker());
+    }
 }
index c5d53ad6f9085e93a1d595e1e63c5841e22e7610..8f8384449185cbf9210c2f78d41cf4265ac12286 100644 (file)
@@ -1,52 +1,7 @@
-/*-- $Id$ -- 
-
- ============================================================================
-                   The Apache Software License, Version 1.1
- ============================================================================
-    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
- Redistribution and use in source and binary forms, with or without modifica-
- tion, are permitted provided that the following conditions are met:
- 1. Redistributions of  source code must  retain the above copyright  notice,
-    this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the following disclaimer in the documentation
-    and/or other materials provided with the distribution.
- 3. The end-user documentation included with the redistribution, if any, must
-    include  the following  acknowledgment:  "This product includes  software
-    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
-    Alternately, this  acknowledgment may  appear in the software itself,  if
-    and wherever such third-party acknowledgments normally appear.
- 4. The names "FOP" and  "Apache Software Foundation"  must not be used to
-    endorse  or promote  products derived  from this  software without  prior
-    written permission. For written permission, please contact
-    apache@apache.org.
- 5. Products  derived from this software may not  be called "Apache", nor may
-    "Apache" appear  in their name,  without prior written permission  of the
-    Apache Software Foundation.
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
- APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
- DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
- ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
- (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- This software  consists of voluntary contributions made  by many individuals
- on  behalf of the Apache Software  Foundation and was  originally created by
- James Tauber <jtauber@jtauber.com>. For more  information on the Apache 
- Software Foundation, please see <http://www.apache.org/>.
+/* $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources."
  */
 
 package org.apache.fop.svg;
@@ -69,39 +24,43 @@ import java.util.*;
  * that this element is not being layed out inside some incorrect
  * element.
  */
-public abstract class SVGObj extends FObj implements GraphicsCreator {
+public abstract class SVGObj extends FObj {
 
-       String tagName = "";
-       String[] props = {};
-       /**
-        *
-        * @param parent the parent formatting object
-        * @param propertyList the explicit properties of this object
-        */
-       public SVGObj(FObj parent, PropertyList propertyList) {
-               super(parent, propertyList);
-       }
+    String tagName = "";
+    String[] props = {};
+    /**
+     *
+     * @param parent the parent formatting object
+     * @param propertyList the explicit properties of this object
+     */
+    public SVGObj(FObj parent, PropertyList propertyList) {
+        super(parent, propertyList);
+    }
 
     protected static Hashtable ns = new Hashtable();
 
     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++) {
-            if(this.properties.get(props[count]) != null) {
+        Element element = doc.createElementNS("http://www.w3.org/2000/svg",
+                                              tagName);
+        //        Element element = doc.createElement(tagName);
+        for (int count = 0; count < props.length; count++) {
+            if (this.properties.get(props[count]) != null) {
                 String rf = this.properties.get(props[count]).getString();
-                if(rf != null) {
-                    if(props[count].indexOf(":") == -1) {
+                if (rf != null) {
+                    if (props[count].indexOf(":") == -1) {
                         element.setAttribute(props[count], rf);
                     } else {
-                        String pref = props[count].substring(0, props[count].indexOf(":"));
-System.out.println(pref);
-                        if(pref.equals("xmlns")) {
-                            ns.put(props[count].substring(props[count].indexOf(":") + 1), rf);
-System.out.println(ns);
+                        String pref = props[count].substring(0,
+                                                             props[count].indexOf(":"));
+                        System.out.println(pref);
+                        if (pref.equals("xmlns")) {
+                            ns.put(props[count].substring(
+                                     props[count].indexOf(":") + 1), rf);
+                            System.out.println(ns);
                         }
                         ns.put("xlink", "http://www.w3.org/1999/xlink");
-                        element.setAttributeNS((String)ns.get(pref), props[count], rf);
+                        element.setAttributeNS((String) ns.get(pref),
+                                               props[count], rf);
                     }
                 }
             }
@@ -110,30 +69,27 @@ System.out.println(ns);
         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);
+            if (child instanceof SVGObj) {
+                ((SVGObj) child).addGraphic(doc, element);
             } else if (child instanceof String) {
-                org.w3c.dom.Text text = doc.createTextNode((String)child);
+                org.w3c.dom.Text text = doc.createTextNode((String) child);
                 element.appendChild(text);
             }
         }
     }
 
-       /**
-        * layout this formatting object.
-        *
-        * @param area the area to layout the object into
-        * @return the status of the layout
-        */
-       public Status layout(Area area) throws FOPException
-       {
-//             if (area instanceof SVGArea) {
-//             } else {
-                       /* otherwise generate a warning */
-                       System.err.println("WARNING: " + this.name + " outside svg:svg");
-//             }
+    /**
+     * layout this formatting object.
+     *
+     * @param area the area to layout the object into
+     * @return the status of the layout
+     */
+    public Status layout(Area area) throws FOPException {
+        /* generate a warning */
+        System.err.println("WARNING: " + this.name + " outside svg:svg");
 
-               /* return status */
-               return new Status(Status.OK);
-       }
+        /* return status */
+        return new Status(Status.OK);
+    }
 }
+
diff --git a/src/org/apache/fop/svg/SVGPoints.java b/src/org/apache/fop/svg/SVGPoints.java
deleted file mode 100644 (file)
index 84c823d..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-/*-- $Id$ --
-
- ============================================================================
-                   The Apache Software License, Version 1.1
- ============================================================================
-
-    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modifica-
- tion, are permitted provided that the following conditions are met:
-
- 1. Redistributions of  source code must  retain the above copyright  notice,
-    this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the following disclaimer in the documentation
-    and/or other materials provided with the distribution.
-
- 3. The end-user documentation included with the redistribution, if any, must
-    include  the following  acknowledgment:  "This product includes  software
-    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
-    Alternately, this  acknowledgment may  appear in the software itself,  if
-    and wherever such third-party acknowledgments normally appear.
-
- 4. The names "Fop" and  "Apache Software Foundation"  must not be used to
-    endorse  or promote  products derived  from this  software without  prior
-    written permission. For written permission, please contact
-    apache@apache.org.
-
- 5. Products  derived from this software may not  be called "Apache", nor may
-    "Apache" appear  in their name,  without prior written permission  of the
-    Apache Software Foundation.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
- APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
- DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
- ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
- (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- This software  consists of voluntary contributions made  by many individuals
- on  behalf of the Apache Software  Foundation and was  originally created by
- James Tauber <jtauber@jtauber.com>. For more  information on the Apache
- Software Foundation, please see <http://www.apache.org/>.
-
- */
-package org.apache.fop.svg;
-
-// FOP
-import org.apache.fop.fo.*;
-import org.apache.fop.datatypes.*;
-import org.apache.fop.apps.FOPException;
-
-import java.util.*;
-
-/**
- *
- */
-public class SVGPoints extends Property {
-
-    /**
-     * inner class for making SVG Length objects.
-     */
-    public static class Maker extends Property.Maker {
-
-        /**
-         * whether this property is inherited or not.
-         *
-         * @return is this inherited?
-         */
-        public boolean isInherited() {
-            return false;
-        }
-
-        /**
-         * make an SVG Length property with the given value.
-         *
-         * @param propertyList the property list this is a member of
-         * @param value the explicit string value of the property
-         */
-        public Property make(PropertyList propertyList, String value,
-                             FObj fo) throws FOPException {
-            return new SVGPoints(propertyList, new PointsData(value));
-        }
-
-        /**
-         * make an SVG Length property with the default value.
-         *
-         * @param propertyList the property list the property is a member of
-         */
-        public Property make(PropertyList propertyList)
-        throws FOPException {
-            return make(propertyList, "", null);
-        }
-    }
-
-    /**
-     * returns the maker for this object.
-     *
-     * @return the maker for SVG Length objects
-     */
-    public static Property.Maker maker(String propName) {
-        return new SVGPoints.Maker();
-    }
-
-    protected PointsData style;
-
-    /**
-     * construct an SVG length (called by the Maker).
-     *
-     * @param propertyList the property list this is a member of
-     * @param explicitValue the explicit value as a Length object
-     */
-    protected SVGPoints(PropertyList propertyList,
-                        PointsData explicitValue) {
-        this.style = explicitValue;
-    }
-
-    /**
-     * get the length
-     *
-     * @return the length as a Length object
-     */
-    public Vector getPoints() {
-        return this.style.getPoints();
-    }
-}
index 3754194aeb8d950f019ba6c2b60e2e8d8473ef44..89369da13de6cd0af22c2e6dbf5fb97bfa772ae4 100644 (file)
@@ -1,52 +1,7 @@
-/*-- $Id$ --
-
- ============================================================================
-                   The Apache Software License, Version 1.1
- ============================================================================
-
-    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modifica-
- tion, are permitted provided that the following conditions are met:
-
- 1. Redistributions of  source code must  retain the above copyright  notice,
-    this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the following disclaimer in the documentation
-    and/or other materials provided with the distribution.
-
- 3. The end-user documentation included with the redistribution, if any, must
-    include  the following  acknowledgment:  "This product includes  software
-    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
-    Alternately, this  acknowledgment may  appear in the software itself,  if
-    and wherever such third-party acknowledgments normally appear.
-
- 4. The names "FOP" and  "Apache Software Foundation"  must not be used to
-    endorse  or promote  products derived  from this  software without  prior
-    written permission. For written permission, please contact
-    apache@apache.org.
-
- 5. Products  derived from this software may not  be called "Apache", nor may
-    "Apache" appear  in their name,  without prior written permission  of the
-    Apache Software Foundation.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
- APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
- DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
- ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
- (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- This software  consists of voluntary contributions made  by many individuals
- on  behalf of the Apache Software  Foundation and was  originally created by
- James Tauber <jtauber@jtauber.com>. For more  information on the Apache
- Software Foundation, please see <http://www.apache.org/>.
-
+/* $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources."
  */
 
 package org.apache.fop.svg;
@@ -60,14 +15,15 @@ public class SVGPropertyListMapping implements PropertyListMapping {
 
     public void addToBuilder(TreeBuilder builder) {
 
-               String uri = "http://www.w3.org/2000/svg";
-        builder.addPropertyList(uri, SVGPropertyMapping.getGenericMappings());
-       /* Add any element mappings */
-       for (Enumeration e = SVGPropertyMapping.getElementMappings();
-            e.hasMoreElements();) {
-         String elem = (String)e.nextElement();
-         builder.addElementPropertyList(uri, elem,
-                 SVGPropertyMapping.getElementMapping(elem));
-       }
+        String uri = "http://www.w3.org/2000/svg";
+        builder.addPropertyList(uri,
+                                SVGPropertyMapping.getGenericMappings());
+        /* Add any element mappings */
+        for (Enumeration e = SVGPropertyMapping.getElementMappings();
+                e.hasMoreElements();) {
+            String elem = (String) e.nextElement();
+            builder.addElementPropertyList(uri, elem,
+                                           SVGPropertyMapping.getElementMapping(elem));
+        }
     }
 }
index 6fb768d713e9cb0dac4c38574bd7ca884836e714..2937bdbd234b1cdcdbe0875a6d2d4bcea292d3ca 100644 (file)
@@ -1,53 +1,9 @@
-/*-- $Id$ --
-
- ============================================================================
-                   The Apache Software License, Version 1.1
- ============================================================================
-
-    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modifica-
- tion, are permitted provided that the following conditions are met:
-
- 1. Redistributions of  source code must  retain the above copyright  notice,
-    this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the following disclaimer in the documentation
-    and/or other materials provided with the distribution.
-
- 3. The end-user documentation included with the redistribution, if any, must
-    include  the following  acknowledgment:  "This product includes  software
-    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
-    Alternately, this  acknowledgment may  appear in the software itself,  if
-    and wherever such third-party acknowledgments normally appear.
-
- 4. The names "Fop" and  "Apache Software Foundation"  must not be used to
-    endorse  or promote  products derived  from this  software without  prior
-    written permission. For written permission, please contact
-    apache@apache.org.
-
- 5. Products  derived from this software may not  be called "Apache", nor may
-    "Apache" appear  in their name,  without prior written permission  of the
-    Apache Software Foundation.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
- APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
- DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
- ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
- (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- This software  consists of voluntary contributions made  by many individuals
- on  behalf of the Apache Software  Foundation and was  originally created by
- James Tauber <jtauber@jtauber.com>. For more  information on the Apache
- Software Foundation, please see <http://www.apache.org/>.
-
+/* $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources."
  */
+
 package org.apache.fop.svg;
 
 import java.util.*;
@@ -57,12 +13,12 @@ import org.apache.fop.fo.*;
 import org.apache.fop.apps.FOPException;
 
 /**
- * a class representing all the length properties in SVG
+ * a class representing all properties in SVG
  */
 public class SVGStringProperty extends Property {
 
     /**
-     * inner class for making SVG Length objects.
+     * inner class for making SVG String objects.
      */
     public static class Maker extends Property.Maker {
 
@@ -76,7 +32,7 @@ public class SVGStringProperty extends Property {
         }
 
         /**
-         * make an SVG Length property with the given value.
+         * make an SVG String property with the given value.
          *
          * @param propertyList the property list this is a member of
          * @param value the explicit string value of the property
@@ -87,7 +43,7 @@ public class SVGStringProperty extends Property {
         }
 
         /**
-         * make an SVG Length property with the default value.
+         * make an SVG String property with the default value.
          *
          * @param propertyList the property list the property is a member of
          */
@@ -106,11 +62,11 @@ public class SVGStringProperty extends Property {
         return new SVGStringProperty.Maker();
     }
 
-    /** the length as a Length object */
+    /** the value */
     protected String value;
 
     /**
-     * construct an SVG length (called by the Maker).
+     * construct an SVG String (called by the Maker).
      *
      * @param propertyList the property list this is a member of
      * @param explicitValue the explicit value as a Length object
@@ -121,7 +77,7 @@ public class SVGStringProperty extends Property {
     }
 
     /**
-     * get the length
+     * get the value
      *
      * @return the length as a Length object
      */
diff --git a/src/org/apache/fop/svg/TextElement.java b/src/org/apache/fop/svg/TextElement.java
deleted file mode 100644 (file)
index fb63bbe..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*-- $Id$ -- 
-
- ============================================================================
-                   The Apache Software License, Version 1.1
- ============================================================================
-    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
- Redistribution and use in source and binary forms, with or without modifica-
- tion, are permitted provided that the following conditions are met:
- 1. Redistributions of  source code must  retain the above copyright  notice,
-    this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the following disclaimer in the documentation
-    and/or other materials provided with the distribution.
- 3. The end-user documentation included with the redistribution, if any, must
-    include  the following  acknowledgment:  "This product includes  software
-    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
-    Alternately, this  acknowledgment may  appear in the software itself,  if
-    and wherever such third-party acknowledgments normally appear.
- 4. The names "FOP" and  "Apache Software Foundation"  must not be used to
-    endorse  or promote  products derived  from this  software without  prior
-    written permission. For written permission, please contact
-    apache@apache.org.
- 5. Products  derived from this software may not  be called "Apache", nor may
-    "Apache" appear  in their name,  without prior written permission  of the
-    Apache Software Foundation.
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
- APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
- DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
- ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
- (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- This software  consists of voluntary contributions made  by many individuals
- on  behalf of the Apache Software  Foundation and was  originally created by
- James Tauber <jtauber@jtauber.com>. For more  information on the Apache 
- Software Foundation, please see <http://www.apache.org/>.
- */
-
-package org.apache.fop.svg;
-
-import org.w3c.dom.svg.SVGElement;
-
-/**
- *
- */
-public interface TextElement {
-       public SVGElement createTextElement();
-}
diff --git a/src/org/apache/fop/svg/TextProperty.java b/src/org/apache/fop/svg/TextProperty.java
deleted file mode 100644 (file)
index 300aede..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-/*-- $Id$ --
-
- ============================================================================
-                   The Apache Software License, Version 1.1
- ============================================================================
-
-    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modifica-
- tion, are permitted provided that the following conditions are met:
-
- 1. Redistributions of  source code must  retain the above copyright  notice,
-    this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the following disclaimer in the documentation
-    and/or other materials provided with the distribution.
-
- 3. The end-user documentation included with the redistribution, if any, must
-    include  the following  acknowledgment:  "This product includes  software
-    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
-    Alternately, this  acknowledgment may  appear in the software itself,  if
-    and wherever such third-party acknowledgments normally appear.
-
- 4. The names "Fop" and  "Apache Software Foundation"  must not be used to
-    endorse  or promote  products derived  from this  software without  prior
-    written permission. For written permission, please contact
-    apache@apache.org.
-
- 5. Products  derived from this software may not  be called "Apache", nor may
-    "Apache" appear  in their name,  without prior written permission  of the
-    Apache Software Foundation.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
- APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
- DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
- ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
- (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- This software  consists of voluntary contributions made  by many individuals
- on  behalf of the Apache Software  Foundation and was  originally created by
- James Tauber <jtauber@jtauber.com>. For more  information on the Apache
- Software Foundation, please see <http://www.apache.org/>.
-
- */
-package org.apache.fop.svg;
-
-// FOP
-import org.apache.fop.fo.*;
-import org.apache.fop.datatypes.*;
-import org.apache.fop.apps.FOPException;
-
-import java.util.*;
-
-/**
- *
- */
-public class TextProperty extends Property {
-
-    /**
-     * inner class for making SVG Length objects.
-     */
-    public static class Maker extends Property.Maker {
-
-        /**
-         * whether this property is inherited or not.
-         *
-         * @return is this inherited?
-         */
-        public boolean isInherited() {
-            return false;
-        }
-
-        /**
-         * make an SVG Length property with the given value.
-         *
-         * @param propertyList the property list this is a member of
-         * @param value the explicit string value of the property
-         */
-        public Property make(PropertyList propertyList, String value,
-                             FObj fo) throws FOPException {
-            return new TextProperty(propertyList, value);
-        }
-
-        /**
-         * make an SVG Length property with the default value.
-         *
-         * @param propertyList the property list the property is a member of
-         */
-        public Property make(PropertyList propertyList)
-        throws FOPException {
-            return make(propertyList, "", null);
-        }
-    }
-
-    /**
-     * returns the maker for this object.
-     *
-     * @return the maker for SVG Length objects
-     */
-    public static Property.Maker maker() {
-        return new TextProperty.Maker();
-    }
-
-    /** the length as a Length object */
-    protected String str;
-
-    /**
-     * construct an SVG length (called by the Maker).
-     *
-     * @param propertyList the property list this is a member of
-     * @param explicitValue the explicit value as a Length object
-     */
-    protected TextProperty(PropertyList propertyList, String s) {
-        this.str = s;
-    }
-
-    /**
-     * get the length
-     *
-     * @return the length as a Length object
-     */
-    public String getString() {
-        return this.str;
-    }
-}