… | |
… | |
2092 | THIS->bg_pixmap = None; |
2092 | THIS->bg_pixmap = None; |
2093 | THIS->bg_flags &= ~rxvt_term::BG_NEEDS_REFRESH; |
2093 | THIS->bg_flags &= ~rxvt_term::BG_NEEDS_REFRESH; |
2094 | |
2094 | |
2095 | if (img) // TODO: cannot be false |
2095 | if (img) // TODO: cannot be false |
2096 | { |
2096 | { |
|
|
2097 | XRenderPictFormat *f = XRenderFindVisualFormat (THIS->dpy, THIS->visual); |
|
|
2098 | rxvt_img *img2 = 0; |
|
|
2099 | |
|
|
2100 | if (f != img->format) |
|
|
2101 | img = img2 = img->convert_to (f, THIS->pix_colors [Color_bg]); |
|
|
2102 | |
2097 | img->unshare (); |
2103 | img->unshare (); |
2098 | //TODO: convetr to visual, possibly precompose with colour |
|
|
2099 | THIS->bg_pixmap = img->steal (); |
2104 | THIS->bg_pixmap = img->steal (); |
2100 | THIS->bg_flags |= rxvt_term::BG_NEEDS_REFRESH; |
2105 | THIS->bg_flags |= rxvt_term::BG_NEEDS_REFRESH; |
2101 | THIS->bg_valid_since = ev::now (); // TODO: extra bloat |
2106 | THIS->bg_valid_since = ev::now (); // TODO: extra bloat |
|
|
2107 | |
|
|
2108 | delete img2; |
2102 | } |
2109 | } |
2103 | |
2110 | |
2104 | #endif |
2111 | #endif |
2105 | |
2112 | |
2106 | #endif |
2113 | #endif |