Class RGBA

All Implemented Interfaces:
PointerInterface

public class RGBA extends Record
A `GdkRGBA` is used to represent 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.

https://docs.gtk.org/gdk4/struct.RGBA.html

  • Field Details

    • RED

      public static final String RED
      The intensity of the red channel from 0.0 to 1.0 inclusive
      See Also:
    • GREEN

      public static final String GREEN
      The intensity of the green channel from 0.0 to 1.0 inclusive
      See Also:
    • BLUE

      public static final String BLUE
      The intensity of the blue channel from 0.0 to 1.0 inclusive
      See Also:
    • ALPHA

      public static final String ALPHA
      The opacity of the color from 0.0 for completely translucent to
      1.0 for opaque
      See Also:
  • Constructor Details

  • Method Details

    • getClassHandler

      public static ClassHandler getClassHandler()
    • setFieldRed

      public void setFieldRed(float red)
      The intensity of the red channel from 0.0 to 1.0 inclusive
    • getFieldRed

      public float getFieldRed()
      The intensity of the red channel from 0.0 to 1.0 inclusive
    • setFieldGreen

      public void setFieldGreen(float green)
      The intensity of the green channel from 0.0 to 1.0 inclusive
    • getFieldGreen

      public float getFieldGreen()
      The intensity of the green channel from 0.0 to 1.0 inclusive
    • setFieldBlue

      public void setFieldBlue(float blue)
      The intensity of the blue channel from 0.0 to 1.0 inclusive
    • getFieldBlue

      public float getFieldBlue()
      The intensity of the blue channel from 0.0 to 1.0 inclusive
    • setFieldAlpha

      public void setFieldAlpha(float alpha)
      The opacity of the color from 0.0 for completely translucent to
      1.0 for opaque
    • getFieldAlpha

      public float getFieldAlpha()
      The opacity of the color from 0.0 for completely translucent to
      1.0 for opaque
    • copy

      public RGBA copy()
      Makes a copy of a `GdkRGBA`.

      The result must be freed through [method@Gdk.RGBA.free].
      Returns:
      A newly allocated `GdkRGBA`, with the same contents as @rgba
    • equal

      public boolean equal(@Nonnull Pointer 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 `GdkRGBA`s.
      Returns:
      The hash value for @p
    • isClear

      public boolean isClear()
      Checks if an @rgba value is transparent.

      That is, drawing with the value would not produce any change.
      Returns:
      %TRUE if the @rgba is clear
    • isOpaque

      public boolean isOpaque()
      Checks if an @rgba value is opaque.

      That is, drawing with the value will not retain any results
      from previous contents.
      Returns:
      %TRUE if the @rgba is opaque
    • parse

      public boolean parse(@Nonnull Str 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)”

      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.
      Parameters:
      spec - the string specifying the color
      Returns:
      %TRUE if the parsing succeeded
    • 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)”

      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.
      Parameters:
      spec - the string specifying the color
      Returns:
      %TRUE if the parsing succeeded
    • toStr

      public Str toStr()
      Returns a textual specification of @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 [method@Gdk.RGBA.parse].

      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.
      Returns:
      A newly allocated text string
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()