… | |
… | |
1871 | { |
1871 | { |
1872 | clearfirst = clearlast = 1; |
1872 | clearfirst = clearlast = 1; |
1873 | refresh_type &= ~REFRESH_BOUNDS; |
1873 | refresh_type &= ~REFRESH_BOUNDS; |
1874 | } |
1874 | } |
1875 | |
1875 | |
1876 | #if defined(XPM_BACKGROUND) |
1876 | #ifdef XPM_BACKGROUND |
1877 | must_clear |= (bgPixmap.pixmap != None); |
1877 | must_clear |= (bgPixmap.pixmap != None); |
1878 | #endif |
1878 | #endif |
1879 | #if defined(TRANSPARENT) |
1879 | #ifdef TRANSPARENT |
1880 | must_clear |= ((Options & Opt_transparent) && am_transparent); |
1880 | must_clear |= ((Options & Opt_transparent) && am_transparent); |
1881 | #endif |
1881 | #endif |
1882 | ocrow = oldcursor.row; /* is there an old outline cursor on screen? */ |
1882 | ocrow = oldcursor.row; /* is there an old outline cursor on screen? */ |
1883 | |
1883 | |
1884 | /* |
1884 | /* |
… | |
… | |
2162 | /* |
2162 | /* |
2163 | * Actually do the drawing of the string here |
2163 | * Actually do the drawing of the string here |
2164 | */ |
2164 | */ |
2165 | rxvt_font *font = (*TermWin.fontset)[fid]; |
2165 | rxvt_font *font = (*TermWin.fontset)[fid]; |
2166 | |
2166 | |
|
|
2167 | if (back == fore) |
|
|
2168 | font->clear_rect (xpixel, ypixel, |
|
|
2169 | TermWin.fwidth * count, TermWin.fheight, |
|
|
2170 | back); |
2167 | if (back == Color_bg) |
2171 | else if (back == Color_bg) |
2168 | { |
2172 | { |
2169 | if (must_clear) |
2173 | if (must_clear) |
2170 | { |
2174 | { |
|
|
2175 | CLEAR_CHARS (xpixel, ypixel, count); |
|
|
2176 | |
2171 | for (i = 0; i < count; i++) /* don't draw empty strings */ |
2177 | for (i = 0; i < count; i++) /* don't draw empty strings */ |
2172 | if (text[i] != ' ') |
2178 | if (text[i] != ' ') |
2173 | { |
2179 | { |
2174 | font->draw (xpixel, ypixel, text, count, fore, -1); |
2180 | font->draw (xpixel, ypixel, text, count, fore, -1); |
2175 | goto nodraw; |
2181 | break; |
2176 | } |
2182 | } |
2177 | |
|
|
2178 | CLEAR_CHARS (xpixel, ypixel, count); |
|
|
2179 | nodraw: ; |
|
|
2180 | } |
2183 | } |
2181 | else |
2184 | else |
2182 | font->draw (xpixel, ypixel, text, count, fore, Color_bg); |
2185 | font->draw (xpixel, ypixel, text, count, fore, Color_bg); |
2183 | } |
2186 | } |
2184 | else |
2187 | else |