Package org.apache.batik.gvt
Class AbstractGraphicsNode
java.lang.Object
org.apache.batik.gvt.AbstractGraphicsNode
- All Implemented Interfaces:
GraphicsNode
- Direct Known Subclasses:
CompositeGraphicsNode
,MultiResGraphicsNode
,ProxyGraphicsNode
,RasterImageNode
,ShapeNode
,SVGPatternElementBridge.PatternGraphicsNode
,TextNode
A partial implementation of the
GraphicsNode
interface.- Version:
- $Id: AbstractGraphicsNode.java 1808888 2017-09-19 14:22:11Z ssteiner $
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Rectangle2D
Internal Cache: node boundsprotected GraphicsNodeChangeEvent
protected GraphicsNodeChangeEvent
protected ClipRable
The clipping filter for this graphics node.protected Composite
The compositing operation to be used when a graphics node is painted on top of another one.protected WeakReference
The GraphicsNodeRable for this node with all filtering applied(package private) static double
protected Filter
The filter of this graphics node.protected WeakReference
The GraphicsNodeRable for this node.protected RenderingHints
The rendering hints that control the quality to use when rendering this graphics node.protected AffineTransform
The inverse transform for this node, i.e., from parent node to this node.protected boolean
This flag bit indicates whether or not this graphics node is visible.protected EventListenerList
The listeners list.protected Mask
The mask of this graphics node.protected CompositeGraphicsNode
The parent of this graphics node.protected int
Indicates how this graphics node reacts to events.protected RootGraphicsNode
The root of the GVT tree.protected AffineTransform
The transform of this graphics node.protected WeakReference
A Weak Reference to this.Fields inherited from interface org.apache.batik.gvt.GraphicsNode
ALL, FILL, IDENTITY, NONE, PAINTED, STROKE, VISIBLE, VISIBLE_FILL, VISIBLE_PAINTED, VISIBLE_STROKE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
Returns true if the specified Point2D is inside the boundary of this node, false otherwise.void
void
void
fireGraphicsNodeChangeStarted
(GraphicsNodeChangeEvent changeStartedEvent) void
fireGraphicsNodeChangeStarted
(GraphicsNode changeSrc) Returns the bounds of this node in user space.getClip()
Returns the clipping filter of this node or null if any.Returns the composite of this node or null if any.getEnableBackgroundGraphicsNodeRable
(boolean createIfNeeded) Returns the GraphicsNodeRable for this node.Returns the filter of this node or null if any.Returns the concatenated transform of this node.getGraphicsNodeRable
(boolean createIfNeeded) Returns the GraphicsNodeRable for this node.Returns the inverse transform for this node.getMask()
Returns the mask of this node or null if any.Returns the parent of this node or null if any.int
Returns the type that describes how this graphics node reacts to events.Returns the rendering hints of this node or null if any.getRoot()
Returns the root of the GVT tree or null if the node is not part of a GVT tree.Returns the transform of this node or null if any.Returns the bounds of this node after applying the input transform (if any), concatenated with this node's transform (if any).Returns the bounds of the area covered by this node, without taking any of its rendering attribute into accoun.Returns the bounds of this node's primitivePaint after applying the input transform (if any), concatenated with this node's transform (if any).Returns the bounds of the sensitive area covered by this node, This includes the stroked area but does not include the effects of clipping, masking or filtering.Returns a canonical WeakReference to this GraphicsNode.boolean
Returns true if the interior of this node intersects the interior of a specified Rectangle2D, false otherwise.protected void
Invalidates the cached geometric bounds.protected boolean
isAntialiasedClip
(AffineTransform usr2dev, RenderingHints hints, Shape clip) Returns true if there is a clip and it should be antialiasedprotected boolean
Returns true of an offscreen buffer is needed to render this node, false otherwise.boolean
Returns true if this node is visible, false otherwise.Returns the GraphicsNode containing point p if this node or one of its children is sensitive to mouse events at p.protected Rectangle2D
normalizeRectangle
(Rectangle2D bounds) This method makes sure that neither the width nor height of the rectangle is zero.void
paint
(Graphics2D g2d) Paints this node.void
Sets the clipping filter of this node.void
setComposite
(Composite newComposite) Sets the composite of this node.void
Sets the filter of this node.void
Sets the mask of this node.protected void
setParent
(CompositeGraphicsNode newParent) Sets the parent node of this graphics node.void
setPointerEventType
(int pointerEventType) Sets the type that describes how this graphics node reacts to events.void
setRenderingHint
(RenderingHints.Key key, Object value) Maps the specified key to the specified value in the rendering hints of this node.void
setRenderingHints
(RenderingHints newHints) Sets the rendering hints of this node.void
setRenderingHints
(Map hints) Copies all of the mappings from the specified Map to the rendering hints of this node.protected void
setRoot
(RootGraphicsNode newRoot) Sets the root node of this graphics node.void
setTransform
(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.private void
traceFilter
(Filter filter, String prefix) DEBUG: Trace filter chainMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.batik.gvt.GraphicsNode
getGeometryBounds, getOutline, getPrimitiveBounds, getSensitiveBounds, primitivePaint
-
Field Details
-
listeners
The listeners list. -
transform
The transform of this graphics node. -
inverseTransform
The inverse transform for this node, i.e., from parent node to this node. -
composite
The compositing operation to be used when a graphics node is painted on top of another one. -
isVisible
protected boolean isVisibleThis flag bit indicates whether or not this graphics node is visible. -
clip
The clipping filter for this graphics node. -
hints
The rendering hints that control the quality to use when rendering this graphics node. -
parent
The parent of this graphics node. -
root
The root of the GVT tree. -
mask
The mask of this graphics node. -
filter
The filter of this graphics node. -
pointerEventType
protected int pointerEventTypeIndicates how this graphics node reacts to events. -
graphicsNodeRable
The GraphicsNodeRable for this node. -
enableBackgroundGraphicsNodeRable
The GraphicsNodeRable for this node with all filtering applied -
weakRef
A Weak Reference to this. -
bounds
Internal Cache: node bounds -
changeStartedEvent
-
changeCompletedEvent
-
EPSILON
static double EPSILON
-
-
Constructor Details
-
AbstractGraphicsNode
protected AbstractGraphicsNode()Constructs a new graphics node.
-
-
Method Details
-
getWeakReference
Returns a canonical WeakReference to this GraphicsNode. This is suitable for use as a key value in a hash map- Specified by:
getWeakReference
in interfaceGraphicsNode
-
getPointerEventType
public int getPointerEventType()Returns the type that describes how this graphics node reacts to events.- Specified by:
getPointerEventType
in interfaceGraphicsNode
- Returns:
- VISIBLE_PAINTED | VISIBLE_FILL | VISIBLE_STROKE | VISIBLE | PAINTED | FILL | STROKE | ALL | NONE
-
setPointerEventType
public void setPointerEventType(int pointerEventType) Sets the type that describes how this graphics node reacts to events.- Specified by:
setPointerEventType
in interfaceGraphicsNode
- Parameters:
pointerEventType
- VISIBLE_PAINTED | VISIBLE_FILL | VISIBLE_STROKE | VISIBLE | PAINTED | FILL | STROKE | ALL | NONE
-
setTransform
Sets the transform of this node.- Specified by:
setTransform
in interfaceGraphicsNode
- Parameters:
newTransform
- the new transform of this node
-
getTransform
Returns the transform of this node or null if any.- Specified by:
getTransform
in interfaceGraphicsNode
-
getInverseTransform
Returns the inverse transform for this node.- Specified by:
getInverseTransform
in interfaceGraphicsNode
-
getGlobalTransform
Returns the concatenated transform of this node. That is, this node's transform preconcatenated with it's parent's transforms.- Specified by:
getGlobalTransform
in interfaceGraphicsNode
-
setComposite
Sets the composite of this node.- Specified by:
setComposite
in interfaceGraphicsNode
- Parameters:
newComposite
- the composite of this node
-
getComposite
Returns the composite of this node or null if any.- Specified by:
getComposite
in interfaceGraphicsNode
-
setVisible
public void setVisible(boolean isVisible) Sets if this node is visible or not depending on the specified value.- Specified by:
setVisible
in interfaceGraphicsNode
- Parameters:
isVisible
- If true this node is visible
-
isVisible
public boolean isVisible()Returns true if this node is visible, false otherwise.- Specified by:
isVisible
in interfaceGraphicsNode
-
setClip
Description copied from interface:GraphicsNode
Sets the clipping filter of this node.- Specified by:
setClip
in interfaceGraphicsNode
- Parameters:
newClipper
- the new clipping filter of this node
-
getClip
Returns the clipping filter of this node or null if any.- Specified by:
getClip
in interfaceGraphicsNode
-
setRenderingHint
Maps the specified key to the specified value in the rendering hints of this node.- Specified by:
setRenderingHint
in interfaceGraphicsNode
- Parameters:
key
- the key of the hint to be setvalue
- the value indicating preferences for the specified hint category.
-
setRenderingHints
Copies all of the mappings from the specified Map to the rendering hints of this node.- Specified by:
setRenderingHints
in interfaceGraphicsNode
- Parameters:
hints
- the rendering hints to be set
-
setRenderingHints
Sets the rendering hints of this node.- Specified by:
setRenderingHints
in interfaceGraphicsNode
- Parameters:
newHints
- the new rendering hints of this node
-
getRenderingHints
Returns the rendering hints of this node or null if any.- Specified by:
getRenderingHints
in interfaceGraphicsNode
-
setMask
Sets the mask of this node.- Specified by:
setMask
in interfaceGraphicsNode
- Parameters:
newMask
- the new mask of this node
-
getMask
Returns the mask of this node or null if any.- Specified by:
getMask
in interfaceGraphicsNode
-
setFilter
Sets the filter of this node.- Specified by:
setFilter
in interfaceGraphicsNode
- Parameters:
newFilter
- the new filter of this node
-
getFilter
Returns the filter of this node or null if any.- Specified by:
getFilter
in interfaceGraphicsNode
-
getGraphicsNodeRable
Returns the GraphicsNodeRable for this node. This GraphicsNodeRable is the Renderable (Filter) before any of the filter operations have been applied.- Specified by:
getGraphicsNodeRable
in interfaceGraphicsNode
-
getEnableBackgroundGraphicsNodeRable
Returns the GraphicsNodeRable for this node. This GraphicsNodeRable is the Renderable (Filter) after all of the filter operations have been applied.- Specified by:
getEnableBackgroundGraphicsNodeRable
in interfaceGraphicsNode
-
paint
Paints this node.- Specified by:
paint
in interfaceGraphicsNode
- Parameters:
g2d
- the Graphics2D to use
-
traceFilter
DEBUG: Trace filter chain -
isOffscreenBufferNeeded
protected boolean isOffscreenBufferNeeded()Returns true of an offscreen buffer is needed to render this node, false otherwise. -
isAntialiasedClip
Returns true if there is a clip and it should be antialiased -
fireGraphicsNodeChangeStarted
-
fireGraphicsNodeChangeStarted
public void fireGraphicsNodeChangeStarted() -
fireGraphicsNodeChangeStarted
-
fireGraphicsNodeChangeCompleted
public void fireGraphicsNodeChangeCompleted() -
getParent
Returns the parent of this node or null if any.- Specified by:
getParent
in interfaceGraphicsNode
-
getRoot
Returns the root of the GVT tree or null if the node is not part of a GVT tree.- Specified by:
getRoot
in interfaceGraphicsNode
-
setRoot
Sets the root node of this graphics node.- Parameters:
newRoot
- the new root node of this node
-
setParent
Sets the parent node of this graphics node.- Parameters:
newParent
- the new parent node of this node
-
invalidateGeometryCache
protected void invalidateGeometryCache()Invalidates the cached geometric bounds. This method is called each time an attribute that affects the bounds of this node changed. -
getBounds
Returns the bounds of this node in user space. This includes primitive paint, filtering, clipping and masking.- Specified by:
getBounds
in interfaceGraphicsNode
-
getTransformedBounds
Returns the bounds of this node after applying the input transform (if any), concatenated with this node's transform (if any).- Specified by:
getTransformedBounds
in interfaceGraphicsNode
- Parameters:
txf
- the affine transform with which this node's transform should be concatenated. Should not be null.
-
getTransformedPrimitiveBounds
Returns the bounds of this node's primitivePaint after applying the input transform (if any), concatenated with this node's transform (if any).- Specified by:
getTransformedPrimitiveBounds
in interfaceGraphicsNode
- Parameters:
txf
- the affine transform with which this node's transform should be concatenated. Should not be null.
-
getTransformedGeometryBounds
Returns the bounds of the area covered by this node, without taking any of its rendering attribute into accoun. That is, 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.- Specified by:
getTransformedGeometryBounds
in interfaceGraphicsNode
- Parameters:
txf
- the affine transform with which this node's transform should be concatenated. Should not be null.
-
getTransformedSensitiveBounds
Returns the bounds of the sensitive area covered by this node, This includes the stroked area but does not include the effects of clipping, masking or filtering. The returned value is transformed by the concatenation of the input transform and this node's transform.- Specified by:
getTransformedSensitiveBounds
in interfaceGraphicsNode
- Parameters:
txf
- the affine transform with which this node's transform should be concatenated. Should not be null.
-
contains
Returns true if the specified Point2D is inside the boundary of this node, false otherwise.- Specified by:
contains
in interfaceGraphicsNode
- Parameters:
p
- the specified Point2D in the user space
-
intersects
Returns true if the interior of this node intersects the interior of a specified Rectangle2D, false otherwise.- Specified by:
intersects
in interfaceGraphicsNode
- Parameters:
r
- the specified Rectangle2D in the user node space
-
nodeHitAt
Returns the GraphicsNode containing point p if this node or one of its children is sensitive to mouse events at p.- Specified by:
nodeHitAt
in interfaceGraphicsNode
- Parameters:
p
- the specified Point2D in the user space
-
normalizeRectangle
This method makes sure that neither the width nor height of the rectangle is zero. But it tries to make them very small relatively speaking.
-