]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
remove SVGArea and ImageArea, no longer needed
authorKeiron Liddle <keiron@apache.org>
Tue, 26 Feb 2002 12:43:10 +0000 (12:43 +0000)
committerKeiron Liddle <keiron@apache.org>
Tue, 26 Feb 2002 12:43:10 +0000 (12:43 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194674 13f79535-47bb-0310-9956-ffa450edef68

17 files changed:
src/org/apache/fop/fo/FONode.java
src/org/apache/fop/fo/XMLObj.java
src/org/apache/fop/fo/flow/ExternalGraphic.java
src/org/apache/fop/fo/flow/InstreamForeignObject.java
src/org/apache/fop/image/ImageArea.java [deleted file]
src/org/apache/fop/render/AbstractRenderer.java
src/org/apache/fop/render/PrintRenderer.java
src/org/apache/fop/render/Renderer.java
src/org/apache/fop/render/mif/MIFRenderer.java
src/org/apache/fop/render/pcl/PCLRenderer.java
src/org/apache/fop/render/pdf/PDFRenderer.java
src/org/apache/fop/render/ps/PSRenderer.java
src/org/apache/fop/render/svg/SVGRenderer.java
src/org/apache/fop/render/txt/TXTRenderer.java
src/org/apache/fop/render/xml/XMLRenderer.java
src/org/apache/fop/svg/SVGArea.java [deleted file]
src/org/apache/fop/svg/SVGElement.java

index 55fde4fee3481fca455af1fdb49dc131c4d03445..948838f7cb704289dc72c616fc52c33cd9982a5f 100644 (file)
@@ -25,6 +25,7 @@ import java.util.NoSuchElementException;
  *
  */
 abstract public class FONode {
+    protected FOUserAgent userAgent;
     protected FONode parent;
     protected String name;
 
@@ -43,6 +44,7 @@ abstract public class FONode {
     }
 
     public void setUserAgent(FOUserAgent ua) {
+        userAgent = ua;
     }
 
     public void setStreamRenderer(StreamRenderer st) {
index 7df3d26c37bdd929fd872a812d5e0480f484dcc6..832349c39c8b0f7570aa4be1544e05758f1b85a2 100644 (file)
@@ -20,6 +20,7 @@ import org.xml.sax.Attributes;
 import javax.xml.parsers.DocumentBuilderFactory;
 
 import java.util.*;
+import java.awt.geom.Point2D;
 
 /**
  * Generic XML object.
@@ -55,6 +56,10 @@ public abstract class XMLObj extends FONode {
          return doc;
     }
 
+    public Point2D getDimension(Point2D view) {
+         return null;
+    }
+
     public abstract String getNameSpace();
 
     protected static HashMap ns = new HashMap();
index 386e475cd1c1a7c97d1c7284c8e2dfd9b2feaad8..f3b6e59b0c076a0d7836945d22689d5375035a59 100644 (file)
@@ -37,8 +37,6 @@ public class ExternalGraphic extends FObj {
     int width;
     String id;
 
-    ImageArea imageArea;
-
     public ExternalGraphic(FONode parent) {
         super(parent);
     }
@@ -50,6 +48,9 @@ public class ExternalGraphic extends FObj {
     }
 
     protected InlineArea getInlineArea() {
+        if(url == null) {
+            return null;
+        }
         url = ImageFactory.getURL(url);
         // if we need to load this image to get its size
         // FopImage fopimage = ImageFactory.getImage(url, userAgent);
index 6afff0cac2136cebe091870d993dbf642e26e9f1..e63cb9b6c51102abbcbd9c2b0c3a88802190b246 100644 (file)
@@ -27,6 +27,8 @@ import org.apache.fop.layoutmgr.LeafNodeLayoutManager;
 
 import org.w3c.dom.Document;
 
+import java.awt.geom.Point2D;
+
 public class InstreamForeignObject extends FObj {
 
     int breakBefore;
@@ -122,6 +124,8 @@ public class InstreamForeignObject extends FObj {
         // if auto then use the intrinsic size of the content scaled
         // to the content-height and content-width
 
+        Point2D size = child.getDimension(new Point2D.Float(-1, -1));
+
         Document doc = child.getDocument();
         String ns = child.getNameSpace();
 
diff --git a/src/org/apache/fop/image/ImageArea.java b/src/org/apache/fop/image/ImageArea.java
deleted file mode 100644 (file)
index 32e473f..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * $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.image;
-
-import org.apache.fop.fo.properties.TextAlign;
-import org.apache.fop.layout.*;
-import org.apache.fop.layout.inline.*;
-
-import org.apache.fop.render.Renderer;
-
-public class ImageArea extends InlineArea {
-
-    protected int xOffset = 0;
-    protected int align;
-    protected int valign;
-    protected FopImage image;
-
-
-    public ImageArea(FontState fontState, FopImage img,
-                     int AllocationWidth, int width, int height,
-                     int startIndent, int endIndent, int align) {
-        super(fontState, width, 0, 0, 0);
-        this.currentHeight = height;
-        this.contentRectangleWidth = width;
-        this.height = height;
-        this.image = img;
-        this.align = align;
-
-        /*
-         * switch (align) {
-         * case TextAlign.START:
-         * xOffset = startIndent;
-         * break;
-         * case TextAlign.END:
-         * if (endIndent == 0)
-         * endIndent = AllocationWidth;
-         * xOffset = (endIndent - width);
-         * break;
-         * case TextAlign.JUSTIFY:
-         * xOffset = startIndent;
-         * break;
-         * case TextAlign.CENTER:
-         * if (endIndent == 0)
-         * endIndent = AllocationWidth;
-         * xOffset = startIndent + ((endIndent - startIndent) - width)/2;
-         * break;
-         * }
-         */
-    }
-
-    public int getXOffset() {
-        return this.xOffset;
-    }
-
-    public FopImage getImage() {
-        return this.image;
-    }
-
-    public int getImageHeight() {
-        return currentHeight;
-    }
-
-    public void setAlign(int align) {
-        this.align = align;
-    }
-
-    public int getAlign() {
-        return this.align;
-    }
-
-    public void setVerticalAlign(int align) {
-        this.valign = align;
-    }
-
-    public int getVerticalAlign() {
-        return this.valign;
-    }
-
-    public void setStartIndent(int startIndent) {
-        xOffset = startIndent;
-    }
-
-}
-
index bfcf41f7530b2ac042a435ca1c9d57b8dcc3dd1d..2ecefd9dcfaa406a3a185c71309e2574eba1c129 100644 (file)
@@ -8,7 +8,6 @@
 package org.apache.fop.render;
 
 // FOP
-import org.apache.fop.image.ImageArea;
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.area.*;
 import org.apache.fop.area.Span;
index d337fdf9234bd75130297110fe10319d8b8017fe..95aa56d39ba569d74e7fde487aac700c397860ab 100644 (file)
@@ -10,7 +10,6 @@ package org.apache.fop.render;
 // FOP
 import org.apache.fop.pdf.PDFPathPaint;
 import org.apache.fop.pdf.PDFColor;
-import org.apache.fop.image.ImageArea;
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.fo.properties.*;
 import org.apache.fop.datatypes.*;
index b3ca79d446f1aeef9979f839a07d8f52e3679657..c88a56c4486286826266885c003c2c2c513227d0 100644 (file)
@@ -7,7 +7,6 @@
 package org.apache.fop.render;
 
 // FOP
-import org.apache.fop.image.ImageArea;
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.area.*;
 import org.apache.fop.area.inline.*;
index 8acba9305624c90963a10613b0bb5212244d7d7e..1f2cec7bd81cb548195eff4ce5442402099b33b9 100644 (file)
@@ -12,7 +12,6 @@ package org.apache.fop.render.mif;
 // FOP
 import org.apache.fop.render.Renderer;
 import org.apache.fop.render.AbstractRenderer;
-import org.apache.fop.image.ImageArea;
 import org.apache.fop.image.FopImage;
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.fo.properties.*;
index 062892847ff28a429598863dc1c39e560a76380e..8383abbf38e9bad0792cb2755905fa3174ad7b23 100755 (executable)
@@ -9,7 +9,6 @@ package org.apache.fop.render.pcl;
 
 // FOP
 import org.apache.fop.render.PrintRenderer;
-import org.apache.fop.image.ImageArea;
 import org.apache.fop.image.FopImage;
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.fo.properties.*;
@@ -20,7 +19,6 @@ import org.apache.fop.layout.*;
 import org.apache.fop.layout.inline.*;
 import org.apache.fop.image.*;
 
-import org.apache.fop.svg.SVGArea;
 import org.w3c.dom.svg.SVGSVGElement;
 import org.w3c.dom.svg.SVGDocument;
 
index ea6a579e5bf59eb5a4267e7ec45b08819d6cbf67..1aadad141c75919d0a4961dcdf4b6b94ea313595 100644 (file)
@@ -9,7 +9,6 @@ package org.apache.fop.render.pdf;
 
 // FOP
 import org.apache.fop.render.PrintRenderer;
-import org.apache.fop.image.ImageArea;
 import org.apache.fop.image.FopImage;
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.fo.properties.*;
index cae6e42876e79e2e248387077f5e63a7d9e63ed0..297d4c2756dd9bece1534fbc680591af49d89096 100644 (file)
@@ -8,10 +8,8 @@
 package org.apache.fop.render.ps;
 
 // FOP
-import org.apache.fop.svg.SVGArea;
 import org.apache.fop.render.AbstractRenderer;
 import org.apache.fop.render.Renderer;
-import org.apache.fop.image.ImageArea;
 import org.apache.fop.image.FopImage;
 import org.apache.fop.layout.*;
 import org.apache.fop.layout.inline.*;
index b47a832fd5995c1db32af835c40ce9e2f9c0ad02..474a7217c30d4125c557e93ee7bec29b94c69a3c 100644 (file)
@@ -13,7 +13,6 @@ import org.apache.fop.area.inline.*;
 import org.apache.fop.datatypes.IDReferences;
 import org.apache.fop.datatypes.ColorType;
 import org.apache.fop.image.*;
-import org.apache.fop.svg.SVGArea;
 import org.apache.fop.svg.SVGUtilities;
 import org.apache.fop.layout.FontInfo;
 import org.apache.fop.fo.FOUserAgent;
index 00a1ef686470bddaabc99430d73a1fb3627096dc..54c21860b62f6fe81bc1d891b4adfffe0ac6286c 100755 (executable)
@@ -20,8 +20,6 @@ import org.apache.fop.pdf.PDFPathPaint;
 import org.apache.fop.pdf.PDFColor;
 import org.apache.fop.image.*;
 
-import org.apache.fop.svg.SVGArea;
-
 import org.w3c.dom.svg.SVGSVGElement;
 import org.w3c.dom.svg.SVGDocument;
 
index 5689c8dfe55f8442f6f1b8543aabde3481bc8287..999e983d4aac2662b926ade001d551e6b89f7eb3 100644 (file)
@@ -13,7 +13,6 @@ import org.apache.fop.render.Renderer;
 import org.apache.fop.render.AbstractRenderer;
 import org.apache.fop.render.RendererContext;
 import org.apache.fop.render.XMLHandler;
-import org.apache.fop.image.ImageArea;
 import org.apache.fop.area.*;
 import org.apache.fop.area.inline.*;
 import org.apache.fop.pdf.*;
diff --git a/src/org/apache/fop/svg/SVGArea.java b/src/org/apache/fop/svg/SVGArea.java
deleted file mode 100644 (file)
index 8935b42..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $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.render.Renderer;
-import org.apache.fop.layout.FontState;
-import org.apache.fop.layout.Area;
-
-//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 {
-    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(Document doc) {
-        this.doc = doc;
-    }
-
-    public Document getSVGDocument() {
-        return doc;
-    }
-
-    public int getWidth() {
-        // return getSVGDocument().getRootElement().getWidth().getBaseVal().getValue();
-        return contentRectangleWidth;
-    }
-
-}
index f369ab46622aababc3dd5e162fab136e7dc5c8e4..7b34c1f8ada05982fc7c5fbc156209cd67aaa999 100644 (file)
@@ -45,14 +45,13 @@ import java.util.List;
 import java.util.ArrayList;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Point2D;
+import java.awt.Dimension;
 
 /**
  * class representing svg:svg pseudo flow object.
  */
 public class SVGElement extends SVGObj {
 
-    FontState fs;
-
     /**
      * constructs an SVG object (called by Maker).
      *
@@ -68,21 +67,7 @@ public class SVGElement extends SVGObj {
         init();
     }
 
-    /**
-     * layout this formatting object.
-     *
-     * @param area the area to layout the object into
-     *
-     * @return the status of the layout
-     */
-    public Status layout(final Area area) throws FOPException {
-
-        if (!(area instanceof ForeignObjectArea)) {
-            // this is an error
-            throw new FOPException("SVG not in fo:instream-foreign-object");
-        }
-
-            this.fs = area.getFontState();
+    public Point2D getDimension(Point2D view) {
 
         // TODO - change so doesn't hold onto fo,area tree
         Element svgRoot = element;
@@ -90,15 +75,14 @@ public class SVGElement extends SVGObj {
         /* if width and height are zero, get the bounds of the content. */
         FOPSVGContext dc = new FOPSVGContext();
         dc.svgRoot = element;
-        ForeignObjectArea foa = (ForeignObjectArea)area;
-        dc.cwauto = foa.isContentWidthAuto();
-        dc.chauto = foa.isContentHeightAuto();
-        dc.cwidth = foa.getContentWidth();
-        dc.cheight = foa.getContentHeight();
+        dc.cwauto = (view.getX() == -1);
+        dc.chauto = (view.getY() == -1);
+        dc.cwidth = (float)view.getX();
+        dc.cheight = (float)view.getY();
         ((SVGOMDocument)doc).setSVGContext(dc);
 
         try {
-            String baseDir = Configuration.getStringValue("baseDir");
+            String baseDir = userAgent.getBaseDirectory();
             if(baseDir != null) {
                 ((SVGOMDocument)doc).setURLObject(new URL(baseDir));
             }
@@ -112,23 +96,9 @@ public class SVGElement extends SVGObj {
             e.setAttributeNS(XMLSupport.XMLNS_NAMESPACE_URI, "xmlns", SVGDOMImplementation.SVG_NAMESPACE_URI);
         //}
 
-        Point2D p2d = getSize(this.fs, svgRoot);
-
-        SVGArea svg = new SVGArea(fs, (float)p2d.getX(),
-                                  (float)p2d.getY());
-        svg.setSVGDocument(doc);
-        svg.start();
-
-        /* finish off the SVG area */
-        svg.end();
-
-        /* add the SVG area to the containing area */
-        foa.setObject(svg);
-        foa.setIntrinsicWidth(svg.getWidth());
-        foa.setIntrinsicHeight(svg.getHeight());
+        Point2D p2d = getSize(12 /* font size */, svgRoot);
 
-        /* return status */
-        return new Status(Status.OK);
+        return p2d;
     }
 
     private void init() {
@@ -141,10 +111,10 @@ public class SVGElement extends SVGObj {
         buildTopLevel(doc, element);
     }
 
-    public static Point2D getSize(FontState fs, Element svgRoot) {
+    public static Point2D getSize(int size, Element svgRoot) {
         String str;
         UnitProcessor.Context ctx;
-        ctx = new PDFUnitContext(fs, svgRoot);
+        ctx = new PDFUnitContext(size, svgRoot);
         str = svgRoot.getAttributeNS(null, SVGConstants.SVG_WIDTH_ATTRIBUTE);
         if (str.length() == 0) str = "100%";
         float width = UnitProcessor.svgHorizontalLengthToUserSpace
@@ -166,10 +136,10 @@ public class SVGElement extends SVGObj {
 
         /** The element. */
         protected Element e;
-        protected FontState fs;
-        public PDFUnitContext(FontState fs, Element e) { 
+        protected int fontSize;
+        public PDFUnitContext(int size, Element e) { 
             this.e  = e;
-            this.fs = fs;
+            this.fontSize = size;
         }
 
         /**
@@ -209,7 +179,7 @@ public class SVGElement extends SVGObj {
         public CSSPrimitiveValue getFontSize() {
             return new CSSOMReadOnlyValue
                 (new ImmutableFloat(CSSPrimitiveValue.CSS_PT,
-                                    fs.getFontSize()));
+                                    fontSize));
         }
 
         /**