gtkmm: Gdk::Color Class Reference

Gdk::Color is used to describe an allocated or unallocated color. More...

Public Member Functions

 Color (GdkColor* gobject, bool make_a_copy=true)
 
 Color (const Color& other)
 
Coloroperator= (const Color& other)
 
 Color (Color&& other) noexcept
 
Coloroperator= (Color&& other) noexcept
 
 ~Color () noexcept
 
void swap (Color& other) noexcept
 
GdkColor* gobj ()
 Provides access to the underlying C instance. More...

 
const GdkColor* gobj () const
 Provides access to the underlying C instance. More...

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

 
 Color ()
 Instantiate a new Gdk::Color. More...

 
 Color (const Glib::ustring& value)
 Instantiate a new Gdk::Color. More...

 
void set_grey (gushort value)
 Set a grey color, by using the same value for all color components. More...

 
void set_grey_p (double g)
 
void set_rgb (gushort red_, gushort green_, gushort blue_)
 Set the color, by specifying red, green, and blue color component values. More...

 
void set_rgb_p (double red_, double green_, double blue_)
 Set the color, by specifying red, green, and blue color component values, as percentages. More...

 
void set_hsv (double h, double s, double v)
 
void set_hsl (double h, double s, double l)
 
bool set (const Glib::ustring& value)
 Parses a textual specification of a color and fills in the red, green, and blue values. More...

 
bool parse (const Glib::ustring& spec)
 
gushort get_red () const
 Get the red component of the color. More...

 
gushort get_green () const
 Get the green component of the color. More...

 
gushort get_blue () const
 Get the blue component of the color. More...

 
void set_red (gushort value)
 Set the red component of the color. More...

 
void set_green (gushort value)
 Set the green component of the color. More...

 
void set_blue (gushort value)
 Set the blue component of the color. More...

 
void rgb_find_color (const Glib::RefPtr< Gdk::Colormap >& map)
 This will fill in the pixel field with the best matching pixel from a color cube. More...

 
guint get_pixel () const
 Get the pixel value, for allocated colors. More...

 
double get_red_p () const
 Get the red component of the color, as a percentage. More...

 
double get_green_p () const
 Get the green component of the color, as a percentage. More...

 
double get_blue_p () const
 Get the blue component of the color, as a percentage. More...

 
Glib::ustring to_string () const
 Get a textual specification of color in the hexadecimal form #rrrrggggbbbb, where r, g and b are hex digits representing the red, green and blue components 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

GdkColor* gobject_
 

Related Functions

(Note that these are not member functions.)

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

 

Detailed Description

Gdk::Color is used to describe an allocated or unallocated color.

It contains the following data: pixel: For allocated colors, the value used to draw this color on the screen. red: The red component of the color. This is a value between 0 and 65535, with 65535 indicating full intensitiy. green: The green component of the color. blue: The blue component of the color.

Constructor & Destructor Documentation

Gdk::Color::Color ( GdkColor *  gobject,
bool  make_a_copy = true 
)
explicit
Gdk::Color::Color ( const Color other)
Gdk::Color::Color ( Color&&  other)
noexcept
Gdk::Color::~Color ( )
noexcept
Gdk::Color::Color ( )

Instantiate a new Gdk::Color.

You should then use the set methods and call Gdk::Colormap::alloc_color().

Gdk::Color::Color ( const Glib::ustring value)
explicit

Instantiate a new Gdk::Color.

The color is not allocated - you must call Gdk::Colormap::alloc_color() yourself. The text string can be in any of the forms accepted by XParseColor; these include names for a color from rgb.txt, such as DarkSlateGray, or a hex specification such as 305050.

Parameters
valuethe string specifying the color..

Member Function Documentation

gushort Gdk::Color::get_blue ( ) const

Get the blue component of the color.

Returns
The blue component of the color.
double Gdk::Color::get_blue_p ( ) const

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

Returns
The blue component of the color, as a percentage.
gushort Gdk::Color::get_green ( ) const

Get the green component of the color.

Returns
The green component of the color.
double Gdk::Color::get_green_p ( ) const

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

Returns
The green component of the color, as a percentage.
guint Gdk::Color::get_pixel ( ) const

Get the pixel value, for allocated colors.

Returns
For allocated colors, the value used to draw this color on the screen.
gushort Gdk::Color::get_red ( ) const

Get the red component of the color.

Returns
The red component of the color.
double Gdk::Color::get_red_p ( ) const

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

Returns
The red component of the color, as a percentage.
static GType Gdk::Color::get_type ( )
static

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

GdkColor* Gdk::Color::gobj ( )
inline

Provides access to the underlying C instance.

const GdkColor* Gdk::Color::gobj ( ) const
inline

Provides access to the underlying C instance.

GdkColor* Gdk::Color::gobj_copy ( ) const

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

Color& Gdk::Color::operator= ( const Color other)
Color& Gdk::Color::operator= ( Color&&  other)
noexcept
bool Gdk::Color::parse ( const Glib::ustring spec)
void Gdk::Color::rgb_find_color ( const Glib::RefPtr< Gdk::Colormap >&  map)

This will fill in the pixel field with the best matching pixel from a color cube.

The color is then ready to be used for drawing, e.g. you can call Gdk::GC::set_foreground() which expects pixel to be initialized. Call this after setting the red, green, and blue fields.

In many cases, you can avoid this whole issue by calling Gdk::GC::set_rgb_fg_color() or Gdk::GC::set_rgb_bg_color(), which do not expect pixels to be initialized in advance. If you use those methods, there's no need for this method().

Parameters
mapThe colormap for the graphics context and drawable you're using to draw. If you're drawing to a Gtk::Widget, call Gtk::Widget::get_colormap().
Deprecated:
Cairo handles colors automatically.
bool Gdk::Color::set ( const Glib::ustring value)

Parses a textual specification of a color and fills in the red, green, and blue values.

The color is not allocated - you must call Gdk::Colormap::alloc_color() yourself. The text string can be in any of the forms accepted by XParseColor; these include names for a color from rgb.txt, such as DarkSlateGray, or a hex specification such as 305050.

Parameters
valuethe string specifying the color.
Returns
true if the parsing succeeded.
void Gdk::Color::set_blue ( gushort  value)

Set the blue component of the color.

Parameters
valueThe blue component of the color.
void Gdk::Color::set_green ( gushort  value)

Set the green component of the color.

Parameters
valueThe green component of the color.
void Gdk::Color::set_grey ( gushort  value)

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.
void Gdk::Color::set_grey_p ( double  g)
void Gdk::Color::set_hsl ( double  h,
double  s,
double  l 
)
void Gdk::Color::set_hsv ( double  h,
double  s,
double  v 
)
void Gdk::Color::set_red ( gushort  value)

Set the red component of the color.

Parameters
valueThe red component of the color.
void Gdk::Color::set_rgb ( gushort  red_,
gushort  green_,
gushort  blue_ 
)

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

Parameters
red_The red component of the color.
green_The green component of the color.
blue_The blue component of the color.
void Gdk::Color::set_rgb_p ( double  red_,
double  green_,
double  blue_ 
)

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

Parameters
red_The red component of the color, as a percentage.
green_The green component of the color, as a percentage.
blue_The blue component of the color, as a percentage.
void Gdk::Color::swap ( Color other)
noexcept
Glib::ustring Gdk::Color::to_string ( ) const

Get a textual specification of color in the hexadecimal form #rrrrggggbbbb, where r, g and b are hex digits representing the red, green and blue components respectively.

Returns
The string representation.
Since gtkmm 2.14:

Friends And Related Function Documentation

bool operator!= ( const Color lhs,
const Color rhs 
)
related
Parameters
lhsThe left-hand side
rhsThe right-hand side
Returns
The result
bool operator== ( const Color lhs,
const Color rhs 
)
related
Parameters
lhsThe left-hand side
rhsThe right-hand side
Returns
The result
void swap ( Color lhs,
Color rhs 
)
related
Parameters
lhsThe left-hand side
rhsThe right-hand side
Gdk::Color wrap ( GdkColor *  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

GdkColor* Gdk::Color::gobject_
protected

The documentation for this class was generated from the following file:
  • gdkmm/color.h