Gdk::Colormap Class Reference

A Colormap is an object that contains the mapping between the color values stored in memory and the RGB values that are used to display color values. More...

Inheritance diagram for Gdk::Colormap:
[legend]
Collaboration diagram for Gdk::Colormap:
[legend]

## Public Member Functions

| Colormap (Colormap&& src) noexcept
Colormap& | operator= (Colormap&& src) noexcept
| ~Colormap () noexceptoverride
GdkColormap* | gobj ()
| Provides access to the underlying C GObject. More...
const GdkColormap* | gobj () const
| Provides access to the underlying C GObject. More...
GdkColormap* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
int | alloc_colors (ArrayHandle_Color& colors, int ncolors, bool writeable, bool best_match, Glib::ArrayHandle< bool >& success)
void | free_colors (Color& colors, int ncolors)
bool | alloc_color (Color& color, bool writeable=false, bool best_match=true)
| Allocates a single color from a colormap. More...
void | free_color (Color& color)
void | query_color (gulong pixel, Color& result)
| Locates the RGB color in colormap corresponding to the given hardware pixel pixel. More...
Glib::RefPtr< Visual > | get_visual ()
| Returns the visual for which a given colormap was created. More...
Glib::RefPtr< const Visual > | get_visual () const
| Returns the visual for which a given colormap was created. More...
Glib::RefPtr< Screen > | get_screen ()
| Gets the screen for which this colormap was created. More...
Glib::RefPtr< const Screen > | get_screen () const
| Gets the screen for which this colormap was created. More...
Public Member Functions inherited from Glib::Object
| Object (const Object &)=delete
Object & | operator= (const Object &)=delete
| Object (Object &&src) noexcept
Object & | operator= (Object &&src) noexcept
void * | get_data (const QueryQuark &key)
void | set_data (const Quark &key, void *data)
void | set_data (const Quark &key, void *data, DestroyNotify notify)
void | remove_data (const QueryQuark &quark)
void * | steal_data (const QueryQuark &quark)
Glib::RefPtr< Glib::Object > | wrap (GObject *object, bool take_copy=false)
Public Member Functions inherited from Glib::ObjectBase
| ObjectBase (const ObjectBase &)=delete
ObjectBase & | operator= (const ObjectBase &)=delete
void | set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
void | get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
void | set_property (const Glib::ustring &property_name, const PropertyType &value)
void | get_property (const Glib::ustring &property_name, PropertyType &value) const
void | connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void > &slot)
void | connect_property_changed (const Glib::ustring &property_name, sigc::slot< void > &&slot)
sigc::connection | connect_property_changed_with_return (const Glib::ustring &property_name, const sigc::slot< void > &slot)
sigc::connection | connect_property_changed_with_return (const Glib::ustring &property_name, sigc::slot< void > &&slot)
void | freeze_notify ()
void | thaw_notify ()
virtual void | reference () const
virtual void | unreference () const
GObject * | gobj ()
const GObject * | gobj () const
GObject * | gobj_copy () const
Public Member Functions inherited from sigc::trackable
| trackable () noexcept
| trackable (const trackable &src) noexcept
| trackable (trackable &&src)
| ~trackable ()
void | add_destroy_notify_callback (void *data, func_destroy_notify func) const
void | notify_callbacks ()
trackable & | operator= (const trackable &src)
trackable & | operator= (trackable &&src)
void | remove_destroy_notify_callback (void *data) const

## Static Public Member Functions

static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
static Glib::RefPtr< Colormap > | create (const Glib::RefPtr< Visual >& visual, bool allocate)
static Glib::RefPtr< Colormap > | get_system ()
| Gets the system's default colormap for the default screen. More...

## Protected Member Functions

| Colormap (const Glib::RefPtr< Visual >& visual, bool allocate)
Protected Member Functions inherited from Glib::Object
| Object ()
| Object (const Glib::ConstructParams &construct_params)
| Object (GObject *castitem)
| ~Object () noexceptoverride
Protected Member Functions inherited from Glib::ObjectBase
| ObjectBase ()
| ObjectBase (const char *custom_type_name)
| ObjectBase (const std::type_info &custom_type_info)
| ObjectBase (ObjectBase &&src) noexcept
ObjectBase & | operator= (ObjectBase &&src) noexcept
virtual | ~ObjectBase () noexcept=0
void | initialize (GObject *castitem)
void | initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr< Gdk::Colormap > | wrap (GdkColormap* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...

## Additional Inherited Members

Public Types inherited from Glib::Object
typedef void(*)(gpointer data | DestroyNotify)
Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify | func_destroy_notify

## Detailed Description

A Colormap is an object that contains the mapping between the color values stored in memory and the RGB values that are used to display color values.

In general, colormaps only contain significant information for pseudo-color visuals, but even for other visual types, a colormap object is required in some circumstances.

There are a couple of special colormaps that can be retrieved. The system colormap (retrieved with get_system()) is the default colormap of the system. If you are using GdkRGB, there is another colormap that is important - the colormap in which GdkRGB works, retrieved with Gdk::rgb_get_colormap(). However, when using GdkRGB, it is not generally necessary to allocate colors directly.

## Constructor & Destructor Documentation

Gdk::Colormap::Colormap | ( | Colormap&& | src | ) |

noexcept

Gdk::Colormap::~Colormap | ( |  | ) |

override noexcept

Gdk::Colormap::Colormap | ( | const Glib::RefPtr< Visual >& | visual,
|  | bool | allocate
| ) |  |

explicit protected

## Member Function Documentation

bool Gdk::Colormap::alloc_color | ( | Color& | color,
|  | bool | writeable = `false`,
|  | bool | best_match = `true`
| ) |  |

Allocates a single color from a colormap.

Parameters

  color | The color to allocate. On return the `pixel` field will be filled in if allocation succeeds.
  writeable | If `true`, the color is allocated writeable (their values can later be changed using gdk_color_change()). Writeable colors cannot be shared between applications.
  best_match | If `true`, GDK will attempt to do matching against existing colors if the color cannot be allocated as requested.

Returns
  `true` if the allocation succeeded.

int Gdk::Colormap::alloc_colors | ( | ArrayHandle_Color& | colors,
|  | int | ncolors,
|  | bool | writeable,
|  | bool | best_match,
|  | Glib::ArrayHandle< bool > & | success
| ) |  |

Deprecated:
  Use alloc_color().

static Glib::RefPtr<Colormap> Gdk::Colormap::create | ( | const Glib::RefPtr< Visual >& | visual,
|  | bool | allocate
| ) |  |

static

void Gdk::Colormap::free_color | ( | Color& | color | ) |

void Gdk::Colormap::free_colors | ( | Color& | colors,
|  | int | ncolors
| ) |  |

Deprecated:
  Use free_color()

Glib::RefPtr<Screen> Gdk::Colormap::get_screen | ( |  | ) |

Gets the screen for which this colormap was created.

Since gtkmm 2.2:

Returns
  The screen for which this colormap was created.

Glib::RefPtr<const Screen> Gdk::Colormap::get_screen | ( |  | ) | const

Gets the screen for which this colormap was created.

Since gtkmm 2.2:

Returns
  The screen for which this colormap was created.

static Glib::RefPtr<Colormap> Gdk::Colormap::get_system | ( |  | ) |

static

Gets the system's default colormap for the default screen.

(See gdk_colormap_get_system_for_screen())

Returns
  The default colormap.

static GType Gdk::Colormap::get_type | ( |  | ) |

static

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

Glib::RefPtr<Visual> Gdk::Colormap::get_visual | ( |  | ) |

Returns the visual for which a given colormap was created.

Returns
  The visual of the colormap.

Glib::RefPtr<const Visual> Gdk::Colormap::get_visual | ( |  | ) | const

Returns the visual for which a given colormap was created.

Returns
  The visual of the colormap.

GdkColormap* Gdk::Colormap::gobj | ( |  | ) |

inline

Provides access to the underlying C GObject.

const GdkColormap* Gdk::Colormap::gobj | ( |  | ) | const

inline

Provides access to the underlying C GObject.

GdkColormap* Gdk::Colormap::gobj_copy | ( |  | ) |

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

Colormap& Gdk::Colormap::operator= | ( | Colormap&& | src | ) |

noexcept

void Gdk::Colormap::query_color | ( | gulong | pixel,
|  | Color& | result
| ) |  |

Locates the RGB color in colormap corresponding to the given hardware pixel pixel.

pixel must be a valid pixel in the colormap; it's a programmer error to call this function with a pixel which is not in the colormap. Hardware pixels are normally obtained from alloc_colors(), or from a Gdk::Image. (A Gdk::Image contains image data in hardware format, a Gdk::Pixbuf contains image data in a canonical 24-bit RGB format.)

This function is rarely useful; it's used for example to implement the eyedropper feature in Gtk::ColorSelection.

Parameters

  pixel | Pixel value in hardware display format.
  result | Gdk::Color with red, green, blue fields initialized.

## Friends And Related Function Documentation

Glib::RefPtr< Gdk::Colormap > wrap | ( | GdkColormap * | object,
|  | bool | take_copy = `false`
| ) |  |

related

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

Parameters

  object | The C instance.
  take_copy | False 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.

The documentation for this class was generated from the following file:

- gdkmm/colormap.h