From 0c2f95674f56e25e2b74cce506d9d89ec41252a4 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Mon, 17 Mar 2003 07:30:30 +0000 Subject: [PATCH] pass the x,y,w,h to font_draw. draw the text in the "right" place for now.. no justification yet --- render/font.c | 9 +++++++-- render/font.h | 2 +- render/render.c | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/render/font.c b/render/font.c index 67fd1b7d..b92bafb1 100644 --- a/render/font.c +++ b/render/font.c @@ -90,10 +90,15 @@ int font_max_char_width(ObFont *f) return (signed) f->xftfont->max_advance_width; } -void font_draw(XftDraw *d, TextureText *t) +void font_draw(XftDraw *d, TextureText *t, int x, int y, int w, int h) { - int x = 0, y = 0; XftColor c; + + /* accomidate for areas bigger/smaller than Xft thinks the font is tall */ + y += (h - t->font->xftfont->height) / 2; + + x += 3; /* XXX figure out X with justification */ + if (t->shadow) { c.color.red = 0; c.color.green = 0; diff --git a/render/font.h b/render/font.h index 28a5c5ed..9cb4f2c9 100644 --- a/render/font.h +++ b/render/font.h @@ -9,5 +9,5 @@ void font_close(ObFont *f); int font_measure_string(ObFont *f, const char *str, int shadow, int offset); int font_height(ObFont *f, int shadow, int offset); int font_max_char_width(ObFont *f); -void font_draw(XftDraw *d, TextureText *t); +void font_draw(XftDraw *d, TextureText *t, int x, int y, int w, int h); #endif /* __font_h */ diff --git a/render/render.c b/render/render.c index 481ef098..51c3a9be 100644 --- a/render/render.c +++ b/render/render.c @@ -106,7 +106,7 @@ void x_paint(Window win, Appearance *l, int x, int y, int w, int h) l->xftdraw = XftDrawCreate(ob_display, l->pixmap, render_visual, render_colormap); } - font_draw(l->xftdraw, &l->texture[i].data.text); + font_draw(l->xftdraw, &l->texture[i].data.text, x, y, w, h); break; case Bitmask: if (l->texture[i].data.mask.color->gc == None) -- 2.45.2