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