## org.apache.batik.bridge
Class UpdateManager

    java.lang.Object
      org.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.RepaintTimerTask`
`protected class` `UpdateManager.SuspensionInfo`
`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 int` `minRepaintTime` The current minRepaintTime
`protected RepaintManager` `repaintManager` The repaint manager.
`protected RunnableQueue.RunHandler` `runHandler` The RunHandler for the RunnableQueue.
`protected boolean` `running` Whether the update manager is running.
`protected ScriptingEnvironment` `scriptingEnvironment` The scripting environment.
`protected BridgeContext[]` `secondaryBridgeContexts` Array of resource documents' BridgeContexts.
`protected ScriptingEnvironment[]` `secondaryScriptingEnvironments` Array of resource documents' ScriptingEnvironments that should have their SVGLoad event dispatched.
`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.
`protected void` `dispatchSVGLoadEvent(BridgeContext ctx, ScriptingEnvironment se)` 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)`
`void` `forceRepaint()` Users of Batik should essentially never call this directly from Java.
`BridgeContext` `getBridgeContext()` Returns the bridge context.
`org.w3c.dom.Document` `getDocument()` Returns the current Document.
`int` `getMinRepaintTime()`
`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.
`protected ScriptingEnvironment` `initializeScriptingEnvironment(BridgeContext ctx)` Creates an appropriate ScriptingEnvironment and XBL manager for the given document.
`void` `interrupt()` Interrupts the manager tasks.
`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` `setMinRepaintTime(int minRepaintTime)`
`void` `suspend()` Suspends the update manager.
`void` `updateRendering(java.awt.geom.AffineTransform u2d, boolean dbr, boolean cpt, java.awt.Shape aoi, int width, int height)` Updates the rendering buffer.
`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, boolean clearPaintingTransform)` 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.

### runHandler

    protected RunnableQueue.RunHandler runHandler

  The RunHandler for the RunnableQueue.

### running

    protected volatile boolean running

  Whether the update manager is running.

### suspendCalled

    protected volatile 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.

### secondaryBridgeContexts

    protected BridgeContext[] secondaryBridgeContexts

  Array of resource documents' BridgeContexts.

### secondaryScriptingEnvironments

    protected ScriptingEnvironment[] secondaryScriptingEnvironments

  Array of resource documents' ScriptingEnvironments that should have their SVGLoad event dispatched.

### minRepaintTime

    protected int minRepaintTime

  The current minRepaintTime

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

### getMinRepaintTime

    public int getMinRepaintTime()

### setMinRepaintTime

    public void setMinRepaintTime(int minRepaintTime)

### initializeScriptingEnvironment

    protected ScriptingEnvironment initializeScriptingEnvironment(BridgeContext ctx)

  Creates an appropriate ScriptingEnvironment and XBL manager for the given document.

### dispatchSVGLoadEvent

    public void dispatchSVGLoadEvent()
                              throws java.lang.InterruptedException

  Dispatches an 'SVGLoad' event to the document.

  Throws:
    `java.lang.InterruptedException`

### dispatchSVGLoadEvent

    protected void dispatchSVGLoadEvent(BridgeContext ctx,
                                        ScriptingEnvironment se)

  Dispatches an 'SVGLoad' event to the document.

### 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.
    `width` - The offscreen buffer width.
    `height` - The offscreen buffer height.

### updateRendering

    public void updateRendering(java.awt.geom.AffineTransform u2d,
                                boolean dbr,
                                boolean cpt,
                                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.
    `cpt` - If the canvas painting transform should be cleared when the update complets
    `aoi` - The area of interest in the renderer space units.
    `width` - The offscreen buffer width.
    `height` - The offscreen buffer height.

### updateRendering

    protected void updateRendering(java.util.List areas,
                                   boolean clearPaintingTransform)

  Updates the rendering buffer.

  Parameters:
    `areas` - List of areas of interest in rederer space units.
    `clearPaintingTransform` - Indicates if the painting transform should be cleared as a result of this update.

### repaint

    protected void repaint()

  Repaints the dirty areas, if needed.

### forceRepaint

    public void forceRepaint()

  Users of Batik should essentially never call this directly from Java. If the Canvas is not updating when you change the SVG Document it is almost certainly because you are not making your changes in the RunnableQueue (getUpdateRunnableQueue()). You will have problems if you are not making all changes to the document in the UpdateManager's RunnableQueue. This method exists to implement the 'SVGSVGElement.forceRedraw()' method.

### 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 © 2008 Apache Software Foundation. All Rights Reserved.