xcb\_alloc\_color(3) XCB Requests xcb\_alloc\_color(3)

# [NAME](#NAME)

xcb\_alloc\_color - Allocate a color

# [SYNOPSIS](#SYNOPSIS)

**#include &lt;xcb/xproto.h&gt;**

## [Request function](#Request_function)

xcb\_alloc\_color\_cookie\_t **xcb\_alloc\_color**(xcb\_connection\_t \**conn*, xcb\_colormap\_t *cmap*, uint16\_t *red*, uint16\_t *green*, uint16\_t *blue*);

## [Reply datastructure](#Reply_datastructure)

```
typedef struct xcb_alloc_color_reply_t {


    uint8_t  response_type;


    uint8_t  pad0;


    uint16_t sequence;


    uint32_t length;


    uint16_t red;


    uint16_t green;


    uint16_t blue;


    uint8_t  pad1[2];


    uint32_t pixel;
} xcb_alloc_color_reply_t;
```

## [Reply function](#Reply_function)

xcb\_alloc\_color\_reply\_t \***xcb\_alloc\_color\_reply**(xcb\_connection\_t \**conn*, xcb\_alloc\_color\_cookie\_t *cookie*, xcb\_generic\_error\_t \*\**e*);

# [REQUEST ARGUMENTS](#REQUEST_ARGUMENTS)

[*conn*](#conn)

The XCB connection to X11.

[*cmap*](#cmap)

TODO

[*red*](#red)

The red value of your color.

[*green*](#green)

The green value of your color.

[*blue*](#blue)

The blue value of your color.

# [REPLY FIELDS](#REPLY_FIELDS)

[*response\_type*](#response_type)

The type of this reply, in this case *XCB\_ALLOC\_COLOR*. This field is also present in the *xcb\_generic\_reply\_t* and can be used to tell replies apart from each other.

[*sequence*](#sequence)

The sequence number of the last request processed by the X11 server.

[*length*](#length)

The length of the reply, in words (a word is 4 bytes).

[*red*](#red~2)

TODO: NOT YET DOCUMENTED.

[*green*](#green~2)

TODO: NOT YET DOCUMENTED.

[*blue*](#blue~2)

TODO: NOT YET DOCUMENTED.

[*pixel*](#pixel)

TODO: NOT YET DOCUMENTED.

# [DESCRIPTION](#DESCRIPTION)

Allocates a read-only colormap entry corresponding to the closest RGB value supported by the hardware. If you are using TrueColor, you can take a shortcut and directly calculate the color pixel value to avoid the round trip. But, for example, on 16-bit color setups (VNC), you can easily get the closest supported RGB value to the RGB value you are specifying.

# [RETURN VALUE](#RETURN_VALUE)

Returns an *xcb\_alloc\_color\_cookie\_t*. Errors have to be handled when calling the reply function *xcb\_alloc\_color\_reply*.

If you want to handle errors in the event loop instead, use *xcb\_alloc\_color\_unchecked*. See [**xcb-requests(3)**](/man/os/libxcb/xcb-requests.3) for details.

# [ERRORS](#ERRORS)

[*xcb\_colormap\_error\_t*](#xcb_colormap_error_t)

The specified colormap *cmap* does not exist.

# [SEE ALSO](#SEE_ALSO)

[**xcb-requests**(3)](/man/os/libxcb/xcb-requests.3)

# [AUTHOR](#AUTHOR)

Generated from xproto.xml. Contact xcb@lists.freedesktop.org for corrections and improvements.

libxcb 1.17.0 X Version 11

---

Document: xcb_alloc_color_unchecked(3) from libxcb 1.17.0-r17 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libxcb.git
