| .TH READCOLMAP 3 |
| .SH NAME |
| RGB, readcolmap, writecolmap \- access display color map |
| .SH SYNOPSIS |
| .B #include <u.h> |
| .br |
| .B #include <libc.h> |
| .br |
| .B #include <draw.h> |
| .PP |
| .PP |
| .ta \w'\fLvoid 'u |
| .PP |
| .B |
| int readcolmap(Display *d, RGB *map) |
| .PP |
| .B |
| int writecolmap(Display *d, RGB *map) |
| .fi |
| .SH DESCRIPTION |
| Colors are described by their red, green, and blue |
| light intensities, in an |
| .B RGB |
| datum: |
| .IP |
| .EX |
| .ta 6n |
| typedef |
| struct RGB { |
| ulong red; |
| ulong green; |
| ulong blue; |
| } RGB; |
| .EE |
| .PP |
| Black is represented by zero in all three positions and |
| white has the maximum |
| .B unsigned |
| .B long |
| value in all three positions. |
| .PP |
| A color map is an array of |
| .BR RGB s, |
| of length |
| .if t \x'-.8n'2\u\s-1\fIdepth\fP\s+1\d, |
| .if n 2^\fIdepth\fP, |
| 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. |
| .PP |
| .I Readcolmap |
| reads the color map for the given display into the provided |
| .IR map , |
| which must have enough space to hold it. |
| .I 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 |
| .IR errstr . |
| .PP |
| Changing the hardware color map does not change |
| the color map used by the |
| .IR draw (3) |
| operator to convert between |
| mapped and true color or greyscale images, |
| which is described in |
| .IR color (7). |
| .SH SOURCE |
| .B \*9/src/libdraw |
| .SH "SEE ALSO" |
| .IR graphics (3), |
| .IR draw (3), |
| .IR color (7) |