org.apache.batik.gvt
Interface GraphicsNode

All Known Implementing Classes:
AbstractGraphicsNode

public interface GraphicsNode

The base class for all graphics nodes. A GraphicsNode encapsulates graphical attributes and can perform atomic operations of a complex rendering.


Field Summary
static java.awt.geom.AffineTransform IDENTITY
          The identity affine transform matrix used to draw renderable images.
 
Method Summary
 void addGraphicsNodeKeyListener(GraphicsNodeKeyListener l)
          Adds the specified graphics node key listener to receive graphics node key events from this node.
 void addGraphicsNodeMouseListener(GraphicsNodeMouseListener l)
          Adds the specified graphics node mouse listener to receive graphics node mouse events from this node.
 boolean contains(java.awt.geom.Point2D p, GraphicsNodeRenderContext rc)
          Tests if the specified Point2D is inside the boundary of this node.
 void dispatchEvent(GraphicsNodeEvent evt)
          Dispatches the specified event to the interested registered listeners.
 java.awt.geom.Rectangle2D getBounds(GraphicsNodeRenderContext rc)
          Returns the bounds of this node in user space.
 ClipRable getClip()
          Returns the clipping filter of this node or null if any.
 java.awt.Composite getComposite()
          Returns the composite of this node.
 Filter getFilter()
          Returns the filter of this node or null if any.
 java.awt.geom.Rectangle2D getGeometryBounds(GraphicsNodeRenderContext rc)
          Returns the bounds of the area covered by this node, without taking any of its rendering attribute into account, i.e., exclusive of any clipping, masking, filtering or stroking, for example.
 java.awt.geom.AffineTransform getGlobalTransform()
          Returns the concatenated transform of this node.
 GraphicsNodeHitDetector getGraphicsNodeHitDetector()
          Returns the hit detector for this node.
 java.awt.geom.AffineTransform getInverseTransform()
          Returns the inverse transform for this node.
 java.util.EventListener[] getListeners(java.lang.Class listenerType)
          Returns an array of listeners that were added to this node and of the specified type.
 Mask getMask()
          Returns the mask of this node or null if any.
 java.awt.Shape getOutline(GraphicsNodeRenderContext rc)
          Returns the outline of this node.
 CompositeGraphicsNode getParent()
          Returns the parent of this node or null if any.
 java.awt.geom.Rectangle2D getPrimitiveBounds(GraphicsNodeRenderContext rc)
          Returns the bounds of the area covered by this node's primitive paint.
 java.awt.RenderingHints getRenderingHints()
          Returns the rendering hints of this node or null if any.
 RootGraphicsNode getRoot()
          Returns the root of the GVT tree or null if the node is not part of a GVT tree.
 java.awt.geom.AffineTransform getTransform()
          Returns the transform of this node.
 java.awt.geom.Rectangle2D getTransformedBounds(java.awt.geom.AffineTransform txf, GraphicsNodeRenderContext rc)
          Returns the bounds of this node after applying the input transform (if any), concatenated with this node's transform (if any).
 java.awt.geom.Rectangle2D getTransformedGeometryBounds(java.awt.geom.AffineTransform txf, GraphicsNodeRenderContext rc)
          Returns the bounds of the area covered by this node, without taking any of its rendering attribute into account, i.e., exclusive of any clipping, masking, filtering or stroking, for example.
 java.awt.geom.Rectangle2D getTransformedPrimitiveBounds(java.awt.geom.AffineTransform txf, GraphicsNodeRenderContext rc)
          Returns the bounds of this node's primitivePaint after applying the input transform (if any), concatenated with this node's transform (if any).
 boolean intersects(java.awt.geom.Rectangle2D r, GraphicsNodeRenderContext rc)
          Tests if the interior of this node intersects the interior of a specified Rectangle2D.
 boolean isVisible()
          Determines whether or not this node is visible when its parent is visible.
 GraphicsNode nodeHitAt(java.awt.geom.Point2D p, GraphicsNodeRenderContext rc)
          Returns the GraphicsNode containing point p if this node or one of its children is sensitive to mouse events at p.
 void paint(java.awt.Graphics2D g2d, GraphicsNodeRenderContext rc)
          Paints this node.
 void primitivePaint(java.awt.Graphics2D g2d, GraphicsNodeRenderContext rc)
          Paints this node without applying Filter, Mask, Composite and clip.
 void processKeyEvent(GraphicsNodeKeyEvent evt)
          Dispatches a graphics node key event to this node or one of its child.
 void processMouseEvent(GraphicsNodeMouseEvent evt)
          Dispatches a graphics node mouse event to this node or one of its child.
 void removeGraphicsNodeKeyListener(GraphicsNodeKeyListener l)
          Removes the specified graphics node key listener so that it no longer receives graphics node key events from this node.
 void removeGraphicsNodeMouseListener(GraphicsNodeMouseListener l)
          Removes the specified graphics node mouse listener so that it no longer receives graphics node mouse events from this node.
 GraphicsNode renderingClone()
          Returns a deep clone of this graphics node.
 void setClip(ClipRable newClipper)
          Sets the clipping filter for this node.
 void setComposite(java.awt.Composite newComposite)
          Sets the composite of this node.
 void setFilter(Filter newFilter)
          Sets the filter of this node.
 void setGraphicsNodeHitDetector(GraphicsNodeHitDetector hitDetector)
          Sets the hit detector for this node.
 void setMask(Mask newMask)
          Sets the mask of this node.
 void setRenderingHint(java.awt.RenderingHints.Key key, java.lang.Object value)
          Maps the specified key to the specified value in the rendering hints of this node.
 void setRenderingHints(java.util.Map hints)
          Copies all of the mappings from the specified Map to the rendering hints of this node.
 void setRenderingHints(java.awt.RenderingHints newHints)
          Sets the rendering hints of this node.
 void setTransform(java.awt.geom.AffineTransform newTransform)
          Sets the transform of this node.
 void setVisible(boolean isVisible)
          Sets if this node is visible or not depending on the specified value.
 

Field Detail

IDENTITY

public static final java.awt.geom.AffineTransform IDENTITY
The identity affine transform matrix used to draw renderable images.
Method Detail

setTransform

public void setTransform(java.awt.geom.AffineTransform newTransform)
Sets the transform of this node.
Parameters:
newTransform - the new transform of this node

getTransform

public java.awt.geom.AffineTransform getTransform()
Returns the transform of this node.

getInverseTransform

public java.awt.geom.AffineTransform getInverseTransform()
Returns the inverse transform for this node.

getGlobalTransform

public java.awt.geom.AffineTransform getGlobalTransform()
Returns the concatenated transform of this node. i.e., this node's transform preconcatenated with it's parent's transforms.

setComposite

public void setComposite(java.awt.Composite newComposite)
Sets the composite of this node.
Parameters:
composite - the composite of this node

getComposite

public java.awt.Composite getComposite()
Returns the composite of this node.

setVisible

public void setVisible(boolean isVisible)
Sets if this node is visible or not depending on the specified value.
Parameters:
isVisible - If true this node is visible

isVisible

public boolean isVisible()
Determines whether or not this node is visible when its parent is visible. Nodes are initially visible.
Returns:
true if this node is visible, false otherwise

setClip

public void setClip(ClipRable newClipper)
Sets the clipping filter for this node.
Parameters:
newClipper - the new clipping filter of this node

getClip

public ClipRable getClip()
Returns the clipping filter of this node or null if any.

setRenderingHint

public void setRenderingHint(java.awt.RenderingHints.Key key,
                             java.lang.Object value)
Maps the specified key to the specified value in the rendering hints of this node.
Parameters:
key - the key of the hint to be set
value - the value indicating preferences for the specified hint category.

setRenderingHints

public void setRenderingHints(java.util.Map hints)
Copies all of the mappings from the specified Map to the rendering hints of this node.
Parameters:
hints - the rendering hints to be set

setRenderingHints

public void setRenderingHints(java.awt.RenderingHints newHints)
Sets the rendering hints of this node.
Parameters:
newHints - the new rendering hints of this node

getRenderingHints

public java.awt.RenderingHints getRenderingHints()
Returns the rendering hints of this node or null if any.

setMask

public void setMask(Mask newMask)
Sets the mask of this node.
Parameters:
newMask - the new mask of this node

getMask

public Mask getMask()
Returns the mask of this node or null if any.

setFilter

public void setFilter(Filter newFilter)
Sets the filter of this node.
Parameters:
newFilter - the new filter of this node

getFilter

public Filter getFilter()
Returns the filter of this node or null if any.

paint

public void paint(java.awt.Graphics2D g2d,
                  GraphicsNodeRenderContext rc)
Paints this node.
Parameters:
g2d - the Graphics2D to use
rc - the GraphicsNodeRenderContext to use was interrupted during paint

primitivePaint

public void primitivePaint(java.awt.Graphics2D g2d,
                           GraphicsNodeRenderContext rc)
Paints this node without applying Filter, Mask, Composite and clip.
Parameters:
g2d - the Graphics2D to use
rc - the GraphicsNodeRenderContext to use

dispatchEvent

public void dispatchEvent(GraphicsNodeEvent evt)
Dispatches the specified event to the interested registered listeners.
Parameters:
evt - the event to dispatch

addGraphicsNodeMouseListener

public void addGraphicsNodeMouseListener(GraphicsNodeMouseListener l)
Adds the specified graphics node mouse listener to receive graphics node mouse events from this node.
Parameters:
l - the graphics node mouse listener to add

removeGraphicsNodeMouseListener

public void removeGraphicsNodeMouseListener(GraphicsNodeMouseListener l)
Removes the specified graphics node mouse listener so that it no longer receives graphics node mouse events from this node.
Parameters:
l - the graphics node mouse listener to remove

addGraphicsNodeKeyListener

public void addGraphicsNodeKeyListener(GraphicsNodeKeyListener l)
Adds the specified graphics node key listener to receive graphics node key events from this node.
Parameters:
l - the graphics node key listener to add

removeGraphicsNodeKeyListener

public void removeGraphicsNodeKeyListener(GraphicsNodeKeyListener l)
Removes the specified graphics node key listener so that it no longer receives graphics node key events from this node.
Parameters:
l - the graphics node key listener to remove

setGraphicsNodeHitDetector

public void setGraphicsNodeHitDetector(GraphicsNodeHitDetector hitDetector)
Sets the hit detector for this node.
Parameters:
hitDetector - the new hit detector

getGraphicsNodeHitDetector

public GraphicsNodeHitDetector getGraphicsNodeHitDetector()
Returns the hit detector for this node.

processMouseEvent

public void processMouseEvent(GraphicsNodeMouseEvent evt)
Dispatches a graphics node mouse event to this node or one of its child.
Parameters:
evt - the evt to dispatch

processKeyEvent

public void processKeyEvent(GraphicsNodeKeyEvent evt)
Dispatches a graphics node key event to this node or one of its child.
Parameters:
evt - the evt to dispatch

getListeners

public java.util.EventListener[] getListeners(java.lang.Class listenerType)
Returns an array of listeners that were added to this node and of the specified type.
Parameters:
listenerType - the type of the listeners to return

getParent

public CompositeGraphicsNode getParent()
Returns the parent of this node or null if any.

getRoot

public RootGraphicsNode getRoot()
Returns the root of the GVT tree or null if the node is not part of a GVT tree.

getBounds

public java.awt.geom.Rectangle2D getBounds(GraphicsNodeRenderContext rc)
Returns the bounds of this node in user space. This includes primitive paint, filtering, clipping and masking. Note: The boundaries of some nodes (notably, text element nodes) cannot be precisely determined independent of their GraphicsNodeRenderContext.
Parameters:
rc - the GraphicsNodeRenderContext for which this dimension applies

getTransformedBounds

public java.awt.geom.Rectangle2D getTransformedBounds(java.awt.geom.AffineTransform txf,
                                                      GraphicsNodeRenderContext rc)
Returns the bounds of this node after applying the input transform (if any), concatenated with this node's transform (if any).
Parameters:
txf - the affine transform with which this node's transform should be concatenated. Should not be null.
rc - the GraphicsNodeRenderContext

getPrimitiveBounds

public java.awt.geom.Rectangle2D getPrimitiveBounds(GraphicsNodeRenderContext rc)
Returns the bounds of the area covered by this node's primitive paint. Note: The boundaries of some nodes (notably, text element nodes) cannot be precisely determined independent of their GraphicsNodeRenderContext.
Parameters:
rc - the GraphicsNodeRenderContext for which this dimension applies

getTransformedPrimitiveBounds

public java.awt.geom.Rectangle2D getTransformedPrimitiveBounds(java.awt.geom.AffineTransform txf,
                                                               GraphicsNodeRenderContext rc)
Returns the bounds of this node's primitivePaint after applying the input transform (if any), concatenated with this node's transform (if any).
Parameters:
txf - the affine transform with which this node's transform should be concatenated. Should not be null.
rc - the GraphicsNodeRenderContext

getGeometryBounds

public java.awt.geom.Rectangle2D getGeometryBounds(GraphicsNodeRenderContext rc)
Returns the bounds of the area covered by this node, without taking any of its rendering attribute into account, i.e., exclusive of any clipping, masking, filtering or stroking, for example. Note: The boundaries of some nodes (notably, text element nodes) cannot be precisely determined independent of their GraphicsNodeRenderContext.
Parameters:
rc - the GraphicsNodeRenderContext for which this dimension applies

getTransformedGeometryBounds

public java.awt.geom.Rectangle2D getTransformedGeometryBounds(java.awt.geom.AffineTransform txf,
                                                              GraphicsNodeRenderContext rc)
Returns the bounds of the area covered by this node, without taking any of its rendering attribute into account, i.e., exclusive of any clipping, masking, filtering or stroking, for example. The returned value is transformed by the concatenation of the input transform and this node's transform. Note: The boundaries of some nodes (notably, text element nodes) cannot be precisely determined independent of their GraphicsNodeRenderContext.
Parameters:
txf - the affine transform with which this node's transform should be concatenated. Should not be null.
rc - the GraphicsNodeRenderContext

contains

public boolean contains(java.awt.geom.Point2D p,
                        GraphicsNodeRenderContext rc)
Tests if the specified Point2D is inside the boundary of this node. Note: The boundaries of some nodes (notably, text element nodes) cannot be precisely determined independent of their GraphicsNodeRenderContext.
Parameters:
p - the specified Point2D in the user space
rc - the GraphicsNodeRenderContext for which this dimension applies
Returns:
true if the coordinates are inside, false otherwise

intersects

public boolean intersects(java.awt.geom.Rectangle2D r,
                          GraphicsNodeRenderContext rc)
Tests if the interior of this node intersects the interior of a specified Rectangle2D. Note: The boundaries of some nodes (notably, text element nodes) cannot be precisely determined independent of their GraphicsNodeRenderContext.
Parameters:
r - the specified Rectangle2D in the user node space
rc - the GraphicsNodeRenderContext for which this dimension applies
Returns:
true if the rectangle intersects, false otherwise

nodeHitAt

public GraphicsNode nodeHitAt(java.awt.geom.Point2D p,
                              GraphicsNodeRenderContext rc)
Returns the GraphicsNode containing point p if this node or one of its children is sensitive to mouse events at p. Note: The boundaries of some nodes (notably, text element nodes) cannot be precisely determined independent of their GraphicsNodeRenderContext.
Parameters:
p - the specified Point2D in the user space
rc - the GraphicsNodeRenderContext for which this dimension applies
Returns:
the GraphicsNode containing p on this branch of the GVT tree.

getOutline

public java.awt.Shape getOutline(GraphicsNodeRenderContext rc)
Returns the outline of this node. Note: The boundaries of some nodes (notably, text element nodes) cannot be precisely determined independent of their GraphicsNodeRenderContext.
Parameters:
rc - the GraphicsNodeRenderContext for which this dimension applies
Returns:
the outline of this node

renderingClone

public GraphicsNode renderingClone()
Returns a deep clone of this graphics node. Warning: All attributes of this graphics node are shared between the original node and its copy. This method does not perform any synchronization.


Copyright © 2001 Apache Software Foundation. All Rights Reserved.