… | |
… | |
407 | if (x == 0 && y == 0 && w == ref->w && h == ref->h) |
407 | if (x == 0 && y == 0 && w == ref->w && h == ref->h) |
408 | return clone (); |
408 | return clone (); |
409 | |
409 | |
410 | Display *dpy = s->display->dpy; |
410 | Display *dpy = s->display->dpy; |
411 | |
411 | |
|
|
412 | // add an alpha channel if... |
412 | bool alpha = !format->direct.alphaMask |
413 | bool alpha = !format->direct.alphaMask // pixmap has none yet |
413 | && (x || y) |
414 | && (x || y) // we need one because of non-zero offset |
414 | && repeat == RepeatNone; |
415 | && repeat == RepeatNone; // and we have no good pixels to fill with |
415 | |
416 | |
416 | rxvt_img *img = new rxvt_img (s, alpha ? find_alpha_format_for (dpy, format) : format, 0, 0, w, h, repeat); |
417 | rxvt_img *img = new rxvt_img (s, alpha ? find_alpha_format_for (dpy, format) : format, 0, 0, w, h, repeat); |
417 | img->alloc (); |
418 | img->alloc (); |
418 | |
419 | |
419 | Picture src = src_picture (); |
420 | Picture src = src_picture (); |