date and time created 85/05/01 18:17:37 by bloom
[unix-history] / usr / src / lib / libcurses / scroll.c
CommitLineData
064c6fd5
KA
1# include "curses.ext"
2
3/*
4 * This routine scrolls the window up a line.
5 *
b1e78d21 6 * @(#)scroll.c 1.5 (Berkeley) %G%
064c6fd5
KA
7 */
8scroll(win)
9reg WINDOW *win; {
10
11 reg char *sp;
12 reg int i;
13 reg char *temp;
14
15 if (!win->_scroll)
16 return ERR;
17 temp = win->_y[0];
ef430c4c
KA
18 for (i = 1; i < win->_maxy; i++)
19 win->_y[i - 1] = win->_y[i];
20 for (sp = temp; sp < &temp[win->_maxx]; )
064c6fd5
KA
21 *sp++ = ' ';
22 win->_y[win->_maxy - 1] = temp;
064c6fd5 23 if (win == curscr) {
b1e78d21 24 _putchar('\n');
064c6fd5
KA
25 if (!NONL)
26 win->_curx = 0;
27# ifdef DEBUG
28 fprintf(outf, "SCROLL: win == curscr\n");
a26deb78 29 fflush(outf);
064c6fd5 30# endif
a26deb78
KM
31 } else {
32 if(win->_cury-- <= 0)
33 win->_cury = 0;
064c6fd5 34# ifdef DEBUG
064c6fd5 35 fprintf(outf, "SCROLL: win [0%o] != curscr [0%o]\n",win,curscr);
a26deb78 36 fflush(outf);
064c6fd5 37# endif
a26deb78 38 }
ef430c4c 39 touchwin(win);
064c6fd5
KA
40 return OK;
41}