Class RMTextRun

  • All Implemented Interfaces:
    java.awt.Shape, java.io.Serializable, java.lang.CharSequence, java.lang.Cloneable
    Direct Known Subclasses:
    RMTextLine

    public class RMTextRun
    extends java.awt.geom.Rectangle2D.Double
    implements java.lang.CharSequence
    Represents a run of characters in a line.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.awt.geom.Rectangle2D

        java.awt.geom.Rectangle2D.Double, java.awt.geom.Rectangle2D.Float
    • Field Summary

      • Fields inherited from class java.awt.geom.Rectangle2D.Double

        height, width, x, y
      • Fields inherited from class java.awt.geom.Rectangle2D

        OUT_BOTTOM, OUT_LEFT, OUT_RIGHT, OUT_TOP
    • Constructor Summary

      Constructors 
      Constructor Description
      RMTextRun()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addChar​(char aChar, double aWidth)
      Adds a char to text run.
      int addChars​(RMXStringRun aRun, int aStart, int anEnd)
      Adds chars to text run.
      char charAt​(int anIndex)
      Returns the char value at the specified index.
      protected double getCharAdvance​(char aChar)
      Returns the char advance for a given character.
      int getCharIndex​(double anX)
      Returns the character index for the given x/y point.
      float getCharSpacing()
      Returns the run's char spacing.
      RMColor getColor()
      Returns the run color.
      boolean getColorChanged()
      Returns whether color changed from last run.
      int getEnd()
      Returns the char end of this line.
      boolean getEndsWithNewline()
      Returns whether run ends with newline.
      boolean getEndsWithWhiteSpace()
      Returns whether line ends with space.
      RMFont getFont()
      Returns the run font.
      boolean getFontChanged()
      Returns whether font changed from last run.
      int getIndex()
      Returns the index of this run in the line.
      char getLastChar()
      Returns the last char.
      RMTextLayout getLayout()
      Returns the layout.
      RMTextLine getLine()
      Returns the line this run is associated with.
      RMTextRun getNext()
      Returns the next run.
      RMXString.Outline getOutline()
      Returns whether the run should be outline.
      RMParagraph getParagraph()
      Returns the run paragraph.
      java.awt.geom.Point2D getPointForChar​(int anIndex)
      Returns the text origin for the given character index.
      RMXStringRun getRun()
      Returns the RMXStringRun for this text run.
      RMTextRun getRun​(int anIndex)
      Returns the run at given index.
      RMTextRun getRunAt​(int anIndex, boolean isInclusive)
      Returns the run that contains or ends (if given option is true) at given index.
      int getRunCount()
      Returns the run count.
      RMTextRun getRunLast()
      Returns the last run.
      int getScripting()
      Returns the run's scripting.
      int getStart()
      Returns the char start of this line.
      float getTab()
      Returns the tab location if this run is a tab.
      char getTabType()
      Returns tab type if this run is a tab.
      double getUnderlineStroke()
      Returns the stroke width for the underline.
      int getUnderlineStyle()
      Returns the underline style of this run.
      double getUnderlineY()
      Returns the Y position for the underline.
      double getXForChar​(int anIndex)
      Returns the char advance to given char index.
      RMXString getXString()
      Returns the RMXString for this run.
      double getYBaseline()
      Returns the y baseline position for this run (in the same coords as the layout frame).
      java.awt.font.GlyphVector glyphVector​(java.awt.Graphics2D g)
      Returns the glyph vector for the run.
      boolean isHyphenated()
      Returns whether this run has a hyphen at the end.
      boolean isLocked()
      Returns whether text layout is full.
      boolean isTab()
      Returns whether run is just a tab.
      boolean isUnderlined()
      Returns whether the run is underlined.
      int length()
      Returns the length of this text layout.
      void setHyphenated​(boolean aFlag)
      Sets whether this run has a hyphen at the end.
      void setLocked​(boolean aFlag)
      Sets whether text layout can add more characters.
      java.lang.CharSequence subSequence​(int aStart, int anEnd)
      Returns a new char sequence that is a subsequence of this sequence.
      java.lang.String toString()
      Standard toString implementation.
      • Methods inherited from class java.awt.geom.Rectangle2D.Double

        createIntersection, createUnion, getBounds2D, getHeight, getWidth, getX, getY, isEmpty, outcode, setRect, setRect
      • Methods inherited from class java.awt.geom.Rectangle2D

        add, add, add, contains, contains, equals, getPathIterator, getPathIterator, hashCode, intersect, intersects, intersectsLine, intersectsLine, outcode, setFrame, union
      • Methods inherited from class java.awt.geom.RectangularShape

        clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getMaxX, getMaxY, getMinX, getMinY, intersects, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.lang.CharSequence

        chars, codePoints
    • Constructor Detail

      • RMTextRun

        public RMTextRun()
    • Method Detail

      • getLayout

        public final RMTextLayout getLayout()
        Returns the layout.
      • getLine

        public final RMTextLine getLine()
        Returns the line this run is associated with.
      • getXString

        public RMXString getXString()
        Returns the RMXString for this run.
      • getRun

        public RMXStringRun getRun()
        Returns the RMXStringRun for this text run.
      • getIndex

        public int getIndex()
        Returns the index of this run in the line.
      • addChars

        public int addChars​(RMXStringRun aRun,
                            int aStart,
                            int anEnd)
        Adds chars to text run.
      • addChar

        protected void addChar​(char aChar,
                               double aWidth)
        Adds a char to text run.
      • getStart

        public int getStart()
        Returns the char start of this line.
      • getEnd

        public int getEnd()
        Returns the char end of this line.
      • length

        public int length()
        Returns the length of this text layout.
        Specified by:
        length in interface java.lang.CharSequence
      • charAt

        public char charAt​(int anIndex)
        Returns the char value at the specified index.
        Specified by:
        charAt in interface java.lang.CharSequence
      • subSequence

        public java.lang.CharSequence subSequence​(int aStart,
                                                  int anEnd)
        Returns a new char sequence that is a subsequence of this sequence.
        Specified by:
        subSequence in interface java.lang.CharSequence
      • getFont

        public RMFont getFont()
        Returns the run font.
      • getColor

        public RMColor getColor()
        Returns the run color.
      • getParagraph

        public RMParagraph getParagraph()
        Returns the run paragraph.
      • isUnderlined

        public boolean isUnderlined()
        Returns whether the run is underlined.
      • getUnderlineStroke

        public double getUnderlineStroke()
        Returns the stroke width for the underline.
      • getUnderlineY

        public double getUnderlineY()
        Returns the Y position for the underline.
      • getUnderlineStyle

        public int getUnderlineStyle()
        Returns the underline style of this run.
      • getOutline

        public RMXString.Outline getOutline()
        Returns whether the run should be outline.
      • getScripting

        public int getScripting()
        Returns the run's scripting.
      • getCharSpacing

        public float getCharSpacing()
        Returns the run's char spacing.
      • getCharAdvance

        protected double getCharAdvance​(char aChar)
        Returns the char advance for a given character.
      • isHyphenated

        public boolean isHyphenated()
        Returns whether this run has a hyphen at the end.
      • setHyphenated

        public void setHyphenated​(boolean aFlag)
        Sets whether this run has a hyphen at the end.
      • getFontChanged

        public boolean getFontChanged()
        Returns whether font changed from last run.
      • getColorChanged

        public boolean getColorChanged()
        Returns whether color changed from last run.
      • getYBaseline

        public double getYBaseline()
        Returns the y baseline position for this run (in the same coords as the layout frame).
      • isLocked

        public boolean isLocked()
        Returns whether text layout is full.
      • setLocked

        public void setLocked​(boolean aFlag)
        Sets whether text layout can add more characters.
      • getCharIndex

        public int getCharIndex​(double anX)
        Returns the character index for the given x/y point.
      • getXForChar

        public double getXForChar​(int anIndex)
        Returns the char advance to given char index.
      • getPointForChar

        public java.awt.geom.Point2D getPointForChar​(int anIndex)
        Returns the text origin for the given character index.
      • isTab

        public boolean isTab()
        Returns whether run is just a tab.
      • getTab

        public float getTab()
        Returns the tab location if this run is a tab.
      • getTabType

        public char getTabType()
        Returns tab type if this run is a tab.
      • getEndsWithWhiteSpace

        public boolean getEndsWithWhiteSpace()
        Returns whether line ends with space.
      • getEndsWithNewline

        public boolean getEndsWithNewline()
        Returns whether run ends with newline.
      • getLastChar

        public char getLastChar()
        Returns the last char.
      • getNext

        public RMTextRun getNext()
        Returns the next run.
      • getRunCount

        public int getRunCount()
        Returns the run count.
      • getRun

        public RMTextRun getRun​(int anIndex)
        Returns the run at given index.
      • getRunLast

        public RMTextRun getRunLast()
        Returns the last run.
      • getRunAt

        public RMTextRun getRunAt​(int anIndex,
                                  boolean isInclusive)
        Returns the run that contains or ends (if given option is true) at given index.
      • glyphVector

        public java.awt.font.GlyphVector glyphVector​(java.awt.Graphics2D g)
        Returns the glyph vector for the run.
      • toString

        public java.lang.String toString()
        Standard toString implementation.
        Specified by:
        toString in interface java.lang.CharSequence
        Overrides:
        toString in class java.awt.geom.Rectangle2D.Double