|
|
1.1 root 1: /* @(#) _scrdown.c: 1.1 10/15/83 (1.9 10/27/82) */
2:
3: #include "curses.ext"
4:
5: /*
6: * Scroll the screen down (e.g. in the normal direction of text) one line
7: * physically, and update the internal notion of what's on the screen
8: * (SP->cur_body) to know about this. Do it in such a way that we will
9: * realize this has been done later and take advantage of it.
10: */
11: _scrdown()
12: {
13: struct line *old_d, *old_p;
14: register int i, l=lines;
15:
16: #ifdef DEBUG
17: if(outf)
18: {
19: fprintf(outf, "_scrdown()\n");
20: fprintf( outf, "\tDoing _pos( %d, 0 )\n", lines - 1 );
21: fprintf( outf, "\tDoing _scrollf(1)\n" );
22: }
23: #endif
24:
25: /* physically... */
26: _pos(lines-1, 0);
27: _scrollf(1);
28:
29: /* internally */
30: old_d = SP->std_body[1];
31: old_p = SP->cur_body[1];
32: #ifdef DEBUG
33: if(outf)
34: {
35: fprintf( outf, "lines = l = %d\n", l );
36: }
37: #endif DEBUG
38:
39: for( i=1; i<=l; i++ )
40: {
41: SP->std_body[i] = SP->std_body[i+1];
42: SP->cur_body[i] = SP->cur_body[i+1];
43: }
44: SP->std_body[1] = NULL;
45: SP->cur_body[1] = NULL;
46: _line_free(old_d);
47: if( old_d != old_p )
48: {
49: _line_free(old_p);
50: }
51: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.