… | |
… | |
115 | * SCREEN `COMMON' ROUTINES * |
115 | * SCREEN `COMMON' ROUTINES * |
116 | * ------------------------------------------------------------------------- */ |
116 | * ------------------------------------------------------------------------- */ |
117 | |
117 | |
118 | /* Fill part/all of a line with blanks. */ |
118 | /* Fill part/all of a line with blanks. */ |
119 | void |
119 | void |
120 | rxvt_term::scr_blank_line (line_t &l, unsigned int col, unsigned int width, rend_t efs) |
120 | rxvt_term::scr_blank_line (line_t &l, unsigned int col, unsigned int width, rend_t efs) const |
121 | { |
121 | { |
122 | if (!l.t) |
122 | if (!l.t) |
123 | { |
123 | { |
124 | lalloc (l); |
124 | lalloc (l); |
125 | col = 0; |
125 | col = 0; |
… | |
… | |
142 | } |
142 | } |
143 | |
143 | |
144 | /* ------------------------------------------------------------------------- */ |
144 | /* ------------------------------------------------------------------------- */ |
145 | /* Fill a full line with blanks - make sure it is allocated first */ |
145 | /* Fill a full line with blanks - make sure it is allocated first */ |
146 | void |
146 | void |
147 | rxvt_term::scr_blank_screen_mem (line_t &l, rend_t efs) |
147 | rxvt_term::scr_blank_screen_mem (line_t &l, rend_t efs) const |
148 | { |
148 | { |
149 | scr_blank_line (l, 0, ncol, efs); |
149 | scr_blank_line (l, 0, ncol, efs); |
150 | |
150 | |
151 | l.l = 0; |
151 | l.l = 0; |
152 | l.f = 0; |
152 | l.f = 0; |
… | |
… | |
1811 | * the top of the screen |
1811 | * the top of the screen |
1812 | */ |
1812 | */ |
1813 | void |
1813 | void |
1814 | rxvt_term::scr_move_to (int y, int len) |
1814 | rxvt_term::scr_move_to (int y, int len) |
1815 | { |
1815 | { |
1816 | int p = (top_row - nrow) * (len - y) / len + (nrow - 1); |
1816 | scr_changeview ((top_row - nrow) * (len - y) / len + (nrow - 1)); |
1817 | |
|
|
1818 | scr_changeview (p); |
|
|
1819 | } |
1817 | } |
1820 | |
1818 | |
1821 | /* ------------------------------------------------------------------------- */ |
1819 | /* ------------------------------------------------------------------------- */ |
1822 | /* |
1820 | /* |
1823 | * Page the screen up/down nlines |
1821 | * Page the screen up/down nlines |
… | |
… | |
1836 | bool |
1834 | bool |
1837 | rxvt_term::scr_changeview (int new_view_start) |
1835 | rxvt_term::scr_changeview (int new_view_start) |
1838 | { |
1836 | { |
1839 | clamp_it (new_view_start, top_row, 0); |
1837 | clamp_it (new_view_start, top_row, 0); |
1840 | |
1838 | |
1841 | if (new_view_start != view_start) |
1839 | if (new_view_start == view_start) |
1842 | { |
|
|
1843 | num_scr += new_view_start - view_start; |
|
|
1844 | view_start = new_view_start; |
|
|
1845 | HOOK_INVOKE ((this, HOOK_VIEW_CHANGE, DT_INT, view_start, DT_END)); |
|
|
1846 | want_refresh = 1; |
|
|
1847 | |
|
|
1848 | return true; |
|
|
1849 | } |
|
|
1850 | else |
|
|
1851 | return false; |
1840 | return false; |
|
|
1841 | |
|
|
1842 | num_scr += new_view_start - view_start; |
|
|
1843 | view_start = new_view_start; |
|
|
1844 | HOOK_INVOKE ((this, HOOK_VIEW_CHANGE, DT_INT, view_start, DT_END)); |
|
|
1845 | want_refresh = 1; |
|
|
1846 | |
|
|
1847 | return true; |
1852 | } |
1848 | } |
1853 | |
1849 | |
1854 | /* ------------------------------------------------------------------------- */ |
1850 | /* ------------------------------------------------------------------------- */ |
1855 | void |
1851 | void |
1856 | rxvt_term::scr_bell () |
1852 | rxvt_term::scr_bell () |