Class BasicTextPainter

java.lang.Object
org.apache.batik.bridge.BasicTextPainter
All Implemented Interfaces:
TextPainter
Direct Known Subclasses:
ConcreteTextPainter, StrokingTextPainter

public abstract class BasicTextPainter extends 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:
  • Field Details

    • fontRenderContext

      protected FontRenderContext fontRenderContext
      The font render context to use.
    • aaOffFontRenderContext

      protected FontRenderContext aaOffFontRenderContext
  • Constructor Details

    • BasicTextPainter

      public BasicTextPainter()
  • Method Details

    • 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
    • getGeometryBounds

      public Rectangle2D getGeometryBounds(TextNode node)
      Get a Rectangle2D in userspace coords which encloses the textnode glyphs just including the geometry info.
      Specified by:
      getGeometryBounds in interface TextPainter
      Parameters:
      node - the TextNode to measure
    • hitTest

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