diff options
Diffstat (limited to 'xutil.c')
-rw-r--r-- | xutil.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/xutil.c b/xutil.c index bcc7366..3e2b36c 100644 --- a/xutil.c +++ b/xutil.c @@ -429,3 +429,23 @@ xu_xorcolor(XftColor a, XftColor b, XftColor *r) r->color.blue = a.color.blue ^ b.color.blue; r->color.alpha = 0xffff; } + +int +xu_xft_width(XftFont *xftfont, const char *text, int len) +{ + XGlyphInfo extents; + + XftTextExtentsUtf8(X_Dpy, xftfont, (const FcChar8*)text, + len, &extents); + + return (extents.xOff); +} + +void +xu_xft_draw(struct screen_ctx *sc, const char *text, + Drawable d, int color, int x, int y) +{ + XftDrawChange(sc->xftdraw, d); + XftDrawStringUtf8(sc->xftdraw, &sc->xftcolor[color], sc->xftfont, + x, y, (const FcChar8*)text, strlen(text)); +} |