Table of Contents


XDrawImageString, XDrawImageString16 - draw image text


int XDrawImageString(Display *display, Drawable d, GC
gc, int x, int y, char *string, int length);
int XDrawImageString16(Display *display, Drawable d, GC
gc, int x, int y, XChar2b *string, int length);


Specifies the drawable.

Specifies the connection to the X server.

Specifies the GC.

Specifies the number of characters in the string argument.

Specifies the character string. and define the origin of the first character

Specify the x and y coordinates, which are relative to the origin of the specified drawable.


The XDrawImageString16 function is similar to XDrawImageString except that it uses 2-byte or 16-bit characters. Both functions also use both the foreground and background pixels of the GC in the destination.

The effect is first to fill a destination rectangle with the background pixel defined in the GC and then to paint the text with the foreground pixel. The upper-left corner of the filled rectangle is at:

0>=40 .vs 0u
0<=39 .vs 0p
[x, y - font-ascent]

The width is:

0>=40 .vs 0u
0<=39 .vs 0p

The height is:

0>=40 .vs 0u
0<=39 .vs 0p
font-ascent + font-descent

The overall-width, font-ascent, and font-descent are as would be returned by XQueryTextExtents using gc and string. The function and fill-style defined in the GC are ignored for these functions. The effective function is GXcopy, and the effective fill-style is FillSolid.

For fonts defined with 2-byte matrix indexing and used with XDrawImageString, each byte is used as a byte2 with a byte1 of zero.

Both functions use these GC components: plane-mask, foreground, background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.

XDrawImageString and XDrawImageString16 can generate BadDrawable, BadGC, and BadMatch errors.


A value for a Drawable argument does not name a defined Window or Pixmap.
A value for a GContext argument does not name a defined GContext.
An InputOnly window is used as a Drawable.
Some argument or pair of arguments has the correct type and range but fails to match in some other way required by the request.

See Also

XDrawString(3X11) , XDrawText(3X11) , XLoadFont(3X11) , XTextExtents(3X11)
Xlib - C Language X Interface

Table of Contents