Class 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.
    Version:
    $Id: BasicTextPainter.java 1733416 2016-03-03 07:07:13Z gadams $
    See Also:
    TextAttribute
    • Field Detail

      • fontRenderContext

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

        protected java.awt.font.FontRenderContext aaOffFontRenderContext
    • Constructor Detail

      • BasicTextPainter

        public BasicTextPainter()
    • Method Detail

      • 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 java.awt.geom.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.