Package limn.graphics

Record Class TextMetrics

java.lang.Object
java.lang.Record
limn.graphics.TextMetrics
Record Components:
width - advance width of the whole string
ascent - distance from baseline to the font's ascender (positive up)
descent - distance from baseline to the descender (positive down)
lineHeight - recommended baseline-to-baseline distance (ascent + descent + line gap)

public record TextMetrics(float width, float ascent, float descent, float lineHeight) extends Record
Measured extents of a single line of text, in logical points, relative to the baseline. Values are unquantized (independent of the monitor content scale), so layout decisions match what drawText renders at any HiDPI factor.
  • Constructor Summary

    Constructors
    Constructor
    Description
    TextMetrics(float width, float ascent, float descent, float lineHeight)
    Creates an instance of a TextMetrics record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    float
    Returns the value of the ascent record component.
    float
    Returns the value of the descent record component.
    final boolean
    Indicates whether some other object is "equal to" this one.
    final int
    Returns a hash code value for this object.
    float
     
    float
    Returns the value of the lineHeight record component.
    final String
    Returns a string representation of this record class.
    float
    Returns the value of the width record component.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • TextMetrics

      public TextMetrics(float width, float ascent, float descent, float lineHeight)
      Creates an instance of a TextMetrics record class.
      Parameters:
      width - the value for the width record component
      ascent - the value for the ascent record component
      descent - the value for the descent record component
      lineHeight - the value for the lineHeight record component
  • Method Details

    • height

      public float height()
      Returns:
      total height of the line box (ascent + descent)
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • width

      public float width()
      Returns the value of the width record component.
      Returns:
      the value of the width record component
    • ascent

      public float ascent()
      Returns the value of the ascent record component.
      Returns:
      the value of the ascent record component
    • descent

      public float descent()
      Returns the value of the descent record component.
      Returns:
      the value of the descent record component
    • lineHeight

      public float lineHeight()
      Returns the value of the lineHeight record component.
      Returns:
      the value of the lineHeight record component