Package org.apache.batik.bridge
Class TextNode
- java.lang.Object
-
- org.apache.batik.gvt.AbstractGraphicsNode
-
- org.apache.batik.bridge.TextNode
-
- All Implemented Interfaces:
GraphicsNode
,Selectable
- Direct Known Subclasses:
FlowExtTextNode
,FlowTextNode
public class TextNode extends AbstractGraphicsNode implements Selectable
A graphics node that represents text.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TextNode.Anchor
Defines where the text of aTextNode
can be anchored relative to its location.
-
Field Summary
Fields Modifier and Type Field Description protected java.text.AttributedCharacterIterator
aci
Attributed Character Iterator describing the textprotected Mark
beginMark
The begin mark.protected Mark
endMark
The end mark.protected java.awt.geom.Point2D
location
Location of this text node (inherited, independent of explicit X and Y attributes applied to children).static java.text.AttributedCharacterIterator.Attribute
PAINT_INFO
protected java.lang.String
text
The text of thisTextNode
.protected TextPainter
textPainter
The text painter used to display the text of this text node.protected java.util.List
textRuns
The list of text runs.-
Fields inherited from class org.apache.batik.gvt.AbstractGraphicsNode
changeCompletedEvent, changeStartedEvent, clip, composite, enableBackgroundGraphicsNodeRable, filter, graphicsNodeRable, hints, inverseTransform, isVisible, listeners, mask, parent, pointerEventType, root, transform, weakRef
-
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 Constructor Description TextNode()
Constructs a new emptyTextNode
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
contains(java.awt.geom.Point2D p)
Returns true if the specified Point2D is inside the boundary of this node, false otherwise.protected boolean
contains(java.awt.geom.Point2D p, java.awt.geom.Rectangle2D b)
java.text.AttributedCharacterIterator
getAttributedCharacterIterator()
Returns the attributed character iterator of this text node.java.awt.geom.Rectangle2D
getGeometryBounds()
Returns the bounds of the area covered by this node, without taking any of its rendering attribute into account.java.awt.Shape
getHighlightShape()
Returns the shape used to outline this text node.java.awt.geom.Point2D
getLocation()
Returns the location of this text node.Mark
getMarkerForChar(int index, boolean beforeChar)
Return the marker for the character at index in this nodes AttributedCharacterIterator.java.awt.Shape
getOutline()
Returns the outline of this node.java.awt.geom.Rectangle2D
getPrimitiveBounds()
Returns the bounds of the area covered by this node's primitive paint.java.lang.Object
getSelection()
Gets the current text selection.java.awt.geom.Rectangle2D
getSensitiveBounds()
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.java.lang.String
getText()
Returns the text of thisTextNode
as a string.TextPainter
getTextPainter()
Returns the text painter of this text node.java.util.List
getTextRuns()
Returns a list of text runs.protected void
invalidateGeometryCache()
Invalidates thisTextNode
.void
primitivePaint(java.awt.Graphics2D g2d)
Paints this node without applying Filter, Mask, Composite, and clip.boolean
selectAll(double x, double y)
Selects all the text in this TextNode.boolean
selectAt(double x, double y)
Initializes the current selection to begin with the character at (x, y).boolean
selectTo(double x, double y)
Extends the current selection to the character at (x, y).void
setAttributedCharacterIterator(java.text.AttributedCharacterIterator newAci)
Sets the attributed character iterator of this text node.void
setLocation(java.awt.geom.Point2D newLocation)
Sets the location of this text node.void
setSelection(Mark begin, Mark end)
void
setTextPainter(TextPainter textPainter)
Sets the text painter of this text node.void
setTextRuns(java.util.List textRuns)
Sets the list of text runs of this text node.void
swapTextPaintInfo(TextPaintInfo newInfo, TextPaintInfo oldInfo)
-
Methods inherited from class org.apache.batik.gvt.AbstractGraphicsNode
fireGraphicsNodeChangeCompleted, fireGraphicsNodeChangeStarted, fireGraphicsNodeChangeStarted, fireGraphicsNodeChangeStarted, getBounds, getClip, getComposite, getEnableBackgroundGraphicsNodeRable, getFilter, getGlobalTransform, getGraphicsNodeRable, getInverseTransform, getMask, getParent, getPointerEventType, getRenderingHints, getRoot, getTransform, getTransformedBounds, getTransformedGeometryBounds, getTransformedPrimitiveBounds, getTransformedSensitiveBounds, getWeakReference, intersects, isAntialiasedClip, isOffscreenBufferNeeded, isVisible, nodeHitAt, normalizeRectangle, paint, setClip, setComposite, setFilter, setMask, setParent, setPointerEventType, setRenderingHint, setRenderingHints, setRenderingHints, setRoot, setTransform, setVisible
-
-
-
-
Field Detail
-
PAINT_INFO
public static final java.text.AttributedCharacterIterator.Attribute PAINT_INFO
-
location
protected java.awt.geom.Point2D location
Location of this text node (inherited, independent of explicit X and Y attributes applied to children).
-
aci
protected java.text.AttributedCharacterIterator aci
Attributed Character Iterator describing the text
-
text
protected java.lang.String text
The text of thisTextNode
.
-
beginMark
protected Mark beginMark
The begin mark.
-
endMark
protected Mark endMark
The end mark.
-
textRuns
protected java.util.List textRuns
The list of text runs.
-
textPainter
protected TextPainter textPainter
The text painter used to display the text of this text node.
-
-
Method Detail
-
setTextPainter
public void setTextPainter(TextPainter textPainter)
Sets the text painter of this text node. If the specified text painter is null, this text node will use its default text painter (StrokingTextPainter.getInstance()).- Parameters:
textPainter
- the text painter to use
-
getTextPainter
public TextPainter getTextPainter()
Returns the text painter of this text node.
-
getTextRuns
public java.util.List getTextRuns()
Returns a list of text runs.
-
setTextRuns
public void setTextRuns(java.util.List textRuns)
Sets the list of text runs of this text node.- Parameters:
textRuns
- the new list of text runs
-
getText
public java.lang.String getText()
Returns the text of thisTextNode
as a string.
-
setLocation
public void setLocation(java.awt.geom.Point2D newLocation)
Sets the location of this text node.- Parameters:
newLocation
- the new location of this text node
-
getLocation
public java.awt.geom.Point2D getLocation()
Returns the location of this text node.- Returns:
- the location of this text node
-
swapTextPaintInfo
public void swapTextPaintInfo(TextPaintInfo newInfo, TextPaintInfo oldInfo)
-
setAttributedCharacterIterator
public void setAttributedCharacterIterator(java.text.AttributedCharacterIterator newAci)
Sets the attributed character iterator of this text node.- Parameters:
newAci
- the new attributed character iterator
-
getAttributedCharacterIterator
public java.text.AttributedCharacterIterator getAttributedCharacterIterator()
Returns the attributed character iterator of this text node.- Returns:
- the attributed character iterator
-
invalidateGeometryCache
protected void invalidateGeometryCache()
Invalidates thisTextNode
. This node and all its ancestors have been informed that all its cached values related to its bounds must be recomputed.- Overrides:
invalidateGeometryCache
in classAbstractGraphicsNode
-
getPrimitiveBounds
public java.awt.geom.Rectangle2D getPrimitiveBounds()
Returns the bounds of the area covered by this node's primitive paint.- Specified by:
getPrimitiveBounds
in interfaceGraphicsNode
-
getGeometryBounds
public java.awt.geom.Rectangle2D getGeometryBounds()
Returns the bounds of the area covered by this node, without taking any of its rendering attribute into account. That is, exclusive of any clipping, masking, filtering or stroking, for example.- Specified by:
getGeometryBounds
in interfaceGraphicsNode
-
getSensitiveBounds
public java.awt.geom.Rectangle2D getSensitiveBounds()
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.- Specified by:
getSensitiveBounds
in interfaceGraphicsNode
-
getOutline
public java.awt.Shape getOutline()
Returns the outline of this node.- Specified by:
getOutline
in interfaceGraphicsNode
-
getMarkerForChar
public Mark getMarkerForChar(int index, boolean beforeChar)
Return the marker for the character at index in this nodes AttributedCharacterIterator. Before Char indicates if the Marker should be considered before or after char.
-
selectAt
public boolean selectAt(double x, double y)
Initializes the current selection to begin with the character at (x, y).- Specified by:
selectAt
in interfaceSelectable
- Parameters:
x
- the x coordinate of the start of the selectiony
- the y coordinate of the start of the selection- Returns:
- true if action resulted in change of selection.
-
selectTo
public boolean selectTo(double x, double y)
Extends the current selection to the character at (x, y).- Specified by:
selectTo
in interfaceSelectable
- Parameters:
x
- the x coordinate of the end of the selectiony
- the y coordinate of the end of the selection- Returns:
- true if action resulted in change of selection.
-
selectAll
public boolean selectAll(double x, double y)
Selects all the text in this TextNode. The coordinates are ignored.- Specified by:
selectAll
in interfaceSelectable
- Parameters:
x
- the x coordinate of the point the selection was madey
- the y coordinate of the point the selection was made- Returns:
- true if action resulted in change of selection.
-
getSelection
public java.lang.Object getSelection()
Gets the current text selection.- Specified by:
getSelection
in interfaceSelectable
- Returns:
- an object containing the selected content.
-
getHighlightShape
public java.awt.Shape getHighlightShape()
Returns the shape used to outline this text node.- Specified by:
getHighlightShape
in interfaceSelectable
- Returns:
- a Shape which encloses the current text selection.
-
primitivePaint
public void primitivePaint(java.awt.Graphics2D g2d)
Paints this node without applying Filter, Mask, Composite, and clip.- Specified by:
primitivePaint
in interfaceGraphicsNode
- Parameters:
g2d
- the Graphics2D to use
-
contains
public boolean contains(java.awt.geom.Point2D p)
Returns true if the specified Point2D is inside the boundary of this node, false otherwise.- Specified by:
contains
in interfaceGraphicsNode
- Overrides:
contains
in classAbstractGraphicsNode
- Parameters:
p
- the specified Point2D in the user space
-
contains
protected boolean contains(java.awt.geom.Point2D p, java.awt.geom.Rectangle2D b)
-
-