… | |
… | |
2088 | #endif |
2088 | #endif |
2089 | |
2089 | |
2090 | #if HAVE_BG_PIXMAP |
2090 | #if HAVE_BG_PIXMAP |
2091 | |
2091 | |
2092 | void |
2092 | void |
2093 | rxvt_term::set_background (rxvt_img *img) |
2093 | rxvt_term::set_background (rxvt_img *img, bool border = false) |
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 | rxvt_term::BG_INHIBIT_RENDER); |
2097 | THIS->bg_flags &= ~(rxvt_term::BG_NEEDS_REFRESH | rxvt_term::BG_INHIBIT_RENDER | rxvt_term::BG_IS_TRANSPARENT); |
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 | rxvt_term::BG_INHIBIT_RENDER; |
2105 | THIS->bg_flags |= rxvt_term::BG_NEEDS_REFRESH | rxvt_term::BG_INHIBIT_RENDER; |
|
|
2106 | |
|
|
2107 | if (!border) |
|
|
2108 | THIS->bg_flags |= rxvt_term::BG_IS_TRANSPARENT; |
|
|
2109 | |
2106 | THIS->bg_valid_since = ev::now (); // TODO: extra bloat |
2110 | THIS->bg_valid_since = ev::now (); // TODO: extra bloat |
2107 | } |
2111 | } |
2108 | |
2112 | |
2109 | #endif |
2113 | #endif |
2110 | |
2114 | |