XmbDrawText
Section: XLIB FUNCTIONS (3)
Updated: libX11 1.3
Index
Return to Main Contents
NAME
XmbDrawText, XwcDrawText, Xutf8DrawText - draw text using multiple font sets
SYNTAX
-
- void XmbDrawText(Display *display, Drawable d, GC
gc, int x, int y, XmbTextItem *items, int
nitems);
-
- void XwcDrawText(Display *display, Drawable d, GC
gc, int x, int y, XwcTextItem *items, int
nitems);
-
- void Xutf8DrawText(Display *display, Drawable d, GC
gc, int x, int y, XmbTextItem *items, int nitems);
ARGUMENTS
- d
-
Specifies the drawable.
- display
-
Specifies the connection to the X server.
- gc
-
Specifies the GC.
- items
-
Specifies an array of text items.
- nitems
-
Specifies the number of text items in the array.
- x
-
- y
-
Specify the x and y coordinates.
DESCRIPTION
The
XmbDrawText,
XwcDrawText
and
Xutf8DrawText
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,
XwcDrawText
and
Xutf8DrawText
do not perform any context-dependent rendering between text segments.
Clients may compute the drawing metrics by passing each text segment to
XmbTextExtents,
XwcTextExtents,
Xutf8TextExtents
or
XmbTextPerCharExtents,
XwcTextPerCharExtents.
Xutf8TextPerCharExtents.
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 function
Xutf8DrawText
is an extension introduced by The XFree86 Project, Inc. in their 4.0.2
release. Its presence is
indicated by the macro
X_HAVE_UTF8_STRING.
STRUCTURES
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 don't 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 don't change */
} XwcTextItem;
SEE ALSO
XDrawImageString(3),
XDrawString(3),
XDrawText(3),
XmbDrawImageString(3),
XmbDrawString(3)
Xlib - C Language X Interface