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

cvs commit: xml-fop/src/org/apache/fop/render/pdf PDFXMLHandler.java

keiron      02/03/18 04:30:46

  Modified:    src/org/apache/fop/apps Driver.java
               src/org/apache/fop/fo FOTreeBuilder.java
               src/org/apache/fop/render/pdf PDFXMLHandler.java
  Log:
  made it easier to add xml handlers
  
  Revision  Changes    Path
  1.44      +9 -4      xml-fop/src/org/apache/fop/apps/Driver.java
  
  Index: Driver.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/apps/Driver.java,v
  retrieving revision 1.43
  retrieving revision 1.44
  diff -u -r1.43 -r1.44
  --- Driver.java	5 Mar 2002 10:26:35 -0000	1.43
  +++ Driver.java	18 Mar 2002 12:30:46 -0000	1.44
  @@ -1,5 +1,5 @@
   /*
  - * $Id: Driver.java,v 1.43 2002/03/05 10:26:35 keiron Exp $
  + * $Id: Driver.java,v 1.44 2002/03/18 12:30:46 keiron Exp $
    * 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.
  @@ -173,6 +173,7 @@
        * the system resources that FOP will use
        */
       private Logger log;
  +    private FOUserAgent userAgent = null;
   
       public static final String getParserClassName() {
           String parserClassName = null;
  @@ -192,6 +193,7 @@
       public Driver() {
           _stream = null;
           _treeBuilder = new FOTreeBuilder();
  +        _treeBuilder.setUserAgent(getUserAgent());
           setupDefaultMappings();
       }
   
  @@ -202,12 +204,15 @@
       }
   
       public void setUserAgent(FOUserAgent agent) {
  +        userAgent = agent;
       }
   
       private FOUserAgent getUserAgent() {
  -        FOUserAgent ua = new FOUserAgent();
  -        ua.setLogger(log);
  -        return ua;
  +        if(userAgent == null) {
  +            userAgent = new FOUserAgent();
  +            userAgent.setLogger(log);
  +        }
  +        return userAgent;
       }
   
       public void setLogger(Logger logger) {
  
  
  
  1.35      +6 -1      xml-fop/src/org/apache/fop/fo/FOTreeBuilder.java
  
  Index: FOTreeBuilder.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/FOTreeBuilder.java,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- FOTreeBuilder.java	5 Mar 2002 10:26:36 -0000	1.34
  +++ FOTreeBuilder.java	18 Mar 2002 12:30:46 -0000	1.35
  @@ -1,5 +1,5 @@
   /*
  - * $Id: FOTreeBuilder.java,v 1.34 2002/03/05 10:26:36 keiron Exp $
  + * $Id: FOTreeBuilder.java,v 1.35 2002/03/18 12:30:46 keiron Exp $
    * 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.
  @@ -82,6 +82,11 @@
       public void setUserAgent(FOUserAgent ua) {
           userAgent = ua;
       }
  +
  +    public FOUserAgent getUserAgent() {
  +        return userAgent;
  +    }
  +
   
       public void setStreamRenderer(StreamRenderer streamRenderer) {
           this.streamRenderer = streamRenderer;
  
  
  
  1.2       +19 -11    xml-fop/src/org/apache/fop/render/pdf/PDFXMLHandler.java
  
  Index: PDFXMLHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/render/pdf/PDFXMLHandler.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PDFXMLHandler.java	8 Mar 2002 11:00:20 -0000	1.1
  +++ PDFXMLHandler.java	18 Mar 2002 12:30:46 -0000	1.2
  @@ -1,5 +1,5 @@
   /*
  - * $Id: PDFXMLHandler.java,v 1.1 2002/03/08 11:00:20 keiron Exp $
  + * $Id: PDFXMLHandler.java,v 1.2 2002/03/18 12:30:46 keiron Exp $
    * 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.
  @@ -59,7 +59,17 @@
   
       public void handleXML(RendererContext context, Document doc,
                             String ns) throws Exception {
  -        PDFDocument pdfDoc = (PDFDocument) context.getProperty(PDF_DOCUMENT);
  +        PDFInfo pdfi = getPDFInfo(context);
  +
  +        String svg = "http://www.w3.org/2000/svg";
  +        if (svg.equals(ns)) {
  +            SVGHandler svghandler = new SVGHandler();
  +            svghandler.renderSVGDocument(context, doc, pdfi);
  +        } else {
  +        }
  +    }
  +
  +    public static PDFInfo getPDFInfo(RendererContext context) {
           PDFInfo pdfi = new PDFInfo();
           pdfi.pdfDoc = (PDFDocument)context.getProperty(PDF_DOCUMENT);
           pdfi.currentStream = (PDFStream)context.getProperty(PDF_STREAM);
  @@ -70,18 +80,12 @@
           pdfi.currentFontSize = ((Integer)context.getProperty(PDF_FONT_SIZE)).intValue();
           pdfi.currentXPosition = ((Integer)context.getProperty(PDF_XPOS)).intValue();
           pdfi.currentYPosition = ((Integer)context.getProperty(PDF_YPOS)).intValue();
  -
  -        String svg = "http://www.w3.org/2000/svg";
  -        if (svg.equals(ns)) {
  -            SVGHandler svghandler = new SVGHandler();
  -            svghandler.renderSVGDocument(context, doc, pdfi);
  -        } else {
  -        }
  +        return pdfi;
       }
   
  -    class PDFInfo {
  +    public static class PDFInfo {
           PDFDocument pdfDoc;
  -        PDFStream currentStream;
  +        public PDFStream currentStream;
           int x;
           int y;
           FontState fs;
  @@ -91,6 +95,10 @@
           int currentYPosition;
       }
   
  +    /**
  +     * This method is placed in an inner class so that we don't get class
  +     * loading errors if batik is not present.
  +     */
       protected class SVGHandler {
           protected void renderSVGDocument(RendererContext context, Document doc, PDFInfo pdfInfo) {
               float sx = 1, sy = 1;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org