XcmsAllocColor(3) XLIB FUNCTIONS XcmsAllocColor(3)

# [NAME](#NAME)

XcmsAllocColor, XcmsAllocNamedColor - allocate colors

# [SYNTAX](#SYNTAX)

Status XcmsAllocColor(Display \**display*, Colormap *colormap*, XcmsColor \**color\_in\_out*, XcmsColorFormat *result\_format*);

Status XcmsAllocNamedColor(Display \**display*, Colormap *colormap*, \_Xconst char \**color\_string*, XcmsColor \**color\_screen\_return*, XcmsColor \**color\_exact\_return*, XcmsColorFormat *result\_format*);

# [ARGUMENTS](#ARGUMENTS)

[*display*](#display)

Specifies the connection to the X server.

[*colormap*](#colormap)

Specifies the colormap.

[*color\_exact\_return*](#color_exact_return)

Returns the color specification parsed from the color string or parsed from the corresponding string found in a color-name database.

[*color\_in\_out*](#color_in_out)

Specifies the color to allocate and returns the pixel and color that is actually used in the colormap.

[*color\_screen\_return*](#color_screen_return)

Returns the pixel value of the color cell and color specification that actually is stored for that cell. Specifies the color string whose color definition structure is to be returned.

[*result\_format*](#result_format)

Specifies the color format for the returned color specification.

# [DESCRIPTION](#DESCRIPTION)

The **XcmsAllocColor** function is similar to **XAllocColor** except the color can be specified in any format. The **XcmsAllocColor** function ultimately calls **XAllocColor** to allocate a read-only color cell (colormap entry) with the specified color. **XcmsAllocColor** first converts the color specified to an RGB value and then passes this to **XAllocColor**. **XcmsAllocColor** returns the pixel value of the color cell and the color specification actually allocated. This returned color specification is the result of converting the RGB value returned by **XAllocColor** into the format specified with the result\_format argument. If there is no interest in a returned color specification, unnecessary computation can be bypassed if result\_format is set to **XcmsRGBFormat**. The corresponding colormap cell is read-only. If this routine returns **XcmsFailure**, the color\_in\_out color specification is left unchanged.

**XcmsAllocColor** can generate a **BadColor** errors.

The **XcmsAllocNamedColor** function is similar to **XAllocNamedColor** except that the color returned can be in any format specified. This function ultimately calls **XAllocColor** to allocate a read-only color cell with the color specified by a color string. The color string is parsed into an **XcmsColor** structure (see **XcmsLookupColor**), converted to an RGB value, and finally passed to **XAllocColor**. If the color name is not in the Host Portable Character Encoding, the result is implementation-dependent. Use of uppercase or lowercase does not matter.

This function returns both the color specification as a result of parsing (exact specification) and the actual color specification stored (screen specification). This screen specification is the result of converting the RGB value returned by **XAllocColor** into the format specified in result\_format. If there is no interest in a returned color specification, unnecessary computation can be bypassed if result\_format is set to **XcmsRGBFormat**. If color\_screen\_return and color\_exact\_return point to the same structure, the pixel field will be set correctly, but the color values are undefined.

**XcmsAllocNamedColor** can generate a **BadColor** errors.

# [DIAGNOSTICS](#DIAGNOSTICS)

[**BadColor**](#BadColor)

A value for a Colormap argument does not name a defined Colormap.

# [SEE ALSO](#SEE_ALSO)

[**XcmsQueryColor**(3)](/man/os/libx11/XcmsQueryColor.3), [**XcmsStoreColor**(3)](/man/os/libx11/XcmsStoreColor.3)  
*Xlib - C Language X Interface*

libX11 1.8.14 X Version 11

---

Document: XcmsAllocNamedColor(3) from libx11 1.8.14-r2 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libx11.git
