-
- if(w > b->w)
- return; /* too long */
-
- gcv.foreground = b->fg;
- gcv.background = b->bg;
- if(b->font.set) {
- XChangeGC(dpy, b->gc, GCForeground | GCBackground, &gcv);
- XmbDrawImageString(dpy, b->drawable, b->font.set, b->gc,
- x, y, buf, len);
- }
- else {
- gcv.font = b->font.xfont->fid;
- XChangeGC(dpy, b->gc, GCForeground | GCBackground | GCFont, &gcv);
- XDrawImageString(dpy, b->drawable, b->gc, x, y, buf, len);
- }
-}
-
-static unsigned long
-xloadcolors(Display *dpy, Colormap cmap, const char *colstr)
-{
- XColor color;
- XAllocNamedColor(dpy, cmap, colstr, &color, &color);
- return color.pixel;
-}
-
-void
-loadcolors(Display *dpy, int screen, Brush *b,
- const char *bg, const char *fg, const char *border)
-{
- Colormap cmap = DefaultColormap(dpy, screen);
- b->bg = xloadcolors(dpy, cmap, bg);
- b->fg = xloadcolors(dpy, cmap, fg);
- b->border = xloadcolors(dpy, cmap, border);
-}
-
-unsigned int
-textnw(Fnt *font, char *text, unsigned int len)
-{
- XRectangle r;
- if(font->set) {
- XmbTextExtents(font->set, text, len, NULL, &r);
- return r.width;