pass the x,y,w,h to font_draw.
draw the text in the "right" place for now.. no justification yet
This commit is contained in:
parent
6abd9fe801
commit
0c2f95674f
3 changed files with 9 additions and 4 deletions
|
@ -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;
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue