Class TextLine

All Implemented Interfaces:
RMPropertyChanger, RMTypes, TextTypes, CharSequence, Cloneable

public class TextLine extends TextRect implements CharSequence, TextTypes
A class to represent text with attributes.
  • Field Details

  • Constructor Details

    • TextLine

      public TextLine()
      Creates a new TextLine.
  • Method Details

    • getText

      public Text getText()
      Returns the text.
    • getIndex

      public int getIndex()
      Returns the index of this line in text.
    • getStart

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

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

      public int length()
      Returns the length of this text line.
      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
    • getString

      public String getString()
      Returns the string for the line.
    • addChars

      public void addChars(CharSequence theChars, TextStyle theStyle, int anIndex)
      Adds characters with attributes to this line at given index.
    • removeChars

      public void removeChars(int aStart, int anEnd)
      Removes characters in given range.
    • setAttribute

      public void setAttribute(String aKey, Object aValue, int aStart, int anEnd)
      Sets a given attribute to a given value for a given range.
    • getRunCount

      public int getRunCount()
      Returns the number of runs for this line.
    • getRun

      public TextRun getRun(int anIndex)
      Returns the individual run at given index.
    • createRun

      protected TextRun createRun()
      Creates a new run.
    • addRun

      protected TextRun addRun(TextStyle theStyle, int anIndex)
      Adds a new run at given index.
    • addRun

      public void addRun(TextRun aRun, int anIndex)
      Adds a run to line.
    • removeRun

      public TextRun removeRun(int anIndex)
      Removes a run at given index.
    • removeRun

      public int removeRun(TextRun aRun)
      Removes the given run.
    • getRunLast

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

      public TextRun getRunAt(int anIndex)
      Returns the head run for the line.
    • getRunFor

      public TextRun getRunFor(int anIndex)
      Returns the run for the given character index or last run if at end of line.
    • updateRuns

      protected void updateRuns(int aRunIndex)
      Updates length due to change in given run.
    • invalidate

      public void invalidate()
      Invalidates this line starting at given run.
    • validate

      public void validate()
      Validates this line.
    • getAlignX

      public RMTypes.AlignX getAlignX()
      Returns the alignment associated with this paragraph.
    • setAlignX

      public void setAlignX(RMTypes.AlignX anAlign)
      Sets the alignment associated with this paragraph.
    • getLeftIndent

      public float getLeftIndent()
      Returns the left side indentation of this paragraph.
    • getLeftIndentFirst

      public float getLeftIndentFirst()
      Returns the left side indentation of the first line in this paragraph (this can be set different than successive lines).
    • getRightIndent

      public float getRightIndent()
      Returns the right side indentation of this paragraph.
    • getLineSpacing

      public float getLineSpacing()
      Returns the spacing of lines expressed as a factor of a given line's height.
    • setLineSpacing

      public void setLineSpacing(float aSpacing)
      Sets the spacing of lines expressed as a factor of a given line's height.
    • getLineGap

      public float getLineGap()
      Returns additional line spacing expressed as a constant amount in points.
    • setLineGap

      public void setLineGap(float aGap)
      Sets additional line spacing expressed as a constant amount in points.
    • getLineHeightMin

      public float getLineHeightMin()
      Returns the minimum line height in printer points associated with this paragraph.
    • setLineHeightMin

      public void setLineHeightMin(float aValue)
      Sets the minimum line height in printer points associated with this paragraph.
    • getLineHeightMax

      public float getLineHeightMax()
      Returns the maximum line height in printer points associated with this paragraph.
    • setLineHeightMax

      public void setLineHeightMax(float aValue)
      Sets the maximum line height in printer points associated with this paragraph.
    • getParagraphSpacing

      public float getParagraphSpacing()
      Returns the spacing between paragraphs in printer points associated with this paragraph.
    • setParagraphSpacing

      public void setParagraphSpacing(float aValue)
      Returns the spacing between paragraphs in printer points associated with this paragraph.
    • getTabCount

      public int getTabCount()
      Returns the number of tabs associated with this paragraph.
    • getTab

      public float getTab(int anIndex)
      Returns the specific tab value for the given index in printer points.
    • getTabType

      public char getTabType(int anIndex)
      Returns the type of tab at the given index.
    • getTabs

      public float[] getTabs()
      Returns the raw tab array
    • getTabTypes

      public char[] getTabTypes()
      Returns the raw tab type array
    • getTabIndex

      public int getTabIndex(float aLocation)
      Returns the tab index for the given location.
    • getTabsString

      public String getTabsString()
      Returns the values of all the tabs associated with this paragraph as a comma separated string.
    • setTabsString

      public void setTabsString(String aString)
      Sets the value of tabs from the given tabs string.
    • getTokenCount

      public int getTokenCount()
      Returns the number of tokens.
    • getToken

      public TextToken getToken(int anIndex)
      Returns the individual token at given index.
    • getTokens

      public List<TextToken> getTokens()
      Returns the tokens for this line.
    • createTokens

      protected List createTokens()
      Returns the tokens for this line.
    • getX

      public double getX()
      Returns the line x.
      Overrides:
      getX in class TextRect
    • getY

      public double getY()
      Returns the line y.
      Overrides:
      getY in class TextRect
    • getBaselineY

      public double getBaselineY()
      Returns the y position for this line (in same coords as the layout frame).
    • getMaxAscent

      public double getMaxAscent()
      Returns the max ascent of the chars in this line.
    • getLineAdvance

      public double getLineAdvance()
      Returns the vertical distance for any line below this line.
    • getLastChar

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

      public boolean isLastCharWhiteSpace()
      Returns whether line ends with space.
    • isLastCharNewline

      public boolean isLastCharNewline()
      Returns whether run ends with newline.
    • getTokenAt

      public TextToken getTokenAt(int anIndex)
      Returns the token at character index.
    • getTokenForPointX

      public TextToken getTokenForPointX(double anX)
      Returns the token at index.
    • getCharIndex

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

      public double getXForChar(int anIndex)
      Returns the x coord for the given character index.
    • getPreviousLine

      public TextLine getPreviousLine()
      Returns the previous line if available.
    • getNextLine

      public TextLine getNextLine()
      Returns the next line, if available.
    • split

      protected TextLine split(int anIndex)
      Splits the line at given index in line.
    • join

      protected void join(TextLine aLine)
      Joins the given line to the end of this line.
    • clone

      public TextLine clone()
      Standard clone implementation.
      Overrides:
      clone in class RMListenerList
    • toString

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