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

Inherits Glib::Object.

Collaboration diagram for Gdk::Colormap:
[legend]

List of all members.

## Public Member Functions

virtual | ~Colormap ()
GdkColormap* | gobj ()
| Provides access to the underlying C GObject.
const GdkColormap* | gobj () const
| Provides access to the underlying C GObject.
GdkColormap* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
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.
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.
Glib::RefPtr< Visual > | get_visual ()
| Return value: the visual of the colormap.
Glib::RefPtr< const Visual > | get_visual () const
| Return value: the visual of the colormap.
Glib::RefPtr< Screen > | get_screen ()
| Gets the screen for which this colormap was created.
Glib::RefPtr< const Screen > | get_screen () const
| Gets the screen for which this colormap was created.

## Static Public Member Functions

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.

## Protected Member Functions

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

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

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

virtual Gdk::Colormap::~Colormap | ( |  | ) | `[virtual]`

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 <structfield>pixel</structfield> 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<const Screen> Gdk::Colormap::get_screen | ( |  | ) | const

Gets the screen for which this colormap was created.

Returns:
  The screen for which this colormap was created.

Since gtkmm 2.2:

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

Gets the screen for which this colormap was created.

Returns:
  The screen for which this colormap was created.

Since gtkmm 2.2:

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.

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

Return value: the visual of the colormap.

Returns:
  The visual of the colormap.

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

Return value: the visual of the colormap.

Returns:
  The visual of the colormap.

const GdkColormap* Gdk::Colormap::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

GdkColormap* Gdk::Colormap::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

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.

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