|
@ -82,8 +82,6 @@ drw_create(Display *dpy, int screen, Window root, unsigned int w, unsigned int h |
|
|
void |
|
|
void |
|
|
drw_resize(Drw *drw, unsigned int w, unsigned int h) |
|
|
drw_resize(Drw *drw, unsigned int w, unsigned int h) |
|
|
{ |
|
|
{ |
|
|
if (!drw) |
|
|
|
|
|
return; |
|
|
|
|
|
drw->w = w; |
|
|
drw->w = w; |
|
|
drw->h = h; |
|
|
drw->h = h; |
|
|
if (drw->drawable) |
|
|
if (drw->drawable) |
|
@ -188,8 +186,6 @@ Clr * |
|
|
drw_clr_create(Drw *drw, const char *clrname) |
|
|
drw_clr_create(Drw *drw, const char *clrname) |
|
|
{ |
|
|
{ |
|
|
Clr *clr; |
|
|
Clr *clr; |
|
|
if (!drw) |
|
|
|
|
|
return NULL; |
|
|
|
|
|
|
|
|
|
|
|
clr = ecalloc(1, sizeof(Clr)); |
|
|
clr = ecalloc(1, sizeof(Clr)); |
|
|
if (!XftColorAllocName(drw->dpy, DefaultVisual(drw->dpy, drw->screen), |
|
|
if (!XftColorAllocName(drw->dpy, DefaultVisual(drw->dpy, drw->screen), |
|
@ -210,15 +206,13 @@ drw_clr_free(Clr *clr) |
|
|
void |
|
|
void |
|
|
drw_setscheme(Drw *drw, ClrScheme *scheme) |
|
|
drw_setscheme(Drw *drw, ClrScheme *scheme) |
|
|
{ |
|
|
{ |
|
|
if (!drw) |
|
|
|
|
|
return; |
|
|
|
|
|
drw->scheme = scheme; |
|
|
drw->scheme = scheme; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void |
|
|
void |
|
|
drw_rect(Drw *drw, int x, int y, unsigned int w, unsigned int h, int filled, int empty, int invert) |
|
|
drw_rect(Drw *drw, int x, int y, unsigned int w, unsigned int h, int filled, int empty, int invert) |
|
|
{ |
|
|
{ |
|
|
if (!drw || !drw->scheme) |
|
|
|
|
|
|
|
|
if (!drw->scheme) |
|
|
return; |
|
|
return; |
|
|
XSetForeground(drw->dpy, drw->gc, invert ? drw->scheme->bg->pix : drw->scheme->fg->pix); |
|
|
XSetForeground(drw->dpy, drw->gc, invert ? drw->scheme->bg->pix : drw->scheme->fg->pix); |
|
|
if (filled) |
|
|
if (filled) |
|
@ -369,8 +363,6 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, const char *tex |
|
|
void |
|
|
void |
|
|
drw_map(Drw *drw, Window win, int x, int y, unsigned int w, unsigned int h) |
|
|
drw_map(Drw *drw, Window win, int x, int y, unsigned int w, unsigned int h) |
|
|
{ |
|
|
{ |
|
|
if (!drw) |
|
|
|
|
|
return; |
|
|
|
|
|
XCopyArea(drw->dpy, drw->drawable, win, drw->gc, x, y, w, h, x, y); |
|
|
XCopyArea(drw->dpy, drw->drawable, win, drw->gc, x, y, w, h, x, y); |
|
|
XSync(drw->dpy, False); |
|
|
XSync(drw->dpy, False); |
|
|
} |
|
|
} |
|
@ -380,8 +372,6 @@ drw_font_getexts(Fnt *font, const char *text, unsigned int len, Extnts *tex) |
|
|
{ |
|
|
{ |
|
|
XGlyphInfo ext; |
|
|
XGlyphInfo ext; |
|
|
|
|
|
|
|
|
if (!font || !text) |
|
|
|
|
|
return; |
|
|
|
|
|
XftTextExtentsUtf8(font->dpy, font->xfont, (XftChar8 *)text, len, &ext); |
|
|
XftTextExtentsUtf8(font->dpy, font->xfont, (XftChar8 *)text, len, &ext); |
|
|
tex->h = font->h; |
|
|
tex->h = font->h; |
|
|
tex->w = ext.xOff; |
|
|
tex->w = ext.xOff; |
|
@ -392,9 +382,8 @@ drw_font_getexts_width(Fnt *font, const char *text, unsigned int len) |
|
|
{ |
|
|
{ |
|
|
Extnts tex; |
|
|
Extnts tex; |
|
|
|
|
|
|
|
|
if (!font) |
|
|
|
|
|
return -1; |
|
|
|
|
|
drw_font_getexts(font, text, len, &tex); |
|
|
drw_font_getexts(font, text, len, &tex); |
|
|
|
|
|
|
|
|
return tex.w; |
|
|
return tex.w; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -403,8 +392,6 @@ drw_cur_create(Drw *drw, int shape) |
|
|
{ |
|
|
{ |
|
|
Cur *cur; |
|
|
Cur *cur; |
|
|
|
|
|
|
|
|
if (!drw) |
|
|
|
|
|
return NULL; |
|
|
|
|
|
cur = ecalloc(1, sizeof(Cur)); |
|
|
cur = ecalloc(1, sizeof(Cur)); |
|
|
cur->cursor = XCreateFontCursor(drw->dpy, shape); |
|
|
cur->cursor = XCreateFontCursor(drw->dpy, shape); |
|
|
|
|
|
|
|
@ -414,7 +401,7 @@ drw_cur_create(Drw *drw, int shape) |
|
|
void |
|
|
void |
|
|
drw_cur_free(Drw *drw, Cur *cursor) |
|
|
drw_cur_free(Drw *drw, Cur *cursor) |
|
|
{ |
|
|
{ |
|
|
if (!drw || !cursor) |
|
|
|
|
|
|
|
|
if (!cursor) |
|
|
return; |
|
|
return; |
|
|
XFreeCursor(drw->dpy, cursor->cursor); |
|
|
XFreeCursor(drw->dpy, cursor->cursor); |
|
|
free(cursor); |
|
|
free(cursor); |
|
|