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


d 1i Specifies the drawable.

display 1i Specifies the connection to the X server.

gc 1i Specifies the GC.

length 1i Specifies the number of characters in the string argument.

string 1i Specifies the character string.

x 1i

y 1i Specify the x and y coordinates\*(Xy.


The .ZN XDrawImageString16 function is similar to .ZN 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] .De

The width is:

overall-width .De

The height is:

font-ascent + font-descent .De

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

For fonts defined with 2-byte matrix indexing and used with .ZN 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.

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


  • .ZN BadDrawable
     A value for a Drawable argument does not name a defined Window or Pixmap.
  • .ZN BadGC
     A value for a GContext argument does not name a defined GContext.
  • .ZN BadMatch
     An .ZN InputOnly window is used as a Drawable.
  • .ZN 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.