diff options
author | Keiron Liddle <keiron@apache.org> | 2002-02-26 12:43:10 +0000 |
---|---|---|
committer | Keiron Liddle <keiron@apache.org> | 2002-02-26 12:43:10 +0000 |
commit | 06f1a67571fc02ac28eb8fe97bce1aa21362bf6b (patch) | |
tree | 65618a4be92cd2e8e3cc3e5db5c11dd2ba7ef187 | |
parent | 6149a1b0be49d64f31d27c26c11f542fc642d246 (diff) | |
download | xmlgraphics-fop-06f1a67571fc02ac28eb8fe97bce1aa21362bf6b.tar.gz xmlgraphics-fop-06f1a67571fc02ac28eb8fe97bce1aa21362bf6b.zip |
remove SVGArea and ImageArea, no longer needed
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194674 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | src/org/apache/fop/fo/FONode.java | 2 | ||||
-rw-r--r-- | src/org/apache/fop/fo/XMLObj.java | 5 | ||||
-rw-r--r-- | src/org/apache/fop/fo/flow/ExternalGraphic.java | 5 | ||||
-rw-r--r-- | src/org/apache/fop/fo/flow/InstreamForeignObject.java | 4 | ||||
-rw-r--r-- | src/org/apache/fop/image/ImageArea.java | 89 | ||||
-rw-r--r-- | src/org/apache/fop/render/AbstractRenderer.java | 1 | ||||
-rw-r--r-- | src/org/apache/fop/render/PrintRenderer.java | 1 | ||||
-rw-r--r-- | src/org/apache/fop/render/Renderer.java | 1 | ||||
-rw-r--r-- | src/org/apache/fop/render/mif/MIFRenderer.java | 1 | ||||
-rwxr-xr-x | src/org/apache/fop/render/pcl/PCLRenderer.java | 2 | ||||
-rw-r--r-- | src/org/apache/fop/render/pdf/PDFRenderer.java | 1 | ||||
-rw-r--r-- | src/org/apache/fop/render/ps/PSRenderer.java | 2 | ||||
-rw-r--r-- | src/org/apache/fop/render/svg/SVGRenderer.java | 1 | ||||
-rwxr-xr-x | src/org/apache/fop/render/txt/TXTRenderer.java | 2 | ||||
-rw-r--r-- | src/org/apache/fop/render/xml/XMLRenderer.java | 1 | ||||
-rw-r--r-- | src/org/apache/fop/svg/SVGArea.java | 52 | ||||
-rw-r--r-- | src/org/apache/fop/svg/SVGElement.java | 60 |
17 files changed, 29 insertions, 201 deletions
diff --git a/src/org/apache/fop/fo/FONode.java b/src/org/apache/fop/fo/FONode.java index 55fde4fee..948838f7c 100644 --- a/src/org/apache/fop/fo/FONode.java +++ b/src/org/apache/fop/fo/FONode.java @@ -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) { diff --git a/src/org/apache/fop/fo/XMLObj.java b/src/org/apache/fop/fo/XMLObj.java index 7df3d26c3..832349c39 100644 --- a/src/org/apache/fop/fo/XMLObj.java +++ b/src/org/apache/fop/fo/XMLObj.java @@ -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(); diff --git a/src/org/apache/fop/fo/flow/ExternalGraphic.java b/src/org/apache/fop/fo/flow/ExternalGraphic.java index 386e475cd..f3b6e59b0 100644 --- a/src/org/apache/fop/fo/flow/ExternalGraphic.java +++ b/src/org/apache/fop/fo/flow/ExternalGraphic.java @@ -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); diff --git a/src/org/apache/fop/fo/flow/InstreamForeignObject.java b/src/org/apache/fop/fo/flow/InstreamForeignObject.java index 6afff0cac..e63cb9b6c 100644 --- a/src/org/apache/fop/fo/flow/InstreamForeignObject.java +++ b/src/org/apache/fop/fo/flow/InstreamForeignObject.java @@ -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 index 32e473fd4..000000000 --- a/src/org/apache/fop/image/ImageArea.java +++ /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; - } - -} - diff --git a/src/org/apache/fop/render/AbstractRenderer.java b/src/org/apache/fop/render/AbstractRenderer.java index bfcf41f75..2ecefd9dc 100644 --- a/src/org/apache/fop/render/AbstractRenderer.java +++ b/src/org/apache/fop/render/AbstractRenderer.java @@ -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; diff --git a/src/org/apache/fop/render/PrintRenderer.java b/src/org/apache/fop/render/PrintRenderer.java index d337fdf92..95aa56d39 100644 --- a/src/org/apache/fop/render/PrintRenderer.java +++ b/src/org/apache/fop/render/PrintRenderer.java @@ -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.*; diff --git a/src/org/apache/fop/render/Renderer.java b/src/org/apache/fop/render/Renderer.java index b3ca79d44..c88a56c44 100644 --- a/src/org/apache/fop/render/Renderer.java +++ b/src/org/apache/fop/render/Renderer.java @@ -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.*; diff --git a/src/org/apache/fop/render/mif/MIFRenderer.java b/src/org/apache/fop/render/mif/MIFRenderer.java index 8acba9305..1f2cec7bd 100644 --- a/src/org/apache/fop/render/mif/MIFRenderer.java +++ b/src/org/apache/fop/render/mif/MIFRenderer.java @@ -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.*; diff --git a/src/org/apache/fop/render/pcl/PCLRenderer.java b/src/org/apache/fop/render/pcl/PCLRenderer.java index 062892847..8383abbf3 100755 --- a/src/org/apache/fop/render/pcl/PCLRenderer.java +++ b/src/org/apache/fop/render/pcl/PCLRenderer.java @@ -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; diff --git a/src/org/apache/fop/render/pdf/PDFRenderer.java b/src/org/apache/fop/render/pdf/PDFRenderer.java index ea6a579e5..1aadad141 100644 --- a/src/org/apache/fop/render/pdf/PDFRenderer.java +++ b/src/org/apache/fop/render/pdf/PDFRenderer.java @@ -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.*; diff --git a/src/org/apache/fop/render/ps/PSRenderer.java b/src/org/apache/fop/render/ps/PSRenderer.java index cae6e4287..297d4c275 100644 --- a/src/org/apache/fop/render/ps/PSRenderer.java +++ b/src/org/apache/fop/render/ps/PSRenderer.java @@ -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.*; diff --git a/src/org/apache/fop/render/svg/SVGRenderer.java b/src/org/apache/fop/render/svg/SVGRenderer.java index b47a832fd..474a7217c 100644 --- a/src/org/apache/fop/render/svg/SVGRenderer.java +++ b/src/org/apache/fop/render/svg/SVGRenderer.java @@ -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; diff --git a/src/org/apache/fop/render/txt/TXTRenderer.java b/src/org/apache/fop/render/txt/TXTRenderer.java index 00a1ef686..54c21860b 100755 --- a/src/org/apache/fop/render/txt/TXTRenderer.java +++ b/src/org/apache/fop/render/txt/TXTRenderer.java @@ -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; diff --git a/src/org/apache/fop/render/xml/XMLRenderer.java b/src/org/apache/fop/render/xml/XMLRenderer.java index 5689c8dfe..999e983d4 100644 --- a/src/org/apache/fop/render/xml/XMLRenderer.java +++ b/src/org/apache/fop/render/xml/XMLRenderer.java @@ -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 index 8935b42ac..000000000 --- a/src/org/apache/fop/svg/SVGArea.java +++ /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; - } - -} diff --git a/src/org/apache/fop/svg/SVGElement.java b/src/org/apache/fop/svg/SVGElement.java index f369ab466..7b34c1f8a 100644 --- a/src/org/apache/fop/svg/SVGElement.java +++ b/src/org/apache/fop/svg/SVGElement.java @@ -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)); } /** |