XcmsStoreColors() XcmsStoreColors()
Name
XcmsStoreColors - store the specified colors in read/write colormap cells.
Synopsis
Status XcmsStoreColors(display, colormap, colors, ncolors,
compression_flags_return)
Display *display;
Colormap colormap;
XcmsColor colors[];
int ncolors;
Bool compression_flags_return[];
Arguments
display Specifies the connection to the X server.
colormap Specifies the colormap.
colors Specifies an array of XcmsColor structures, each specifying a color cell and the color to store in that cell. Values specified
in the array remain unchanged upon return.
ncolors Specifies the number of XcmsColor structures in the color specification array.
compression_flags_return
Specifies an array of ncolors Boolean values for returning compression status. If a non-NULL pointer is supplied, each element
of the array is set to True if the corresponding color was compressed, and False otherwise. Pass NULL if the compression status
is not useful.
Returns
Zero on failure, non-zero on success.
Availability
Release 5 and later.
Description
The XcmsStoreColors() function converts the colors specified in the array of XcmsColor structures into RGB values and then uses these RGB
specifications in an XColor structures, whose three flags (DoRed, DoGreen, and DoBlue) are set, in a call to XStoreColors() to change the
color cells specified by the pixel member of the corresponding XcmsColor structure. Each pixel value must be a valid index for the speci-
fied colormap, and the color cell specified by each pixel value must be a read/write cell. If a pixel value is not a valid index, a Bad-
Value error results. If a color cell is unallocated or is allocated read-only, a BadAccess error results. If more than one pixel is in
error, the one that gets reported is arbitrary. If the colormap is an installed map for its screen, the changes are visible immediately.
XcmsStoreColors() returns XcmsSuccess if it succeeded in converting the color specificatons and called XStoreColors(). It returns XcmsSuc-
cessWithCompression if one or more of the requested device-independent colors required gamut compression during conversion to the device
RGB color space, and it returns XcmsFailure if it could not convert one or more of the specified colors at all. Note that XStoreColors()
has no return value; therefore, a XcmsSuccess return value from this function indicates that conversions to RGB succeeded and the call to
XStoreColors() was made. To obtain the actual colors stored, use XcmsQueryColors(). Due to the screen's hardware limitations or gamut
compression, the colors stored in the colormap may not be identical to the colors specified.
Errors
BadAccess A specified colormap cell was read-only.
BadColor The colormap argument does not name a defined Colormap.
BadValue The specified pixel does not represent a valid color cell in the specified colormap.
Structures
The XcmsColor and XcmsColorFormat structures are shown on the XcmsColor reference page.
See Also
XcmsAllocColor(), XcmsAllocNamedColor(), XcmsLookupColor(), XcmsQueryColor(), XcmsQueryColors(), XcmsStoreColor(), XcmsStoreNamedColor,
XAllocColor(), XAllocNamedColor(), XLookupColor(), XParseColor(), XQueryColor(), XQueryColors(), XStoreColor(), XStoreColors().
Xlib - Device-independent Color XcmsStoreColors()