Class RGBA

All Implemented Interfaces:
Proxy

@Generated("org.javagi.JavaGI") public class RGBA extends ProxyInstance

Represents a color, in a way that is compatible with cairo’s notion of color.

GdkRGBA is a convenient way to pass colors around. It’s based on cairo’s way to deal with colors and mirrors its behavior. All values are in the range from 0.0 to 1.0 inclusive. So the color (0.0, 0.0, 0.0, 0.0) represents transparent black and (1.0, 1.0, 1.0, 1.0) is opaque white. Other values will be clamped to this range when drawing.

  • Constructor Summary

    Constructors
    Constructor
    Description
    Allocate a new RGBA.
    RGBA(float red, float green, float blue, float alpha)
    Allocate a new RGBA with the fields set to the provided values.
    RGBA(float red, float green, float blue, float alpha, Arena arena)
    Allocate a new RGBA with the fields set to the provided values.
    RGBA(Arena arena)
    Allocate a new RGBA.
    Create a RGBA proxy instance for the provided memory address.
  • Method Summary

    Modifier and Type
    Method
    Description
    Makes a copy of a GdkRGBA.
    boolean
    equal(RGBA p2)
    Compares two GdkRGBA colors.
    void
    Frees a GdkRGBA.
    The memory layout of the native struct.
    static @Nullable Type
    Get the GType of the RGBA class.
    int
    A hash function suitable for using for a hash table that stores GdkRGBAs.
    boolean
    Checks if an this RGBA value is transparent.
    boolean
    Checks if an this RGBA value is opaque.
    boolean
    parse(String spec)
    Parses a textual representation of a color.
    print(String string)
     
    float
    Read the value of the field alpha.
    float
    Read the value of the field blue.
    float
    Read the value of the field green.
    float
    Read the value of the field red.
    Returns a textual specification of this RGBA in the form rgb(r,g,b) or rgba(r,g,b,a), where “r”, “g”, “b” and “a” represent the red, green, blue and alpha values respectively.
    void
    writeAlpha(float alpha)
    Write a value in the field alpha.
    void
    writeBlue(float blue)
    Write a value in the field blue.
    void
    writeGreen(float green)
    Write a value in the field green.
    void
    writeRed(float red)
    Write a value in the field red.

    Methods inherited from class ProxyInstance

    equals, handle, hashCode

    Methods inherited from class Object

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

    • RGBA

      public RGBA(MemorySegment address)
      Create a RGBA proxy instance for the provided memory address.
      Parameters:
      address - the memory address of the native object
    • RGBA

      public RGBA(Arena arena)
      Allocate a new RGBA.
      Parameters:
      arena - to control the memory allocation scope
    • RGBA

      public RGBA()
      Allocate a new RGBA. The memory is allocated with Arena.ofAuto().
    • RGBA

      public RGBA(float red, float green, float blue, float alpha, Arena arena)
      Allocate a new RGBA with the fields set to the provided values.
      Parameters:
      red - value for the field red
      green - value for the field green
      blue - value for the field blue
      alpha - value for the field alpha
      arena - to control the memory allocation scope
    • RGBA

      public RGBA(float red, float green, float blue, float alpha)
      Allocate a new RGBA with the fields set to the provided values. The memory is allocated with Arena.ofAuto().
      Parameters:
      red - value for the field red
      green - value for the field green
      blue - value for the field blue
      alpha - value for the field alpha
  • Method Details

    • getType

      public static @Nullable Type getType()
      Get the GType of the RGBA class.
      Returns:
      the GType
    • getMemoryLayout

      public static MemoryLayout getMemoryLayout()
      The memory layout of the native struct.
      Returns:
      the memory layout
    • readRed

      public float readRed()
      Read the value of the field red.
      Returns:
      The value of the field red
    • writeRed

      public void writeRed(float red)
      Write a value in the field red.
      Parameters:
      red - The new value for the field red
    • readGreen

      public float readGreen()
      Read the value of the field green.
      Returns:
      The value of the field green
    • writeGreen

      public void writeGreen(float green)
      Write a value in the field green.
      Parameters:
      green - The new value for the field green
    • readBlue

      public float readBlue()
      Read the value of the field blue.
      Returns:
      The value of the field blue
    • writeBlue

      public void writeBlue(float blue)
      Write a value in the field blue.
      Parameters:
      blue - The new value for the field blue
    • readAlpha

      public float readAlpha()
      Read the value of the field alpha.
      Returns:
      The value of the field alpha
    • writeAlpha

      public void writeAlpha(float alpha)
      Write a value in the field alpha.
      Parameters:
      alpha - The new value for the field alpha
    • copy

      public RGBA copy()

      Makes a copy of a GdkRGBA.

      The result must be freed through free().

      Returns:
      A newly allocated GdkRGBA, with the same contents as this RGBA
    • equal

      public boolean equal(RGBA p2)
      Compares two GdkRGBA colors.
      Parameters:
      p2 - another GdkRGBA
      Returns:
      true if the two colors compare equal
    • free

      public void free()
      Frees a GdkRGBA.
    • hash

      public int hash()
      A hash function suitable for using for a hash table that stores GdkRGBAs.
      Returns:
      The hash value for this RGBA
    • isClear

      public boolean isClear()

      Checks if an this RGBA value is transparent.

      That is, drawing with the value would not produce any change.

      Returns:
      true if the this RGBA is clear
    • isOpaque

      public boolean isOpaque()

      Checks if an this RGBA value is opaque.

      That is, drawing with the value will not retain any results from previous contents.

      Returns:
      true if the this RGBA is opaque
    • parse

      public boolean parse(String spec)

      Parses a textual representation of a color.

      The string can be either one of:

      • A standard name (Taken from the CSS specification).
      • A hexadecimal value in the form “\rgb”, “\rrggbb”, “\rrrgggbbb” or ”\rrrrggggbbbb
      • A hexadecimal value in the form “\rgba”, “\rrggbbaa”, or ”\rrrrggggbbbbaaaa
      • A RGB color in the form “rgb(r,g,b)” (In this case the color will have full opacity)
      • A RGBA color in the form “rgba(r,g,b,a)”
      • A HSL color in the form “hsl(h,s,l)”
      • A HSLA color in the form “hsla(h,s,l,a)”

      Where “r”, “g”, “b” and “a” are respectively the red, green, blue and alpha color values. In the last two cases, “r”, “g”, and “b” are either integers in the range 0 to 255 or percentage values in the range 0% to 100%, and a is a floating point value in the range 0 to 1. The range for “h” is 0 to 360, and “s”, “l” can be either numbers in the range 0 to 100 or percentages.

      Parameters:
      spec - the string specifying the color
      Returns:
      true if the parsing succeeded
    • print

      public String print(String string)
    • toString

      public String toString()

      Returns a textual specification of this RGBA in the form rgb(r,g,b) or rgba(r,g,b,a), where “r”, “g”, “b” and “a” represent the red, green, blue and alpha values respectively. “r”, “g”, and “b” are represented as integers in the range 0 to 255, and “a” is represented as a floating point value in the range 0 to 1.

      These string forms are string forms that are supported by the CSS3 colors module, and can be parsed by parse(String).

      Note that this string representation may lose some precision, since “r”, “g” and “b” are represented as 8-bit integers. If this is a concern, you should use a different representation.

      Overrides:
      toString in class Object
      Returns:
      A newly allocated text string