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.- Version:
- $Id: TextNode.java 1808888 2017-09-19 14:22:11Z ssteiner $
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTextNode.AnchorDefines where the text of aTextNodecan be anchored relative to its location.
-
Field Summary
Fields Modifier and Type Field Description protected java.text.AttributedCharacterIteratoraciAttributed Character Iterator describing the textprotected MarkbeginMarkThe begin mark.protected MarkendMarkThe end mark.private java.awt.geom.Rectangle2DgeometryBoundsInternal Cache: Bounds for this text node, without taking any of the rendering attributes (e.g., stroke) into accountprotected java.awt.geom.Point2DlocationLocation of this text node (inherited, independent of explicit X and Y attributes applied to children).private java.awt.ShapeoutlineInternal Cache: the outline.static java.text.AttributedCharacterIterator.AttributePAINT_INFOprivate java.awt.geom.Rectangle2DprimitiveBoundsInternal Cache: Primitive Bounds.protected java.lang.StringtextThe text of thisTextNode.protected TextPaintertextPainterThe text painter used to display the text of this text node.protected java.util.ListtextRunsThe 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 booleancontains(java.awt.geom.Point2D p)Returns true if the specified Point2D is inside the boundary of this node, false otherwise.protected booleancontains(java.awt.geom.Point2D p, java.awt.geom.Rectangle2D b)java.text.AttributedCharacterIteratorgetAttributedCharacterIterator()Returns the attributed character iterator of this text node.java.awt.geom.Rectangle2DgetGeometryBounds()Returns the bounds of the area covered by this node, without taking any of its rendering attribute into account.java.awt.ShapegetHighlightShape()Returns the shape used to outline this text node.java.awt.geom.Point2DgetLocation()Returns the location of this text node.MarkgetMarkerForChar(int index, boolean beforeChar)Return the marker for the character at index in this nodes AttributedCharacterIterator.java.awt.ShapegetOutline()Returns the outline of this node.java.awt.geom.Rectangle2DgetPrimitiveBounds()Returns the bounds of the area covered by this node's primitive paint.java.lang.ObjectgetSelection()Gets the current text selection.java.awt.geom.Rectangle2DgetSensitiveBounds()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.StringgetText()Returns the text of thisTextNodeas a string.TextPaintergetTextPainter()Returns the text painter of this text node.java.util.ListgetTextRuns()Returns a list of text runs.protected voidinvalidateGeometryCache()Invalidates thisTextNode.voidprimitivePaint(java.awt.Graphics2D g2d)Paints this node without applying Filter, Mask, Composite, and clip.booleanselectAll(double x, double y)Selects all the text in this TextNode.booleanselectAt(double x, double y)Initializes the current selection to begin with the character at (x, y).booleanselectTo(double x, double y)Extends the current selection to the character at (x, y).voidsetAttributedCharacterIterator(java.text.AttributedCharacterIterator newAci)Sets the attributed character iterator of this text node.voidsetLocation(java.awt.geom.Point2D newLocation)Sets the location of this text node.voidsetSelection(Mark begin, Mark end)voidsetTextPainter(TextPainter textPainter)Sets the text painter of this text node.voidsetTextRuns(java.util.List textRuns)Sets the list of text runs of this text node.voidswapTextPaintInfo(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.
-
geometryBounds
private java.awt.geom.Rectangle2D geometryBounds
Internal Cache: Bounds for this text node, without taking any of the rendering attributes (e.g., stroke) into account
-
primitiveBounds
private java.awt.geom.Rectangle2D primitiveBounds
Internal Cache: Primitive Bounds.
-
outline
private java.awt.Shape outline
Internal Cache: the outline.
-
-
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 thisTextNodeas 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:
invalidateGeometryCachein classAbstractGraphicsNode
-
getPrimitiveBounds
public java.awt.geom.Rectangle2D getPrimitiveBounds()
Returns the bounds of the area covered by this node's primitive paint.- Specified by:
getPrimitiveBoundsin 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:
getGeometryBoundsin 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:
getSensitiveBoundsin interfaceGraphicsNode
-
getOutline
public java.awt.Shape getOutline()
Returns the outline of this node.- Specified by:
getOutlinein 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:
selectAtin 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:
selectToin 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:
selectAllin 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:
getSelectionin 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:
getHighlightShapein 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:
primitivePaintin 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:
containsin interfaceGraphicsNode- Overrides:
containsin classAbstractGraphicsNode- Parameters:
p- the specified Point2D in the user space
-
contains
protected boolean contains(java.awt.geom.Point2D p, java.awt.geom.Rectangle2D b)
-
-