XDrawImageString(3) draw image text

Other Alias

XDrawImageString16

SYNTAX

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);

ARGUMENTS

d
Specifies the drawable.
display
Specifies the connection to the X server.
gc
Specifies the GC.
length
Specifies the number of characters in the string argument.
string
Specifies the character string.
x

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

DESCRIPTION

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:

[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 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.

DIAGNOSTICS

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