Colormaps and Colors

Colormaps and Colors — Manipulation of colors and colormaps

Synopsis

#include <gdk/gdk.h>

                    GdkColor;
GdkColor *          gdk_color_copy                      (const GdkColor *color);
void                gdk_color_free                      (GdkColor *color);
gboolean            gdk_color_parse                     (const gchar *spec,
                                                         GdkColor *color);
gboolean            gdk_color_equal                     (const GdkColor *colora,
                                                         const GdkColor *colorb);
guint               gdk_color_hash                      (const GdkColor *colora);
gchar *             gdk_color_to_string                 (const GdkColor *color);

Description

These functions are used to modify colormaps. 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 gdk_colormap_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.

In previous revisions of this interface, a number of functions that take a GdkColormap parameter were replaced with functions whose names began with "gdk_colormap_".

Details

GdkColor

typedef struct {
  guint32 pixel;
  guint16 red;
  guint16 green;
  guint16 blue;
} GdkColor;

The GdkColor structure is used to describe an allocated or unallocated color.

guint32 pixel;

For allocated colors, the value used to draw this color on the screen.

guint16 red;

The red component of the color. This is a value between 0 and 65535, with 65535 indicating full intensitiy.

guint16 green;

The green component of the color.

guint16 blue;

The blue component of the color.

gdk_color_copy ()

GdkColor *          gdk_color_copy                      (const GdkColor *color);

Makes a copy of a color structure. The result must be freed using gdk_color_free().

color :

a GdkColor.

Returns :

a copy of color.

gdk_color_free ()

void                gdk_color_free                      (GdkColor *color);

Frees a color structure created with gdk_color_copy().

color :

a GdkColor.

gdk_color_parse ()

gboolean            gdk_color_parse                     (const gchar *spec,
                                                         GdkColor *color);

Parses a textual specification of a color and fill in the red, green, and blue fields of a GdkColor structure. The string can either one of a large set of standard names. (Taken from the X11 rgb.txt file), or it can be a hex value in the form '#rgb' '#rrggbb' '#rrrgggbbb' or '#rrrrggggbbbb' where 'r', 'g' and 'b' are hex digits of the red, green, and blue components of the color, respectively. (White in the four forms is '#fff' '#ffffff' '#fffffffff' and '#ffffffffffff')

spec :

the string specifying the color.

color :

the GdkColor to fill in. [out]

Returns :

TRUE if the parsing succeeded.

gdk_color_equal ()

gboolean            gdk_color_equal                     (const GdkColor *colora,
                                                         const GdkColor *colorb);

Compares two colors.

colora :

a GdkColor.

colorb :

another GdkColor.

Returns :

TRUE if the two colors compare equal

gdk_color_hash ()

guint               gdk_color_hash                      (const GdkColor *colora);

A hash function suitable for using for a hash table that stores GdkColor's.

colora :

a GdkColor.

Returns :

The hash function applied to colora

gdk_color_to_string ()

gchar *             gdk_color_to_string                 (const GdkColor *color);

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

color :

a GdkColor

Returns :

a newly-allocated text string

Since 2.12