READCOLMAP(3)                                       READCOLMAP(3)

     NAME
          RGB, readcolmap, writecolmap - access display color map

     SYNOPSIS
          #include <u.h>
          #include <libc.h>
          #include <draw.h>

          int  readcolmap(Display *d, RGB *map)

          int  writecolmap(Display *d, RGB *map)

     DESCRIPTION
          Colors are described by their red, green, and blue light
          intensities, in an RGB datum:

               typedef
               struct RGB {
                     ulong red;
                     ulong green;
                     ulong blue;
               } RGB;

          Black is represented by zero in all three positions and
          white has the maximum unsigned long value in all three posi-
          tions.

          A color map is an array of RGBs, of length 2^depth, giving
          the colors for pixels 0, 1, 2, etc.  On displays with color
          mapped pixels (typically 8-bit displays), one retrieves RGB
          color information by treating the pixel data as an offset
          into the color map.

          Readcolmap reads the color map for the given display into
          the provided map, which must have enough space to hold it.
          Writecolmap associates the given color map with the given
          display, if possible.  (The hardware might not allow this.)
          Both return 0 on success, or -1 on error, setting errstr.

          Changing the hardware color map does not change the color
          map used by the draw(3) operator to convert between mapped
          and true color or greyscale images, which is described in
          color(7).

     SOURCE
          /src/libdraw

     SEE ALSO
          graphics(3), draw(3), color(7)