---
name: "xcb_image_text_16"
section: "3"
platform: "linux"
package: "libxcb"
version: "1.17.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/xcb_image_text_16"
---

# xcb\_image\_text\_16(3)

Draws text

## NAME

xcb\_image\_text\_16 - Draws text

## SYNOPSIS

**#include \<xcb/xproto.h\>**

### Request function

xcb\_void\_cookie\_t **xcb\_image\_text\_16**(xcb\_connection\_t \**conn*, uint8\_t *string\_len*, xcb\_drawable\_t *drawable*, xcb\_gcontext\_t *gc*, int16\_t *x*, int16\_t *y*, const xcb\_char2b\_t \**string*);\

## REQUEST ARGUMENTS

- *conn*

  The XCB connection to X11.

- *string\_len*

  The length of the *string* in characters. Note that this parameter limited by 255 due to using 8 bits!

- *drawable*

  The drawable (Window or Pixmap) to draw text on.

- *gc*

  The graphics context to use.

  The following graphics context components are used: plane-mask, foreground, background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.

- *x*

  The x coordinate of the first character, relative to the origin of *drawable*.

- *y*

  The y coordinate of the first character, relative to the origin of *drawable*.

- *string*

  The string to draw. Only the first 255 characters are relevant due to the data type of *string\_len*. Every character uses 2 bytes (hence the 16 in this request's name).

## DESCRIPTION

Fills the destination rectangle with the background pixel from *gc*, then paints the text with the foreground pixel from *gc*. The upper-left corner of the filled rectangle is at \[x, y - font-ascent\]. The width is overall-width, the height is font-ascent + font-descent. The overall-width, font-ascent and font-descent are as returned by *xcb\_query\_text\_extents* (TODO).

Note that using X core fonts is deprecated (but still supported) in favor of client-side rendering using Xft.

## RETURN VALUE

Returns an *xcb\_void\_cookie\_t*. Errors (if any) have to be handled in the event loop.

If you want to handle errors directly with *xcb\_request\_check* instead, use *xcb\_image\_text\_16\_checked*. See **[xcb-requests(3)](/xcb-requests/3.md)** for details.

## ERRORS

- *xcb\_drawable\_error\_t*

  The specified *drawable* (Window or Pixmap) does not exist.

- *xcb\_g\_context\_error\_t*

  The specified graphics context does not exist.

- *xcb\_match\_error\_t*

  TODO: reasons?

## SEE ALSO

[**xcb-requests**(3)](/xcb-requests/3.md), [**xcb\_image\_text\_8**(3)](/xcb_image_text_8/3.md)

## AUTHOR

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