… | |
… | |
2092 | void |
2092 | void |
2093 | rxvt_term::set_background (rxvt_img *img) |
2093 | rxvt_term::set_background (rxvt_img *img) |
2094 | CODE: |
2094 | CODE: |
2095 | THIS->bg_destroy (); |
2095 | THIS->bg_destroy (); |
2096 | THIS->bg_pixmap = None; |
2096 | THIS->bg_pixmap = None; |
2097 | THIS->bg_flags &= ~rxvt_term::BG_NEEDS_REFRESH; |
2097 | THIS->bg_flags &= ~(rxvt_term::BG_NEEDS_REFRESH | rxvt_term::BG_INHIBIT_RENDER); |
2098 | |
2098 | |
2099 | if (img) // TODO: cannot be false |
2099 | if (img) // TODO: cannot be false |
2100 | { |
2100 | { |
2101 | img = img->reify (); |
2101 | img = img->reify (); |
2102 | rxvt_img *img2 = img->convert_to (XRenderFindVisualFormat (THIS->dpy, THIS->visual), THIS->pix_colors [Color_bg]); |
2102 | rxvt_img *img2 = img->convert_to (XRenderFindVisualFormat (THIS->dpy, THIS->visual), THIS->pix_colors [Color_bg]); |
2103 | delete img; |
2103 | delete img; |
2104 | THIS->bg_pixmap = img2->steal (); |
2104 | THIS->bg_pixmap = img2->steal (); |
2105 | THIS->bg_flags |= rxvt_term::BG_NEEDS_REFRESH; |
2105 | THIS->bg_flags |= rxvt_term::BG_NEEDS_REFRESH | rxvt_term::BG_INHIBIT_RENDER; |
2106 | THIS->bg_valid_since = ev::now (); // TODO: extra bloat |
2106 | THIS->bg_valid_since = ev::now (); // TODO: extra bloat |
2107 | } |
2107 | } |
2108 | |
2108 | |
2109 | #endif |
2109 | #endif |
2110 | |
2110 | |