Upgrading winicon patch to v2.1 ref. #238
This commit is contained in:
21
drw.c
21
drw.c
@@ -89,9 +89,15 @@ drw_create(Display *dpy, int screen, Window root, unsigned int w, unsigned int h
|
||||
drw->depth = depth;
|
||||
drw->cmap = cmap;
|
||||
drw->drawable = XCreatePixmap(dpy, root, w, h, depth);
|
||||
#if BAR_WINICON_PATCH
|
||||
drw->picture = XRenderCreatePicture(dpy, drw->drawable, XRenderFindVisualFormat(dpy, visual), 0, NULL);
|
||||
#endif // BAR_WINICON_PATCH
|
||||
drw->gc = XCreateGC(dpy, drw->drawable, 0, NULL);
|
||||
#else
|
||||
drw->drawable = XCreatePixmap(dpy, root, w, h, DefaultDepth(dpy, screen));
|
||||
#if BAR_WINICON_PATCH
|
||||
drw->picture = XRenderCreatePicture(dpy, drw->drawable, XRenderFindVisualFormat(dpy, DefaultVisual(dpy, screen)), 0, NULL);
|
||||
#endif // BAR_WINICON_PATCH
|
||||
drw->gc = XCreateGC(dpy, root, 0, NULL);
|
||||
#endif // BAR_ALPHA_PATCH
|
||||
XSetLineAttributes(dpy, drw->gc, 1, LineSolid, CapButt, JoinMiter);
|
||||
@@ -107,18 +113,31 @@ drw_resize(Drw *drw, unsigned int w, unsigned int h)
|
||||
|
||||
drw->w = w;
|
||||
drw->h = h;
|
||||
#if BAR_WINICON_PATCH
|
||||
if (drw->picture)
|
||||
XRenderFreePicture(drw->dpy, drw->picture);
|
||||
#endif // BAR_WINICON_PATCH
|
||||
if (drw->drawable)
|
||||
XFreePixmap(drw->dpy, drw->drawable);
|
||||
#if BAR_ALPHA_PATCH
|
||||
drw->drawable = XCreatePixmap(drw->dpy, drw->root, w, h, drw->depth);
|
||||
#else
|
||||
#if BAR_WINICON_PATCH
|
||||
drw->picture = XRenderCreatePicture(drw->dpy, drw->drawable, XRenderFindVisualFormat(drw->dpy, drw->visual), 0, NULL);
|
||||
#endif // BAR_WINICON_PATCH
|
||||
#else // !BAR_ALPHA_PATCH
|
||||
drw->drawable = XCreatePixmap(drw->dpy, drw->root, w, h, DefaultDepth(drw->dpy, drw->screen));
|
||||
#if BAR_WINICON_PATCH
|
||||
drw->picture = XRenderCreatePicture(drw->dpy, drw->drawable, XRenderFindVisualFormat(drw->dpy, DefaultVisual(drw->dpy, drw->screen)), 0, NULL);
|
||||
#endif // BAR_WINICON_PATCH
|
||||
#endif // BAR_ALPHA_PATCH
|
||||
}
|
||||
|
||||
void
|
||||
drw_free(Drw *drw)
|
||||
{
|
||||
#if BAR_WINICON_PATCH
|
||||
XRenderFreePicture(drw->dpy, drw->picture);
|
||||
#endif // BAR_WINICON_PATCH
|
||||
XFreePixmap(drw->dpy, drw->drawable);
|
||||
XFreeGC(drw->dpy, drw->gc);
|
||||
drw_fontset_free(drw->fonts);
|
||||
|
Reference in New Issue
Block a user