jeremias 2002/11/13 02:33:08 Modified: src/org/apache/fop/image/analyser Tag: fop-0_20_2-maintain SVGReader.java Log: Adjust for Batik 1.5b4 Revision Changes Path No revision No revision 1.12.2.4 +44 -40 xml-fop/src/org/apache/fop/image/analyser/SVGReader.java Index: SVGReader.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/image/analyser/SVGReader.java,v retrieving revision 1.12.2.3 retrieving revision 1.12.2.4 diff -u -r1.12.2.3 -r1.12.2.4 --- SVGReader.java 6 Jun 2002 07:57:02 -0000 1.12.2.3 +++ SVGReader.java 13 Nov 2002 10:33:08 -0000 1.12.2.4 @@ -1,6 +1,6 @@ /* * $Id$ - * Copyright (C) 2001 The Apache Software Foundation. All rights reserved. + * Copyright (C) 2001-2002 The Apache Software Foundation. All rights reserved. * For details on use and redistribution please refer to the * LICENSE file included with these sources. */ @@ -8,49 +8,52 @@ package org.apache.fop.image.analyser; // Java +import java.net.URL; +import java.util.List; +import java.io.File; import java.io.BufferedInputStream; import java.io.IOException; -import org.w3c.dom.svg.SVGDocument; -import org.w3c.dom.svg.SVGSVGElement; - -// FOP -import org.apache.fop.messaging.*; -import org.apache.fop.image.SVGImage; +import java.awt.geom.AffineTransform; +import java.awt.Point; +import java.awt.geom.Dimension2D; +import java.awt.Dimension; import org.xml.sax.InputSource; import org.xml.sax.XMLReader; -import org.apache.batik.dom.svg.SAXSVGDocumentFactory; - -import org.apache.batik.dom.svg.*; -import org.w3c.dom.*; -import org.w3c.dom.svg.*; +import org.w3c.dom.Element; +import org.w3c.dom.DOMImplementation; +import org.w3c.dom.svg.SVGDocument; import org.w3c.dom.svg.SVGLength; -import org.apache.batik.bridge.*; -import org.apache.batik.swing.svg.*; -import org.apache.batik.swing.gvt.*; -import org.apache.batik.gvt.*; -import org.apache.batik.gvt.renderer.*; -import org.apache.batik.gvt.filter.*; -import org.apache.batik.gvt.event.*; +import org.w3c.dom.svg.SVGSVGElement; -import org.w3c.dom.DOMImplementation; +// FOP +import org.apache.fop.messaging.MessageHandler; +import org.apache.fop.image.SVGImage; + +//Batik import org.apache.batik.dom.svg.SVGDOMImplementation; +import org.apache.batik.dom.svg.SVGOMDocument; +import org.apache.batik.dom.svg.SAXSVGDocumentFactory; +//import org.apache.batik.dom.svg.*; +import org.apache.batik.bridge.UserAgentAdapter; +import org.apache.batik.bridge.UserAgent; +import org.apache.batik.bridge.BridgeContext; +import org.apache.batik.bridge.UnitProcessor; +//import org.apache.batik.swing.svg.*; +//import org.apache.batik.swing.gvt.*; +//import org.apache.batik.gvt.U*; +//import org.apache.batik.gvt.renderer.*; +//import org.apache.batik.gvt.filter.*; +//import org.apache.batik.gvt.event.*; -import java.io.File; -import java.net.URL; -import java.util.List; -import java.util.ArrayList; -import java.awt.geom.AffineTransform; -import java.awt.Point; -import java.awt.geom.Dimension2D; -import java.awt.Dimension; /** * ImageReader object for SVG document image type. */ public class SVGReader extends AbstractImageReader { + public boolean verifySignature(String uri, BufferedInputStream fis) throws IOException { this.imageStream = fis; @@ -70,14 +73,15 @@ try { SAXSVGDocumentFactory factory = new SAXSVGDocumentFactory(SVGImage.getParserName()); - SVGDocument doc = factory.createDocument(uri, imageStream); + SVGDocument doc = (SVGDocument)factory.createDocument(uri, imageStream); - Element e = ((SVGDocument)doc).getRootElement(); - String s; UserAgent userAgent = new MUserAgent(new AffineTransform()); BridgeContext ctx = new BridgeContext(userAgent); + + Element e = ((SVGDocument)doc).getRootElement(); UnitProcessor.Context uctx = UnitProcessor.createContext(ctx, e); + String s; // 'width' attribute - default is 100% s = e.getAttributeNS(null, SVGOMDocument.SVG_WIDTH_ATTRIBUTE); if (s.length() == 0) { @@ -98,8 +102,7 @@ } catch (NoClassDefFoundError ncdfe) { MessageHandler.errorln("Batik not in class path"); return false; - } - catch (Exception e) { + } catch (Exception e) { MessageHandler.errorln("Could not load external SVG: " + e.getMessage()); // assuming any exception means this document is not svg @@ -122,14 +125,14 @@ * Displays an error message. */ public void displayError(String message) { - System.err.println(message); + MessageHandler.error(message); } /** * Displays an error resulting from the specified Exception. */ public void displayError(Exception ex) { - ex.printStackTrace(System.err); + MessageHandler.error(org.apache.avalon.framework.ExceptionUtil.printStackTrace(ex)); } /** @@ -137,7 +140,7 @@ * The given message is typically displayed in a status bar. */ public void displayMessage(String message) { - System.out.println(message); + MessageHandler.log(message); } /** @@ -148,6 +151,7 @@ return 0.35277777777777777778f; // 72 dpi // return 0.26458333333333333333333333333333f; // 96dpi } + public float getPixelUnitToMillimeter() { // this is set to 72dpi as the values in fo are 72dpi return 0.35277777777777777778f; // 72 dpi @@ -165,9 +169,9 @@ return "print"; } -public boolean isXMLParserValidating() { -return true; -} + public boolean isXMLParserValidating() { + return true; + } /** * Returns the user stylesheet uri.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]