… | |
… | |
1711 | # endif |
1711 | # endif |
1712 | |
1712 | |
1713 | void |
1713 | void |
1714 | rxvt_term::update_background () |
1714 | rxvt_term::update_background () |
1715 | { |
1715 | { |
|
|
1716 | if (update_background_ev.is_active ()) |
|
|
1717 | return; |
|
|
1718 | |
1716 | bgPixmap.invalidate (); |
1719 | bgPixmap.invalidate (); |
1717 | |
1720 | |
|
|
1721 | ev_tstamp refresh; |
|
|
1722 | |
|
|
1723 | if (!bgPixmap.need_client_side_rendering ()) |
|
|
1724 | refresh = .05; |
|
|
1725 | else if (bgPixmap.flags & bgPixmap_t::blurNeeded) |
1718 | /* no chance of real time refresh if we are blurring! */ |
1726 | /* no chance of real time refresh if we are blurring! */ |
1719 | if (bgPixmap.invalid_since + 0.50 < ev::now () |
1727 | refresh = .50; |
1720 | && !(bgPixmap.flags & bgPixmap_t::blurNeeded)) |
|
|
1721 | { |
|
|
1722 | update_background_ev.stop (); |
|
|
1723 | bgPixmap.render (); |
|
|
1724 | } |
|
|
1725 | else |
1728 | else |
1726 | { |
|
|
1727 | ev_tstamp refresh; |
|
|
1728 | |
|
|
1729 | if (!bgPixmap.need_client_side_rendering ()) |
|
|
1730 | refresh = .05; |
|
|
1731 | else if (bgPixmap.flags & bgPixmap_t::blurNeeded) |
|
|
1732 | refresh = .20; /* very slow !!! */ |
|
|
1733 | else |
|
|
1734 | refresh = .07; |
1729 | refresh = .07; |
1735 | |
1730 | |
1736 | update_background_ev.start (refresh); |
1731 | update_background_ev.start (refresh); |
1737 | } |
|
|
1738 | } |
1732 | } |
1739 | |
1733 | |
1740 | void |
1734 | void |
1741 | rxvt_term::update_background_cb (ev::timer &w, int revents) |
1735 | rxvt_term::update_background_cb (ev::timer &w, int revents) |
1742 | { |
1736 | { |
1743 | make_current (); |
1737 | make_current (); |
|
|
1738 | |
|
|
1739 | update_background_ev.stop (); |
1744 | bgPixmap.render (); |
1740 | bgPixmap.render (); |
1745 | refresh_check (); |
1741 | refresh_check (); |
1746 | } |
1742 | } |
1747 | |
1743 | |
1748 | #endif /* HAVE_BG_PIXMAP */ |
1744 | #endif /* HAVE_BG_PIXMAP */ |