start fixing screen_ctx usage, for it is utterly broken. bring font

into screen_ctx and start passing screen_ctx around to in order get rid
of Curscreen; fixup per-screen config colors the same way.

diff mostly from oga@, with a bit harsher reaction to the state of screen_ctx.

"please commit" oga@
This commit is contained in:
okan
2009-12-08 16:52:17 +00:00
parent aa88d5848e
commit ee7df6a95f
6 changed files with 43 additions and 47 deletions

6
font.c
View File

@@ -33,11 +33,11 @@ font_init(struct screen_ctx *sc)
}
int
font_width(const char *text, int len)
font_width(struct screen_ctx *sc, const char *text, int len)
{
XGlyphInfo extents;
XftTextExtents8(X_Dpy, Conf.DefaultFont, (const XftChar8*)text,
XftTextExtents8(X_Dpy, sc->font, (const XftChar8*)text,
len, &extents);
return (extents.xOff);
@@ -49,7 +49,7 @@ font_draw(struct screen_ctx *sc, const char *text, int len,
{
XftDrawChange(sc->xftdraw, d);
/* Really needs to be UTF8'd. */
XftDrawString8(sc->xftdraw, &sc->xftcolor, Conf.DefaultFont, x, y,
XftDrawString8(sc->xftdraw, &sc->xftcolor, sc->font, x, y,
(const FcChar8*)text, len);
}