hillion 02/02/18 03:03:20
Modified: sources/org/apache/batik/gvt/renderer
ImageRendererFactory.java
sources/org/apache/batik/swing/gvt JGVTComponent.java
sources/org/apache/batik/swing/svg JSVGComponent.java
sources/org/apache/batik/transcoder/image
ImageTranscoder.java
Added: sources/org/apache/batik/gvt/renderer
ConcreteImageRendererFactory.java
Removed: sources/org/apache/batik/gvt/renderer
DynamicRendererFactory.java
StaticRendererFactory.java
Log:
- Revisited the renderer factory API.
Revision Changes Path
1.3 +8 -3
xml-batik/sources/org/apache/batik/gvt/renderer/ImageRendererFactory.java
Index: ImageRendererFactory.java
===================================================================
RCS file:
/home/cvs/xml-batik/sources/org/apache/batik/gvt/renderer/ImageRendererFactory.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ImageRendererFactory.java 18 Sep 2001 21:19:01 -0000 1.2
+++ ImageRendererFactory.java 18 Feb 2002 11:03:20 -0000 1.3
@@ -12,11 +12,16 @@
* Interface for a factory of ImageRenderers
*
* @author <a href="mailto:[EMAIL PROTECTED]">Vincent Hardy</a>
- * @version $Id: ImageRendererFactory.java,v 1.2 2001/09/18 21:19:01 deweese Exp $
+ * @version $Id: ImageRendererFactory.java,v 1.3 2002/02/18 11:03:20 hillion Exp $
*/
public interface ImageRendererFactory extends RendererFactory{
/**
- * Creates a new renderer.
+ * Creates a new static renderer.
*/
- ImageRenderer createImageRenderer();
+ ImageRenderer createStaticImageRenderer();
+
+ /**
+ * Creates a new dynamic renderer.
+ */
+ ImageRenderer createDynamicImageRenderer();
}
1.1
xml-batik/sources/org/apache/batik/gvt/renderer/ConcreteImageRendererFactory.java
Index: ConcreteImageRendererFactory.java
===================================================================
/*****************************************************************************
* Copyright (C) The Apache Software Foundation. All rights reserved. *
* ------------------------------------------------------------------------- *
* This software is published under the terms of the Apache Software License *
* version 1.1, a copy of which has been included with this distribution in *
* the LICENSE file. *
*****************************************************************************/
package org.apache.batik.gvt.renderer;
import java.awt.RenderingHints;
import java.awt.geom.AffineTransform;
import java.awt.font.FontRenderContext;
import org.apache.batik.gvt.TextPainter;
import org.apache.batik.gvt.filter.GraphicsNodeRableFactory;
import org.apache.batik.gvt.renderer.Renderer;
import org.apache.batik.gvt.renderer.RendererFactory;
import org.apache.batik.gvt.filter.ConcreteGraphicsNodeRableFactory;
/**
* This class provides a factory for renderers.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Stephane Hillion</a>
* @version $Id: ConcreteImageRendererFactory.java,v 1.1 2002/02/18 11:03:20 hillion
Exp $
*/
public class ConcreteImageRendererFactory implements ImageRendererFactory {
/**
* Creates a new renderer.
*/
public Renderer createRenderer() {
return createStaticImageRenderer();
}
/**
* Creates a new static image renderer
*/
public ImageRenderer createStaticImageRenderer(){
return new StaticRenderer();
}
/**
* Creates a new dynamic image renderer
*/
public ImageRenderer createDynamicImageRenderer(){
return new DynamicRenderer();
}
}
1.26 +11 -4 xml-batik/sources/org/apache/batik/swing/gvt/JGVTComponent.java
Index: JGVTComponent.java
===================================================================
RCS file: /home/cvs/xml-batik/sources/org/apache/batik/swing/gvt/JGVTComponent.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- JGVTComponent.java 18 Feb 2002 09:11:58 -0000 1.25
+++ JGVTComponent.java 18 Feb 2002 11:03:20 -0000 1.26
@@ -44,7 +44,7 @@
import org.apache.batik.gvt.GraphicsNode;
import org.apache.batik.gvt.event.AWTEventDispatcher;
-import org.apache.batik.gvt.renderer.DynamicRendererFactory;
+import org.apache.batik.gvt.renderer.ConcreteImageRendererFactory;
import org.apache.batik.gvt.renderer.ImageRenderer;
import org.apache.batik.gvt.renderer.ImageRendererFactory;
@@ -54,7 +54,7 @@
* This class represents a component which can display a GVT tree.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Stephane Hillion</a>
- * @version $Id: JGVTComponent.java,v 1.25 2002/02/18 09:11:58 hillion Exp $
+ * @version $Id: JGVTComponent.java,v 1.26 2002/02/18 11:03:20 hillion Exp $
*/
public class JGVTComponent extends JComponent {
@@ -77,7 +77,7 @@
* The renderer factory.
*/
protected ImageRendererFactory rendererFactory =
- new DynamicRendererFactory();
+ new ConcreteImageRendererFactory();
/**
* The current renderer.
@@ -552,6 +552,13 @@
}
/**
+ * Creates a new renderer.
+ */
+ protected ImageRenderer createImageRenderer() {
+ return rendererFactory.createStaticImageRenderer();
+ }
+
+ /**
* Renders the GVT tree.
*/
protected void renderGVTTree() {
@@ -562,7 +569,7 @@
// Renderer setup.
if (renderer == null || renderer.getTree() != gvtRoot) {
- renderer = rendererFactory.createImageRenderer();
+ renderer = createImageRenderer();
renderer.setTree(gvtRoot);
}
1.39 +16 -3 xml-batik/sources/org/apache/batik/swing/svg/JSVGComponent.java
Index: JSVGComponent.java
===================================================================
RCS file: /home/cvs/xml-batik/sources/org/apache/batik/swing/svg/JSVGComponent.java,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- JSVGComponent.java 18 Feb 2002 09:11:59 -0000 1.38
+++ JSVGComponent.java 18 Feb 2002 11:03:20 -0000 1.39
@@ -56,6 +56,8 @@
import org.apache.batik.gvt.event.EventDispatcher;
+import org.apache.batik.gvt.renderer.ImageRenderer;
+
import org.apache.batik.swing.gvt.GVTTreeRendererEvent;
import org.apache.batik.swing.gvt.JGVTComponent;
@@ -178,7 +180,7 @@
* building/rendering a document (invalid XML file, missing attributes...).</p>
*
* @author <a href="mailto:[EMAIL PROTECTED]">Stephane Hillion</a>
- * @version $Id: JSVGComponent.java,v 1.38 2002/02/18 09:11:59 hillion Exp $
+ * @version $Id: JSVGComponent.java,v 1.39 2002/02/18 11:03:20 hillion Exp $
*/
public class JSVGComponent extends JGVTComponent {
@@ -420,7 +422,7 @@
updateManagerStopped = false;
isDynamicDocument = UpdateManager.isDynamicDocument(doc);
-
+
svgDocument = doc;
Element root = doc.getDocumentElement();
@@ -501,7 +503,7 @@
/**
* Starts a SVGLoadEventDispatcher thread.
*/
- private void startSVGLoadEventDispatcher(GraphicsNode root) {
+ protected void startSVGLoadEventDispatcher(GraphicsNode root) {
updateManager = new UpdateManager(bridgeContext,
root,
svgDocument);
@@ -522,6 +524,17 @@
}
d.start();
+ }
+
+ /**
+ * Creates a new renderer.
+ */
+ protected ImageRenderer createImageRenderer() {
+ if (isDynamicDocument) {
+ return rendererFactory.createDynamicImageRenderer();
+ } else {
+ return rendererFactory.createStaticImageRenderer();
+ }
}
/**
1.34 +4 -6
xml-batik/sources/org/apache/batik/transcoder/image/ImageTranscoder.java
Index: ImageTranscoder.java
===================================================================
RCS file:
/home/cvs/xml-batik/sources/org/apache/batik/transcoder/image/ImageTranscoder.java,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- ImageTranscoder.java 30 Oct 2001 14:15:33 -0000 1.33
+++ ImageTranscoder.java 18 Feb 2002 11:03:20 -0000 1.34
@@ -48,6 +48,7 @@
import org.apache.batik.gvt.event.EventDispatcher;
import org.apache.batik.gvt.renderer.ImageRenderer;
import org.apache.batik.gvt.renderer.ImageRendererFactory;
+import org.apache.batik.gvt.renderer.ConcreteImageRendererFactory;
import org.apache.batik.transcoder.TranscoderException;
import org.apache.batik.transcoder.TranscoderOutput;
@@ -74,9 +75,6 @@
import org.w3c.dom.svg.SVGDocument;
import org.w3c.dom.svg.SVGSVGElement;
-// <!> FIXME : Those import clauses will change with new design
-import org.apache.batik.gvt.renderer.StaticRendererFactory;
-
/**
* This class enables to transcode an input to an image of any format.
*
@@ -102,7 +100,7 @@
* millimeter conversion factor.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Thierry Kormann</a>
- * @version $Id: ImageTranscoder.java,v 1.33 2001/10/30 14:15:33 tkormann Exp $
+ * @version $Id: ImageTranscoder.java,v 1.34 2002/02/18 11:03:20 hillion Exp $
*/
public abstract class ImageTranscoder extends XMLAbstractTranscoder {
@@ -156,7 +154,7 @@
// build the GVT tree
GVTBuilder builder = new GVTBuilder();
- ImageRendererFactory rendFactory = new StaticRendererFactory();
+ ImageRendererFactory rendFactory = new ConcreteImageRendererFactory();
BridgeContext ctx = new BridgeContext(userAgent);
GraphicsNode gvtRoot;
try {
@@ -238,7 +236,7 @@
// paint the SVG document using the bridge package
// create the appropriate renderer
- ImageRenderer renderer = rendFactory.createImageRenderer();
+ ImageRenderer renderer = rendFactory.createStaticImageRenderer();
renderer.updateOffScreen(w, h);
renderer.setTransform(Px);
renderer.setTree(gvtRoot);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]