… | |
… | |
397 | rxvt_img::reify () |
397 | rxvt_img::reify () |
398 | { |
398 | { |
399 | if (x == 0 && y == 0 && w == ref->w && h == ref->h) |
399 | if (x == 0 && y == 0 && w == ref->w && h == ref->h) |
400 | return clone (); |
400 | return clone (); |
401 | |
401 | |
402 | rxvt_img *img = new rxvt_img (s, format, 0, 0, w, h); |
402 | Display *dpy = s->display->dpy; |
|
|
403 | |
|
|
404 | bool alpha = !format->direct.alphaMask |
|
|
405 | && (x || y) |
|
|
406 | && repeat == RepeatNone; |
|
|
407 | |
|
|
408 | rxvt_img *img = new rxvt_img (s, alpha ? XRenderFindStandardFormat (dpy, PictStandardARGB32) : format, 0, 0, w, h); |
403 | img->alloc (); |
409 | img->alloc (); |
404 | |
|
|
405 | Display *dpy = s->display->dpy; |
|
|
406 | |
410 | |
407 | Picture src = src_picture (); |
411 | Picture src = src_picture (); |
408 | Picture dst = XRenderCreatePicture (dpy, img->pm, img->format, 0, 0); |
412 | Picture dst = XRenderCreatePicture (dpy, img->pm, img->format, 0, 0); |
409 | |
413 | |
410 | XRenderComposite (dpy, PictOpSrc, src, None, dst, x, y, 0, 0, 0, 0, w, h); |
414 | XRenderComposite (dpy, PictOpSrc, src, None, dst, x, y, 0, 0, 0, 0, w, h); |