Class RMTextRun

All Implemented Interfaces:
Shape, Serializable, CharSequence, Cloneable
Direct Known Subclasses:
RMTextLine

public class RMTextRun extends Rectangle2D.Double implements CharSequence
Represents a run of characters in a line.
See Also:
  • Constructor Details

    • RMTextRun

      public RMTextRun()
  • Method Details

    • 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 CharSequence
    • charAt

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

      public CharSequence subSequence(int aStart, int anEnd)
      Returns a new char sequence that is a subsequence of this sequence.
      Specified by:
      subSequence in interface 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 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 GlyphVector glyphVector(Graphics2D g)
      Returns the glyph vector for the run.
    • toString

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