org.apache.batik.bridge
Class UpdateManager

java.lang.Object
  extended byorg.apache.batik.bridge.UpdateManager

public class UpdateManager
extends java.lang.Object

This class provides features to manage the update of an SVG document.


Nested Class Summary
protected  class UpdateManager.UpdateManagerRunHander
           
 
Field Summary
protected  BridgeContext bridgeContext
          The bridge context.
protected  org.w3c.dom.Document document
          The document to manage.
protected  GraphicsNode graphicsNode
          The GraphicsNode whose updates are to be tracked.
protected  java.util.List listeners
          The listeners.
protected  RepaintManager repaintManager
          The repaint manager.
protected  boolean running
          Whether the update manager is running.
protected  ScriptingEnvironment scriptingEnvironment
          The scripting environment.
protected  boolean started
          Whether the manager was started.
protected  boolean suspendCalled
          Whether the suspend() method was called.
protected  RunnableQueue updateRunnableQueue
          The update RunnableQueue.
protected  UpdateTracker updateTracker
          The update tracker.
 
Constructor Summary
UpdateManager(BridgeContext ctx, GraphicsNode gn, org.w3c.dom.Document doc)
          Creates a new update manager.
 
Method Summary
 void addUpdateManagerListener(UpdateManagerListener l)
          Adds a UpdateManagerListener to this UpdateManager.
protected  RunnableQueue.RunHandler createRunHandler()
           
 void dispatchSVGLoadEvent()
          Dispatches an 'SVGLoad' event to the document.
 void dispatchSVGResizeEvent()
          Dispatches an "SVGZoom" event to the document.
 void dispatchSVGScrollEvent()
          Dispatches an "SVGZoom" event to the document.
 void dispatchSVGUnLoadEvent()
          Dispatches an 'SVGUnLoad' event to the document.
 void dispatchSVGZoomEvent()
          Dispatches an "SVGZoom" event to the document.
protected  void fireEvent(EventDispatcher.Dispatcher dispatcher, java.lang.Object event)
           
 BridgeContext getBridgeContext()
          Returns the bridge context.
 org.w3c.dom.Document getDocument()
          Returns the current Document.
 RepaintManager getRepaintManager()
          Returns the repaint manager.
 ScriptingEnvironment getScriptingEnvironment()
          Returns the scripting environment.
 RunnableQueue getUpdateRunnableQueue()
          Returns the update RunnableQueue.
 UpdateTracker getUpdateTracker()
          Returns the GVT update tracker.
 void interrupt()
          Interrupts the manager tasks.
static boolean isDynamicDocument(org.w3c.dom.Document doc)
          Tells whether the given SVG document is dynamic.
 boolean isRunning()
          Tells whether the update manager is currently running.
 void manageUpdates(ImageRenderer r)
          Finishes the UpdateManager initialization.
 void removeUpdateManagerListener(UpdateManagerListener l)
          Removes a UpdateManagerListener from this UpdateManager.
protected  void repaint()
          Repaints the dirty areas, if needed.
 void resume()
          Resumes the update manager.
 void suspend()
          Suspends the update manager.
 void updateRendering(java.awt.geom.AffineTransform u2d, boolean dbr, java.awt.Shape aoi, int width, int height)
          Updates the rendering buffer.
protected  void updateRendering(java.util.List areas)
          Updates the rendering buffer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bridgeContext

protected BridgeContext bridgeContext
The bridge context.


document

protected org.w3c.dom.Document document
The document to manage.


updateRunnableQueue

protected RunnableQueue updateRunnableQueue
The update RunnableQueue.


running

protected boolean running
Whether the update manager is running.


suspendCalled

protected boolean suspendCalled
Whether the suspend() method was called.


listeners

protected java.util.List listeners
The listeners.


scriptingEnvironment

protected ScriptingEnvironment scriptingEnvironment
The scripting environment.


repaintManager

protected RepaintManager repaintManager
The repaint manager.


updateTracker

protected UpdateTracker updateTracker
The update tracker.


graphicsNode

protected GraphicsNode graphicsNode
The GraphicsNode whose updates are to be tracked.


started

protected boolean started
Whether the manager was started.

Constructor Detail

UpdateManager

public UpdateManager(BridgeContext ctx,
                     GraphicsNode gn,
                     org.w3c.dom.Document doc)
Creates a new update manager.

Parameters:
ctx - The bridge context.
gn - GraphicsNode whose updates are to be tracked.
doc - The document to manage.
Method Detail

isDynamicDocument

public static boolean isDynamicDocument(org.w3c.dom.Document doc)
Tells whether the given SVG document is dynamic.


dispatchSVGLoadEvent

public void dispatchSVGLoadEvent()
                          throws java.lang.InterruptedException
Dispatches an 'SVGLoad' event to the document.

Throws:
java.lang.InterruptedException

dispatchSVGZoomEvent

public void dispatchSVGZoomEvent()
                          throws java.lang.InterruptedException
Dispatches an "SVGZoom" event to the document.

Throws:
java.lang.InterruptedException

dispatchSVGScrollEvent

public void dispatchSVGScrollEvent()
                            throws java.lang.InterruptedException
Dispatches an "SVGZoom" event to the document.

Throws:
java.lang.InterruptedException

dispatchSVGResizeEvent

public void dispatchSVGResizeEvent()
                            throws java.lang.InterruptedException
Dispatches an "SVGZoom" event to the document.

Throws:
java.lang.InterruptedException

manageUpdates

public void manageUpdates(ImageRenderer r)
Finishes the UpdateManager initialization.


getBridgeContext

public BridgeContext getBridgeContext()
Returns the bridge context.


getUpdateRunnableQueue

public RunnableQueue getUpdateRunnableQueue()
Returns the update RunnableQueue.


getRepaintManager

public RepaintManager getRepaintManager()
Returns the repaint manager.


getUpdateTracker

public UpdateTracker getUpdateTracker()
Returns the GVT update tracker.


getDocument

public org.w3c.dom.Document getDocument()
Returns the current Document.


getScriptingEnvironment

public ScriptingEnvironment getScriptingEnvironment()
Returns the scripting environment.


isRunning

public boolean isRunning()
Tells whether the update manager is currently running.


suspend

public void suspend()
Suspends the update manager.


resume

public void resume()
Resumes the update manager.


interrupt

public void interrupt()
Interrupts the manager tasks.


dispatchSVGUnLoadEvent

public void dispatchSVGUnLoadEvent()
Dispatches an 'SVGUnLoad' event to the document. This method interrupts the update manager threads. NOTE: this method must be called outside the update thread.


updateRendering

public void updateRendering(java.awt.geom.AffineTransform u2d,
                            boolean dbr,
                            java.awt.Shape aoi,
                            int width,
                            int height)
Updates the rendering buffer. Only to be called from the update thread.

Parameters:
u2d - The user to device transform.
dbr - Whether the double buffering should be used.
aoi - The area of interest in the renderer space units.

updateRendering

protected void updateRendering(java.util.List areas)
Updates the rendering buffer.


repaint

protected void repaint()
Repaints the dirty areas, if needed.


addUpdateManagerListener

public void addUpdateManagerListener(UpdateManagerListener l)
Adds a UpdateManagerListener to this UpdateManager.


removeUpdateManagerListener

public void removeUpdateManagerListener(UpdateManagerListener l)
Removes a UpdateManagerListener from this UpdateManager.


fireEvent

protected void fireEvent(EventDispatcher.Dispatcher dispatcher,
                         java.lang.Object event)

createRunHandler

protected RunnableQueue.RunHandler createRunHandler()


Copyright © 2004 Apache Software Foundation. All Rights Reserved.