… | |
… | |
394 | } |
394 | } |
395 | |
395 | |
396 | unshare (); |
396 | unshare (); |
397 | |
397 | |
398 | Display *dpy = s->display->dpy; |
398 | Display *dpy = s->display->dpy; |
399 | Picture src = create_xrender_mask (dpy, pm, True); |
|
|
400 | Picture dst = XRenderCreatePicture (dpy, pm, format, 0, 0); |
399 | Picture dst = XRenderCreatePicture (dpy, pm, format, 0, 0); |
401 | |
400 | |
402 | XRenderColor mask_c; |
401 | XRenderColor mask_c; |
403 | mask_c.red = r; |
402 | mask_c.red = r; |
404 | mask_c.green = g; |
403 | mask_c.green = g; |
405 | mask_c.blue = b; |
404 | mask_c.blue = b; |
406 | mask_c.alpha = a; |
405 | mask_c.alpha = a; |
407 | XRenderFillRectangle (dpy, PictOpSrc, src, &mask_c, 0, 0, 1, 1); |
406 | XRenderFillRectangle (dpy, PictOpMultiply, dst, &mask_c, 0, 0, w, h); |
408 | |
407 | |
409 | XRenderComposite (dpy, PictOpMultiply, src, None, dst, 0, 0, 0, 0, 0, 0, w, h); |
|
|
410 | |
|
|
411 | XRenderFreePicture (dpy, src); |
|
|
412 | XRenderFreePicture (dpy, dst); |
408 | XRenderFreePicture (dpy, dst); |
413 | } |
409 | } |
414 | |
410 | |
415 | rxvt_img * |
411 | rxvt_img * |
416 | rxvt_img::clone () |
412 | rxvt_img::clone () |