## org.apache.batik.gvt
Class TextNode

    java.lang.Object
      org.apache.batik.gvt.AbstractGraphicsNode
          org.apache.batik.gvt.TextNode

All Implemented Interfaces:
  GraphicsNode, Selectable

public class TextNode
extends AbstractGraphicsNode
implements Selectable

A graphics node that represents text.

Nested Class Summary
`static class` `TextNode.Anchor` Defines where the text of a `TextNode` can be anchored relative to its location.

Field Summary
`protected java.text.AttributedCharacterIterator` `aci` Attributed Character Iterator describing the text
`protected 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 this `TextNode`.
`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
`TextNode()` Constructs a new empty `TextNode`.

Method Summary
`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 this `TextNode` 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 this `TextNode`.
`void` `paint(java.awt.Graphics2D g2d)` Paints this node.
`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, setClip, setComposite, setFilter, setMask, setParent, setPointerEventType, setRenderingHint, setRenderingHints, setRenderingHints, setRoot, setTransform, setVisible`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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 this `TextNode`.

### 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.

Constructor Detail

### TextNode

    public TextNode()

  Constructs a new empty `TextNode`.

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 this `TextNode` 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 this `TextNode`. This node and all its ancestors have been informed that all its cached values related to its bounds must be recomputed.

  Overrides:
    `invalidateGeometryCache` in class `AbstractGraphicsNode`

### getPrimitiveBounds

    public java.awt.geom.Rectangle2D getPrimitiveBounds()

  Returns the bounds of the area covered by this node's primitive paint.

  Specified by:
    `getPrimitiveBounds` in interface `GraphicsNode`

### 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. i.e., exclusive of any clipping, masking, filtering or stroking, for example.

  Specified by:
    `getGeometryBounds` in interface `GraphicsNode`

### 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 interface `GraphicsNode`

### getOutline

    public java.awt.Shape getOutline()

  Returns the outline of this node.

  Specified by:
    `getOutline` in interface `GraphicsNode`

### 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.

### setSelection

    public void setSelection(Mark begin,
                             Mark end)

### selectAt

    public boolean selectAt(double x,
                            double y)

  Initializes the current selection to begin with the character at (x, y).

  Specified by:
    `selectAt` in interface `Selectable`
  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 interface `Selectable`
  Returns:
    true if action resulted in change of selection.

### selectAll

    public boolean selectAll(double x,
                             double y)

  Selects all the text in this TextNode...

  Specified by:
    `selectAll` in interface `Selectable`
  Returns:
    true if action resulted in change of selection.

### getSelection

    public java.lang.Object getSelection()

  Gets the current text selection.

  Specified by:
    `getSelection` in interface `Selectable`
  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 interface `Selectable`
  Returns:
    a Shape which encloses the current text selection.

### paint

    public void paint(java.awt.Graphics2D g2d)

  Paints this node.

  Specified by:
    `paint` in interface `GraphicsNode`
  Overrides:
    `paint` in class `AbstractGraphicsNode`
  Parameters:
    `g2d` - the Graphics2D to use

### primitivePaint

    public void primitivePaint(java.awt.Graphics2D g2d)

  Paints this node without applying Filter, Mask, Composite, and clip.

  Specified by:
    `primitivePaint` in interface `GraphicsNode`
  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 interface `GraphicsNode`
  Overrides:
    `contains` in class `AbstractGraphicsNode`
  Parameters:
    `p` - the specified Point2D in the user space

### contains

    protected boolean contains(java.awt.geom.Point2D p,
                               java.awt.geom.Rectangle2D b)

Copyright © 2004 Apache Software Foundation. All Rights Reserved.