---
name: "ggiMapColor"
section: "3"
platform: "linux"
package: "libggi2-dev"
version: "1:2.2.2-5"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/ggiMapColor"
---

# ggiMapColor(3)

Convert from ggi\_color(s) to ggi\_pixel(s) and vice versa

## NAME

**ggiMapColor**, **ggiUnmapPixel**, **ggiPackColors**, **ggiUnpackPixels** - Convert from ggi\_color(s) to ggi\_pixel(s) and vice versa

## SYNOPSIS

```
#include <ggi/ggi.h>
ggi_pixel ggiMapColor(ggi_visual_t vis, const ggi_color *col);
int ggiUnmapPixel(ggi_visual_t vis, ggi_pixel pixel, ggi_color *col);
int ggiPackColors(ggi_visual_t vis, void *buf, const ggi_color *cols, int len);
int ggiUnpackPixels(ggi_visual_t vis, const void *buf, ggi_color *cols, int len);
```

## DESCRIPTION

**ggiMapColor** gets the pixelvalue for the given color.

**ggiUnmapPixel** gets the color associated with the given pixelvalue.

**ggiPackColors** converts the colors in *cols* to pixelvalues in *buf*.  The output from this function is suitable for input to the **ggiPut{HLine,VLine,Box}** functions.

**ggiUnpackPixels** converts the pixelvalues in *buf* to individual elements of *cols*.  This function may be used to convert buffers output by the **ggiGet{HLine,VLine,Box}** functions from the pixelvalue representation to their actual colors as defined by `ggi_color(3)`.

The buffers output from **ggiPackColors** and the input to **ggiUnpackPixels** are in the same format as the get/put buffers. Their format is defined in `ggi_pixelformat(3)`.

Try to cache the results of color lookups in your application for efficiency purposes.

## RETURN VALUE

**ggiMapColor** returns a `ggi_pixel(3)`.

**ggiUnmapPixel**, **ggiPackColors** and **ggiUnpackPixels** returns **0** for OK, otherwise a `ggi-error(3)` code.

## SEE ALSO

`ggiGetPixelFormat(3)`, `ggi_color(3)`, `ggi_pixelformat(3)`
