| java.lang.Object com.sun.perseus.model.SimpleCanvasManager
All known Subclasses: com.sun.perseus.model.CanvasManager,
SimpleCanvasManager | public class SimpleCanvasManager implements UpdateListener,RunnableHandler(Code) | | The SimpleCanvasManager class is responsible for
keeping the rendering of a ModelNode tree on a
RenderGraphics current.
Specifically, the SimpleCanvasManager listens to
update events in a ModelNode tree and
triggers repaint into the RenderGraphics when
necessary.
The SimpleCanvasManager does not handle documents
that have not been loaded and does nothing on loadComplete
calls.
version: $Id: SimpleCanvasManager.java,v 1.15 2006/06/29 10:47:34 ln156897 Exp $ |
canvasConsumed | protected boolean canvasConsumed(Code) | | This flag should be used by the consumer of the offscreen
buffer to let the SimpleCanvasManager know when the updated
offscreen has been consumed.
|
clearPaint | protected RGB clearPaint(Code) | | The color used to clear the canvas.
|
documentNode | protected DocumentNode documentNode(Code) | | Model which this SimpleCanvasManager renders to
the associated RenderGraphics
|
isOff | protected boolean isOff(Code) | | When off, no updates are made to the rendering surface.
|
lock | final public Object lock(Code) | | The object used as a lock to synchronize access
to the paint surface.
|
needRepaint | protected boolean needRepaint(Code) | | Controls whether a repaint is needed or not
|
rg | protected RenderGraphics rg(Code) | | The RenderGraphics which this
SimpleCanvasManager keeps up to date
with its associated model changes.
|
SimpleCanvasManager | public SimpleCanvasManager(RenderGraphics rg, DocumentNode documentNode, CanvasUpdateListener canvasUpdateListener)(Code) | | Parameters: rg - the RenderGraphics which this instance will keep up to date with the model changes. Parameters: documentNode - the DocumentNode , root of the tree that this SimpleCanvasManager willdraw and keep current on the RenderGraphics Parameters: canvasUpdateListener - the CanvasUpdateListener which listens to completed updates on the associatedRenderGraphics throws: IllegalArgumentException - if rg, documentNode or listener is null. |
consume | public void consume()(Code) | | Should be called by the SimpleCanvasManager user to notify the
SimpleCanvasManager when an update to the canvas has been consumed.
|
fullPaint | protected void fullPaint()(Code) | | Utility method used to do a full repaint. This method should be called
from the update thread only.
|
getRenderGraphics | public RenderGraphics getRenderGraphics()(Code) | | the RenderGraphics to the canvas managed by this SimpleCanvasManager. |
isOff | public boolean isOff()(Code) | | true if the SimpleCanvasManager is currently bypassing canvasupdates. |
loadBegun | public void loadBegun(ModelNode node)(Code) | | Invoked when the input node has started loading
Parameters: node - the ModelNode for which loadinghas started. |
loadComplete | public void loadComplete(ModelNode node)(Code) | | Invoked when the input node has finished loading.
Parameters: node - the node for which loadingis complete. |
loadStarting | public void loadStarting(DocumentNode documentNode, InputStream is)(Code) | | Invoked when the document starts loading
Parameters: documentNode - the DocumentNode for which loadingis starting Parameters: is - the InputStream from which SVG contentis loaded. |
loadingFailed | public void loadingFailed(DocumentNode documentNode, Exception error)(Code) | | Invoked when a document error happened before finishing loading.
Parameters: documentNode - the DocumentNode for which loadinghas failed. Parameters: error - the exception which describes the reason why loadingfailed. |
modifiedNode | public void modifiedNode(ModelNode node)(Code) | | Invoked when a node modification completed.
Parameters: node - the node which was just modified. |
modifyingNode | public void modifyingNode(ModelNode node)(Code) | | Invoked when a node is about to be modified. This will
be used in the future to track dirty areas.
Parameters: node - the node which is about to be modified |
modifyingNodeRendering | public void modifyingNodeRendering(ModelNode node)(Code) | | Invoked when a node's rendering is about to be modified
Parameters: node - the node which is about to be modified |
nodeInserted | public void nodeInserted(ModelNode node)(Code) | | Invoked when a node has been inserted into the tree
Parameters: node - the newly inserted node |
runnableInvoked | public void runnableInvoked(RunnableQueue rq, Runnable r)(Code) | | Called when the given Runnable has just been invoked and
has returned.
Parameters: r - the Runnable which just got executed Parameters: rq - the RunnableQueue which executed theinput Runnable |
setClearPaint | public void setClearPaint(RGB clearPaint)(Code) | | Sets the paint used to clear the canvas.
Parameters: clearPaint - the new paint. |
setRenderGraphics | public void setRenderGraphics(RenderGraphics rg)(Code) | | Parameters: rg - the RenderGraphics which this instance should now update. Setting the RenderGraphics causes a full repaintto be scheduled. throws: IllegalArgumentException - if rg is null. |
textInserted | public void textInserted(ModelNode node)(Code) | | Invoked when a string has been appended, during a load
phase. This is only used when parsing a document and is
used in support of progressive download, like the other
loadXXX methods.
Parameters: node - the ModelNode on which text has beeninserted. |
turnOff | public void turnOff()(Code) | | Turns off any rendering updates.
|
turnOn | public void turnOn()(Code) | | Turns rendering updates on.
|
updateCanvas | public void updateCanvas()(Code) | | Utility method used to update the canvas appropriately
depending on what is needed.
During the loading phase, while we do progressive
rendering, the canvas will only redraw nodes in the
progressiveNodes list, unless a repaint has been
requested.
Important Note: this method should only be called from
the update thread, i.e., the thread that also manages
the model node tree.
|
|
|