… | |
… | |
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 = len |
1816 | int p = (top_row - nrow) * (len - y) / len + (nrow - 1); |
1817 | ? (top_row - nrow) * (len - y) / len + (nrow - 1) |
|
|
1818 | : 0; |
1817 | |
1819 | |
1818 | scr_changeview (p); |
1820 | scr_changeview (p); |
1819 | } |
1821 | } |
1820 | |
1822 | |
1821 | /* ------------------------------------------------------------------------- */ |
1823 | /* ------------------------------------------------------------------------- */ |
… | |
… | |
1836 | bool |
1838 | bool |
1837 | rxvt_term::scr_changeview (int new_view_start) |
1839 | rxvt_term::scr_changeview (int new_view_start) |
1838 | { |
1840 | { |
1839 | clamp_it (new_view_start, top_row, 0); |
1841 | clamp_it (new_view_start, top_row, 0); |
1840 | |
1842 | |
1841 | if (new_view_start != view_start) |
1843 | 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; |
1844 | return false; |
|
|
1845 | |
|
|
1846 | num_scr += new_view_start - view_start; |
|
|
1847 | view_start = new_view_start; |
|
|
1848 | HOOK_INVOKE ((this, HOOK_VIEW_CHANGE, DT_INT, view_start, DT_END)); |
|
|
1849 | want_refresh = 1; |
|
|
1850 | |
|
|
1851 | return true; |
1852 | } |
1852 | } |
1853 | |
1853 | |
1854 | /* ------------------------------------------------------------------------- */ |
1854 | /* ------------------------------------------------------------------------- */ |
1855 | void |
1855 | void |
1856 | rxvt_term::scr_bell () |
1856 | rxvt_term::scr_bell () |