X-Git-Url: https://jasonwoof.com/gitweb/?p=dwm.git;a=blobdiff_plain;f=drw.c;h=ebdf8fe71127db2351f09e80215c9f4b633ead5f;hp=bc4ac41da655288058589860241ac5d31d44ba1f;hb=271b0614b4ecf0670ca9f9f89edb983055920ece;hpb=33a74489f036600bb80a3c34fcdf10e5f9dafae1 diff --git a/drw.c b/drw.c index bc4ac41..ebdf8fe 100644 --- a/drw.c +++ b/drw.c @@ -141,6 +141,16 @@ drw_rect(Drw *drw, int x, int y, unsigned int w, unsigned int h, int filled, int void drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, const char *text, int invert) { + _drw_text(drw, x, y, w, h, text, invert, 1); +} + +void +drw_text_nopad(Drw *drw, int x, int y, unsigned int w, unsigned int h, const char *text, int invert) { + _drw_text(drw, x, y, w, h, text, invert, 0); +} + +void +_drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, const char *text, int invert, int pad) { char buf[256]; int i, tx, ty, th, len, olen; Extnts tex; @@ -155,9 +165,9 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, const char *tex drw_font_getexts(drw->font, text, olen, &tex); th = drw->font->ascent + drw->font->descent; ty = y + (h / 2) - (th / 2) + drw->font->ascent; - tx = x + (h / 2); + tx = x + (h / 2) * pad; /* shorten text if necessary */ - for(len = MIN(olen, sizeof buf); len && tex.w > w - tex.h; len--) + for(len = MIN(olen, sizeof buf); len && (tex.w > w - tex.h * pad || w < tex.h * pad); len--) drw_font_getexts(drw->font, text, len, &tex); if(!len) return;