Content-type: text/html
XmbDrawText, XwcDrawText - draw text using multiple font sets
void
XmbDrawText(display, d, gc, x, y, items, nitems)
Display *display;
Drawable d;
GC gc;
int x, y;
XmbTextItem *items;
int nitems;
void
XwcDrawText(display, d, gc, x, y, items, nitems)
Display *display;
Drawable d;
GC gc;
int x, y;
XwcTextItem *items;
int nitems;
Specifies the drawable.
Specifies the connection to the X server.
Specifies the GC.
Specifies an array of text items.
Specifies the number of text items in the array.
Specify the x and y coordinates.
The XmbDrawText and XwcDrawText functions allow complex spacing and font set shifts between text strings. Each text item is processed in turn, with the origin of a text element advanced in the primary draw direction by the escapement of the previous text item. A text item delta specifies an additional escapement of the text item drawing origin in the primary draw direction. A font_set member other than None in an item causes the font set to be used for this and subsequent text items in the text_items list. Leading text items with a font_set member set to None will not be drawn.
XmbDrawText
and
XwcDrawText
do
not perform any context-dependent rendering between text segments. Clients
may compute the drawing metrics by passing each text segment to
XmbTextExtents
and
XwcTextExtents
or
XmbTextPerCharExtents
and
XwcTextPerCharExtents.
When the
XFontSet
has missing charsets, each unavailable
character is drawn with the default string returned by
XCreateFontSet. The behavior for an invalid codepoint is undefined.
The XmbTextItem structure contains:
typedef struct {
char *chars; /* pointer to string */
int nchars; /* number of bytes */
int delta; /* pixel delta between strings */
XFontSet font_set; /* fonts, None means do not change */
} XmbTextItem;
The XwcTextItem structure contains:
typedef struct {
wchar_t *chars; /* pointer to wide char string */
int nchars; /* number of wide characters */
int delta; /* pixel delta between strings */
XFontSet font_set; /* fonts, None means do not change */
} XwcTextItem;
XDrawImageString(3X11), XDrawString(3X11), XDrawText(3X11), XmbDrawImageString(3X11), XmbDrawString(3X11)
Xlib -- C Language X Interface