gtkmm 3.24.7
Public Member Functions | Static Public Member Functions | Protected Attributes | Related Functions | List of all members
Gdk::RGBA Class Reference

An RGBA Color. More...

#include <gdkmm/rgba.h>

Public Member Functions

 RGBA (GdkRGBA * gobject, bool make_a_copy=true)
 
 RGBA (const RGBA & other)
 
RGBAoperator= (const RGBA & other)
 
 RGBA (RGBA && other) noexcept
 
RGBAoperator= (RGBA && other) noexcept
 
 ~RGBA () noexcept
 
void swap (RGBA & other) noexcept
 
GdkRGBA * gobj ()
 Provides access to the underlying C instance. More...
 
const GdkRGBA * gobj () const
 Provides access to the underlying C instance. More...
 
GdkRGBA * gobj_copy () const
 Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs. More...
 
 RGBA ()
 Instantiate a new Gdk::RGBA. More...
 
 RGBA (const Glib::ustring & value)
 Parses a textual representation of a color and creates a new Gdk::RGBA with the corresponding values in its red, green, blue and alpha fields. More...
 
void set_grey_u (gushort value, gushort alpha=65535)
 Set a grey color, by using the same value for all color components. More...
 
void set_grey (double g, double alpha=1.0)
 Set a grey color, by using the same value for all color components. More...
 
void set_rgba_u (gushort red_, gushort green_, gushort blue_, gushort alpha_=65535)
 Set the color, by specifying red, green, and blue color component values. More...
 
void set_rgba (double red_, double green_, double blue_, double alpha_=1.0)
 Set the color, by specifying red, green, and blue color component values, as fractions. More...
 
void set_hsv (double h, double s, double v)
 Set the color, by specifying hue, saturation, and value (brightness). More...
 
void set_hsl (double h, double s, double l)
 Set the color, by specifying hue, saturation, and lightness. More...
 
bool set (const Glib::ustring & spec)
 Parses a textual representation of a color, filling in the red, green, blue and alpha fields of the rgba Gdk::RGBA. More...
 
gushort get_red_u () const
 Get the red component of the color. More...
 
gushort get_green_u () const
 Get the green component of the color. More...
 
gushort get_blue_u () const
 Get the blue component of the color. More...
 
gushort get_alpha_u () const
 Get the alpha component of the color. More...
 
void set_red_u (gushort value)
 Set the red component of the color. More...
 
void set_green_u (gushort value)
 Set the green component of the color. More...
 
void set_blue_u (gushort value)
 Set the blue component of the color. More...
 
void set_alpha_u (gushort value)
 Set the alpha component of the color. More...
 
double get_red () const
 Get the red component of the color, as a fraction. More...
 
double get_green () const
 Get the green component of the color, as a fraction. More...
 
double get_blue () const
 Get the blue component of the color, as a fraction. More...
 
double get_alpha () const
 Get the alpha component of the color, as a fraction. More...
 
void set_red (double value)
 Set the red component of the color, as a fraction. More...
 
void set_green (double value)
 Set the green component of the color, as a fraction. More...
 
void set_blue (double value)
 Set the blue component of the color, as a fraction. More...
 
void set_alpha (double value)
 Set the alpha component of the color, as a fraction. More...
 
Glib::ustring to_string () const
 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. More...
 

Static Public Member Functions

static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...
 

Protected Attributes

GdkRGBA * gobject_
 

Related Functions

(Note that these are not member functions.)

bool operator== (const RGBA & lhs, const RGBA & rhs)
 
bool operator!= (const RGBA & lhs, const RGBA & rhs)
 
void swap (RGBA & lhs, RGBA & rhs) noexcept
 
Gdk::RGBA wrap (GdkRGBA * object, bool take_copy=false)
 A Glib::wrap() method for this object. More...
 

Detailed Description

An RGBA Color.

The RGBA class is a convenient way to pass rgba colors around. It's based on cairo's way to deal with (possibly translucent) 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 & Destructor Documentation

◆ RGBA() [1/5]

Gdk::RGBA::RGBA ( GdkRGBA *  gobject,
bool  make_a_copy = true 
)
explicit

◆ RGBA() [2/5]

Gdk::RGBA::RGBA ( const RGBA other)

◆ RGBA() [3/5]

Gdk::RGBA::RGBA ( RGBA &&  other)
noexcept

◆ ~RGBA()

Gdk::RGBA::~RGBA ( )
noexcept

◆ RGBA() [4/5]

Gdk::RGBA::RGBA ( )

Instantiate a new Gdk::RGBA.

◆ RGBA() [5/5]

Gdk::RGBA::RGBA ( const Glib::ustring &  value)
explicit

Parses a textual representation of a color and creates a new Gdk::RGBA with the corresponding values in its red, green, blue and alpha fields.

The string can be one of:

  • A standard name (taken from the X11 rgb.txt file)
  • A hexadecimal value in the form #rgb, #rrggbb, #rrrgggbbb or #rrrrggggbbbb
  • An RGB color in the form rgb(r,g,b) (In this case the color will have full opacity)
  • An 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
valuethe string specifying the color.

Member Function Documentation

◆ get_alpha()

double Gdk::RGBA::get_alpha ( ) const

Get the alpha component of the color, as a fraction.

Returns
The alpha component of the color, as a fraction.

◆ get_alpha_u()

gushort Gdk::RGBA::get_alpha_u ( ) const

Get the alpha component of the color.

Returns
The alpha component of the color, in the range 0..65535.

◆ get_blue()

double Gdk::RGBA::get_blue ( ) const

Get the blue component of the color, as a fraction.

Returns
The blue component of the color, as a fraction.

◆ get_blue_u()

gushort Gdk::RGBA::get_blue_u ( ) const

Get the blue component of the color.

Returns
The blue component of the color, in the range 0..65535.

◆ get_green()

double Gdk::RGBA::get_green ( ) const

Get the green component of the color, as a fraction.

Returns
The green component of the color, as a fraction.

◆ get_green_u()

gushort Gdk::RGBA::get_green_u ( ) const

Get the green component of the color.

Returns
The green component of the color, in the range 0..65535.

◆ get_red()

double Gdk::RGBA::get_red ( ) const

Get the red component of the color, as a fraction.

Returns
The red component of the color, as a fraction.

◆ get_red_u()

gushort Gdk::RGBA::get_red_u ( ) const

Get the red component of the color.

Returns
The red component of the color, in the range 0..65535.

◆ get_type()

static GType Gdk::RGBA::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

◆ gobj() [1/2]

GdkRGBA * Gdk::RGBA::gobj ( )
inline

Provides access to the underlying C instance.

◆ gobj() [2/2]

const GdkRGBA * Gdk::RGBA::gobj ( ) const
inline

Provides access to the underlying C instance.

◆ gobj_copy()

GdkRGBA * Gdk::RGBA::gobj_copy ( ) const

Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs.

◆ operator=() [1/2]

RGBA & Gdk::RGBA::operator= ( const RGBA other)

◆ operator=() [2/2]

RGBA & Gdk::RGBA::operator= ( RGBA &&  other)
noexcept

◆ set()

bool Gdk::RGBA::set ( const Glib::ustring &  spec)

Parses a textual representation of a color, filling in the red, green, blue and alpha fields of the rgba Gdk::RGBA.

The string can be either one of:

  • A standard name (Taken from the X11 rgb.txt file).
  • A hexadecimal value in the form “\#rgb”, “\#rrggbb”, “\#rrrgggbbb” or ”\#rrrrggggbbbb”
  • 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.

Since gtkmm 3.0:
Parameters
specThe string specifying the color.
Returns
true if the parsing succeeded.

◆ set_alpha()

void Gdk::RGBA::set_alpha ( double  value)

Set the alpha component of the color, as a fraction.

Parameters
valueThe alpha component of the color, as a fraction.

◆ set_alpha_u()

void Gdk::RGBA::set_alpha_u ( gushort  value)

Set the alpha component of the color.

Parameters
valueThe alpha component of the color, in the range 0..65535.

◆ set_blue()

void Gdk::RGBA::set_blue ( double  value)

Set the blue component of the color, as a fraction.

Parameters
valueThe blue component of the color, as a fraction.

◆ set_blue_u()

void Gdk::RGBA::set_blue_u ( gushort  value)

Set the blue component of the color.

Parameters
valueThe blue component of the color, in the range 0..65535.

◆ set_green()

void Gdk::RGBA::set_green ( double  value)

Set the green component of the color, as a fraction.

Parameters
valueThe green component of the color, as a fraction.

◆ set_green_u()

void Gdk::RGBA::set_green_u ( gushort  value)

Set the green component of the color.

Parameters
valueThe green component of the color, in the range 0..65535.

◆ set_grey()

void Gdk::RGBA::set_grey ( double  g,
double  alpha = 1.0 
)

Set a grey color, by using the same value for all color components.

Parameters
gThe value to be used for the red, green, and blue components, as a fraction.
alphaThe alpha component of the color, as a fraction.

◆ set_grey_u()

void Gdk::RGBA::set_grey_u ( gushort  value,
gushort  alpha = 65535 
)

Set a grey color, by using the same value for all color components.

Parameters
valueThe value to be used for the red, green, and blue components, in the range 0..65535.
alphaThe alpha component of the color, in the range 0..65535.

◆ set_hsl()

void Gdk::RGBA::set_hsl ( double  h,
double  s,
double  l 
)

Set the color, by specifying hue, saturation, and lightness.

Parameters
hHue, in the range 0..360 degrees.
sSaturation, in the range 0..1.
lLightness, in the range 0..1.

◆ set_hsv()

void Gdk::RGBA::set_hsv ( double  h,
double  s,
double  v 
)

Set the color, by specifying hue, saturation, and value (brightness).

Parameters
hHue, in the range 0..360 degrees.
sSaturation, in the range 0..1.
vValue (a.k.a. brightness), in the range 0..1.

◆ set_red()

void Gdk::RGBA::set_red ( double  value)

Set the red component of the color, as a fraction.

Parameters
valueThe red component of the color, as a fraction.

◆ set_red_u()

void Gdk::RGBA::set_red_u ( gushort  value)

Set the red component of the color.

Parameters
valueThe red component of the color, in the range 0..65535.

◆ set_rgba()

void Gdk::RGBA::set_rgba ( double  red_,
double  green_,
double  blue_,
double  alpha_ = 1.0 
)

Set the color, by specifying red, green, and blue color component values, as fractions.

Parameters
red_The red component of the color, as a fraction.
green_The green component of the color, as a fraction.
blue_The blue component of the color, as a fraction.
alpha_The alpha component of the color, as a fraction.

◆ set_rgba_u()

void Gdk::RGBA::set_rgba_u ( gushort  red_,
gushort  green_,
gushort  blue_,
gushort  alpha_ = 65535 
)

Set the color, by specifying red, green, and blue color component values.

Parameters
red_The red component of the color, in the range 0..65535.
green_The green component of the color, in the range 0..65535.
blue_The blue component of the color, in the range 0..65535.
alpha_The alpha component of the color, in the range 0..65535.

◆ swap()

void Gdk::RGBA::swap ( RGBA other)
noexcept

◆ to_string()

Glib::ustring Gdk::RGBA::to_string ( ) const

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 floating point value in the range 0 to 1.

These string forms are string forms those 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.

Since gtkmm 3.0:
Returns
A newly allocated text string.

Friends And Related Function Documentation

◆ operator!=()

bool operator!= ( const RGBA lhs,
const RGBA rhs 
)
related
Parameters
lhsThe left-hand side
rhsThe right-hand side
Returns
The result

◆ operator==()

bool operator== ( const RGBA lhs,
const RGBA rhs 
)
related
Parameters
lhsThe left-hand side
rhsThe right-hand side
Returns
The result

◆ swap()

void swap ( RGBA lhs,
RGBA rhs 
)
related
Parameters
lhsThe left-hand side
rhsThe right-hand side

◆ wrap()

Gdk::RGBA wrap ( GdkRGBA *  object,
bool  take_copy = false 
)
related

A Glib::wrap() method for this object.

Parameters
objectThe C instance.
take_copyFalse if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns
A C++ instance that wraps this C instance.

Member Data Documentation

◆ gobject_

GdkRGBA* Gdk::RGBA::gobject_
protected