Package limn.backend

Record Class Resolution

java.lang.Object
java.lang.Record
limn.backend.Resolution
Record Components:
width - width in screen coordinates (> 0)
height - height in screen coordinates (> 0)
refreshRate - refresh rate in Hz, or 0 when unspecified/default

public record Resolution(int width, int height, int refreshRate) extends Record
An immutable screen mode: a size and refresh rate. A normalized value type shared across the toolkit: Display lists the modes it supports and reports its current one, and NativeWindow.enterFullscreen(Resolution) consumes one.

The size is in screen coordinates, the unit of Display.bounds(), and not always in pixels. It is pixels on Windows, X11 and Wayland. It is points on macOS, where a HiDPI mode draws into a framebuffer of width × Display.contentScale() pixels, which the system may then scale to fit the panel: a built-in Retina display whose panel is 3456 × 2234 pixels reports its default mode as 1728 × 1117, and its "more space" mode as 2056 × 1285, drawn at 4112 × 2570 and scaled down. So a mode's size says what a window covering the screen measures in screen coordinates, not how many pixels the panel has, and there is no single pixel size to convert it to.

  • Constructor Summary

    Constructors
    Constructor
    Description
    Resolution(int width, int height)
    A resolution with an unspecified (0) refresh rate.
    Resolution(int width, int height, int refreshRate)
    Creates an instance of a Resolution record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    double
     
    final boolean
    Indicates whether some other object is "equal to" this one.
    final int
    Returns a hash code value for this object.
    int
    Returns the value of the height record component.
    int
    Returns the value of the refreshRate record component.
    Returns a string representation of this record class.
    int
    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

    • Resolution

      public Resolution(int width, int height, int refreshRate)
      Creates an instance of a Resolution record class.
      Parameters:
      width - the value for the width record component
      height - the value for the height record component
      refreshRate - the value for the refreshRate record component
    • Resolution

      public Resolution(int width, int height)
      A resolution with an unspecified (0) refresh rate.
  • Method Details

    • aspectRatio

      public double aspectRatio()
      Returns:
      width / height (e.g. 1.777… for 16:9).
    • toString

      public 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 int width()
      Returns the value of the width record component.
      Returns:
      the value of the width record component
    • height

      public int height()
      Returns the value of the height record component.
      Returns:
      the value of the height record component
    • refreshRate

      public int refreshRate()
      Returns the value of the refreshRate record component.
      Returns:
      the value of the refreshRate record component