org.apache.batik.gvt.renderer
Class BasicTextPainter

java.lang.Object
  |
  +--org.apache.batik.gvt.renderer.BasicTextPainter
All Implemented Interfaces:
TextPainter
Direct Known Subclasses:
ConcreteTextPainter, StrokingTextPainter

public abstract class BasicTextPainter
extends java.lang.Object
implements TextPainter

Basic implementation of TextPainter which renders the attributed character iterator of a TextNode. Suitable for use with "standard" java.awt.font.TextAttributes only.

See Also:
TextAttribute

Inner Class Summary
protected static class BasicTextPainter.BasicMark
          This TextPainter's implementation of the Mark interface.
 
Field Summary
protected  java.awt.font.FontRenderContext fontRenderContext
          The font render context to use.
 
Constructor Summary
BasicTextPainter()
           
 
Method Summary
 java.awt.geom.Rectangle2D getBounds(TextNode node)
          Gets a Rectangle2D in userspace coords which encloses the textnode glyphs composed from an AttributedCharacterIterator.
protected abstract  java.awt.geom.Rectangle2D getBounds(TextNode node, boolean includeDecoration, boolean includeStrokeWidth)
          Gets a Rectangle2D in userspace coords which encloses the textnode glyphs composed from an AttributedCharacterIterator.
 java.awt.geom.Rectangle2D getDecoratedBounds(TextNode node)
          Gets a Rectangle2D in userspace coords which encloses the textnode glyphs composed from an AttributedCharacterIterator, inclusive of glyph decoration (underline, overline, strikethrough).
 java.awt.Shape getDecoratedShape(TextNode node)
          Gets a Shape in userspace coords which defines the decorated textnode glyph outlines.
protected abstract  java.awt.Shape getOutline(TextNode node, boolean includeDecoration)
          Gets a Shape in userspace coords which defines the textnode glyph outlines.
 java.awt.geom.Rectangle2D getPaintedBounds(TextNode node)
          Gets a Rectangle2D in userspace coords which encloses the textnode glyphs (as-painted, inclusive of decoration and stroke, but exclusive of filters, etc.) composed from an AttributedCharacterIterator.
 java.awt.Shape getShape(TextNode node)
          Gets a Shape in userspace coords which defines the textnode glyph outlines.
protected abstract  java.awt.Shape getStrokeOutline(TextNode node, boolean includeDecoration)
          Gets a Shape in userspace coords which defines the stroked textnode glyph outlines.
protected  TextLayoutFactory getTextLayoutFactory()
           
protected abstract  Mark hitTest(double x, double y, TextNode node)
          Returns the mark for the specified parameters.
 Mark selectAt(double x, double y, TextNode node)
          Given an X, y coordinate, AttributedCharacterIterator, return a Mark which encapsulates a "selection start" action.
 Mark selectTo(double x, double y, Mark beginMark)
          Given an X, y coordinate, starting Mark, AttributedCharacterIterator, return a Mark which encapsulates a "selection continued" action.
 
Methods 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.TextPainter
getHighlightShape, getMark, getSelected, paint, selectFirst, selectLast
 

Field Detail

fontRenderContext

protected java.awt.font.FontRenderContext fontRenderContext
The font render context to use.
Constructor Detail

BasicTextPainter

public BasicTextPainter()
Method Detail

getTextLayoutFactory

protected TextLayoutFactory getTextLayoutFactory()

selectAt

public Mark selectAt(double x,
                     double y,
                     TextNode node)
Given an X, y coordinate, AttributedCharacterIterator, return a Mark which encapsulates a "selection start" action. The standard order of method calls for selection is: selectAt(); [selectTo(),...], selectTo(); getSelection().
Specified by:
selectAt in interface TextPainter

selectTo

public Mark selectTo(double x,
                     double y,
                     Mark beginMark)
Given an X, y coordinate, starting Mark, AttributedCharacterIterator, return a Mark which encapsulates a "selection continued" action. The standard order of method calls for selection is: selectAt(); [selectTo(),...], selectTo(); getSelection().
Specified by:
selectTo in interface TextPainter

getBounds

public java.awt.geom.Rectangle2D getBounds(TextNode node)
Gets a Rectangle2D in userspace coords which encloses the textnode glyphs composed from an AttributedCharacterIterator.
Specified by:
getBounds in interface TextPainter
Parameters:
node - the TextNode to measure

getDecoratedBounds

public java.awt.geom.Rectangle2D getDecoratedBounds(TextNode node)
Gets a Rectangle2D in userspace coords which encloses the textnode glyphs composed from an AttributedCharacterIterator, inclusive of glyph decoration (underline, overline, strikethrough).
Specified by:
getDecoratedBounds in interface TextPainter
Parameters:
node - the TextNode to measure

getPaintedBounds

public java.awt.geom.Rectangle2D getPaintedBounds(TextNode node)
Gets a Rectangle2D in userspace coords which encloses the textnode glyphs (as-painted, inclusive of decoration and stroke, but exclusive of filters, etc.) composed from an AttributedCharacterIterator.
Specified by:
getPaintedBounds in interface TextPainter
Parameters:
node - the TextNode to measure

getShape

public java.awt.Shape getShape(TextNode node)
Gets a Shape in userspace coords which defines the textnode glyph outlines.
Specified by:
getShape in interface TextPainter
Parameters:
node - the TextNode to measure

getDecoratedShape

public java.awt.Shape getDecoratedShape(TextNode node)
Gets a Shape in userspace coords which defines the decorated textnode glyph outlines.
Specified by:
getDecoratedShape in interface TextPainter
Parameters:
node - the TextNode to measure

getBounds

protected abstract java.awt.geom.Rectangle2D getBounds(TextNode node,
                                                       boolean includeDecoration,
                                                       boolean includeStrokeWidth)
Gets a Rectangle2D in userspace coords which encloses the textnode glyphs composed from an AttributedCharacterIterator.
Parameters:
node - the TextNode to measure
includeDecoration - whether to include text decoration in bounds computation.
includeStrokeWidth - whether to include the effect of stroke width in bounds computation.

getOutline

protected abstract java.awt.Shape getOutline(TextNode node,
                                             boolean includeDecoration)
Gets a Shape in userspace coords which defines the textnode glyph outlines.
Parameters:
node - the TextNode to measure
includeDecoration - whether to include text decoration outlines

getStrokeOutline

protected abstract java.awt.Shape getStrokeOutline(TextNode node,
                                                   boolean includeDecoration)
Gets a Shape in userspace coords which defines the stroked textnode glyph outlines.
Parameters:
node - the TextNode to measure
includeDecoration - whether to include text decoration outlines

hitTest

protected abstract Mark hitTest(double x,
                                double y,
                                TextNode node)
Returns the mark for the specified parameters.


Copyright © 2001 Apache Software Foundation. All Rights Reserved.