|
|
1.1 ! root 1: /* @(#) _dellines.c: 1.1 10/15/83 (1.21 2/11/83) */ ! 2: ! 3: #include "curses.ext" ! 4: ! 5: char *tparm(); ! 6: ! 7: extern int _outch(); ! 8: ! 9: _dellines (n) ! 10: { ! 11: register int i; ! 12: ! 13: #ifdef DEBUG ! 14: if(outf) fprintf(outf, "_dellines(%d).\n", n); ! 15: #endif ! 16: if (lines - SP->phys_y <= n && (clr_eol && n == 1 || clr_eos)) { ! 17: tputs(clr_eos, n, _outch); ! 18: } else ! 19: if (scroll_forward && SP->phys_y == SP->des_top_mgn /* &&costSF<costDL */) { ! 20: /* ! 21: * Use forward scroll mode of the terminal, at ! 22: * the bottom of the window. Linefeed works ! 23: * too, since we only use it from the bottom line. ! 24: */ ! 25: _setwind(); ! 26: for (i = n; i > 0; i--) { ! 27: _pos(SP->des_bot_mgn, 0); ! 28: tputs(scroll_forward, 1, _outch); ! 29: SP->ml_above++; ! 30: } ! 31: if (SP->ml_above + lines > lines_of_memory) ! 32: SP->ml_above = lines_of_memory - lines; ! 33: } else if (parm_delete_line && (n>1 || *delete_line==0)) { ! 34: tputs(tparm(parm_delete_line, n, SP->phys_y), lines-SP->phys_y, _outch); ! 35: } ! 36: else if (change_scroll_region && *delete_line==0) { ! 37: /* vt100: fake delete_line by changing scrolling region */ ! 38: /* Save since change_scroll_region homes cursor */ ! 39: tputs(save_cursor, 1, _outch); ! 40: tputs(tparm(change_scroll_region, ! 41: SP->phys_y, SP->des_bot_mgn), 1, _outch); ! 42: /* go to bottom left corner.. */ ! 43: tputs(tparm(cursor_address, SP->des_bot_mgn, 0), 1, _outch); ! 44: for (i=0; i<n; i++) /* .. and scroll n times */ ! 45: tputs(scroll_forward, 1, _outch); ! 46: /* restore scrolling region */ ! 47: tputs(tparm(change_scroll_region, ! 48: SP->des_top_mgn, SP->des_bot_mgn), 1, _outch); ! 49: tputs(restore_cursor, 1, _outch); /* put SP->curptr back */ ! 50: SP->phys_top_mgn = SP->des_top_mgn; ! 51: SP->phys_bot_mgn = SP->des_bot_mgn; ! 52: } ! 53: else { ! 54: for (i = 0; i < n; i++) ! 55: tputs(delete_line, lines-SP->phys_y, _outch); ! 56: } ! 57: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.