Package com.inductiveautomation.rm.text
Class RMTextRun
- java.lang.Object
-
- java.awt.geom.RectangularShape
-
- java.awt.geom.Rectangle2D
-
- java.awt.geom.Rectangle2D.Double
-
- com.inductiveautomation.rm.text.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
-
-
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
-
-
-
-
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 interfacejava.lang.CharSequence
-
charAt
public char charAt(int anIndex)
Returns the char value at the specified index.- Specified by:
charAt
in interfacejava.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 interfacejava.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 interfacejava.lang.CharSequence
- Overrides:
toString
in classjava.awt.geom.Rectangle2D.Double
-
-