About all my projects
Gnome::Gdk4::N-RGBA

Gnome::Gdk4::N-RGBA

Description

A Gnome::Gdk4::N-RGBA is used to represent a color, in a way that is compatible with cairo’s notion of color.

Gnome::Gdk4::N-RGBA 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.

Class initialization

new

:native-object

Create an object using a native object from elsewhere. See also Gnome::N::TopLevelSupportClass.

multi method new ( N-Object :$native-object! )

Methods

copy

Makes a copy of a Gnome::Gdk4::N-RGBA.

The result must be freed through .free().

method copy (--> N-Object )

Return value; A newly allocated Gnome::Gdk4::N-RGBA, with the same contents as $rgba.

equal

Compares two Gnome::Gdk4::N-RGBA colors.

method equal ( gpointer $p2 --> Bool )
  • $p2; another Gnome::Gdk4::N-RGBA.

Return value; True if the two colors compare equal.

free

Frees a Gnome::Gdk4::N-RGBA.

method free ( )

hash

A hash function suitable for using for a hash table that stores Gnome::Gdk4::N-RGBAs.

method hash (--> UInt )

Return value; The hash value for $p.

is-clear

Checks if an $rgba value is transparent.

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

method is-clear (--> Bool )

Return value; True if the $rgba is clear.

is-opaque

Checks if an $rgba value is opaque.

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

method is-opaque (--> Bool )

Return value; True if the $rgba is opaque.

parse

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.

method parse ( Str $spec --> Bool )
  • $spec; the string specifying the color.

Return value; True if the parsing succeeded.

to-string

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 .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.

method to-string (--> Str )

Return value; A newly allocated text string.