77 lines
1.5 KiB
Plaintext
77 lines
1.5 KiB
Plaintext
.TH READCOLMAP 2
|
|
.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
|
|
void readcolmap(Display *d, RGB *map)
|
|
.PP
|
|
.B
|
|
void 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 (2)
|
|
operator to convert between
|
|
mapped and true color or greyscale images,
|
|
which is described in
|
|
.IR color (6).
|
|
.SH SOURCE
|
|
.B /sys/src/libdraw
|
|
.SH "SEE ALSO"
|
|
.IR graphics (2),
|
|
.IR draw (3),
|
|
.IR color (6)
|