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.


Inner 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).
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.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.
 
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, 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

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

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.

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.

getOutline

public java.awt.Shape getOutline()
Returns the outline of this node.

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
Parameters:
the - anchor of this node

selectTo

public boolean selectTo(double x,
                        double y)
Extends the current selection to the character at (x, y)..
Specified by:
selectTo in interface Selectable
Parameters:
the - anchor of this node

selectAll

public boolean selectAll(double x,
                         double y)
Selects all the text in this TextNode...
Specified by:
selectAll in interface Selectable
Parameters:
the - anchor of this node

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.
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.
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.
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 © 2002 Apache Software Foundation. All Rights Reserved.