scroll, scrl, wscrl - scroll a curses window
int scroll(WINDOW *win);
int scrl(int n);
int wscrl(WINDOW *win, int n);
The scroll routine scrolls the window up one line. This
involves moving the lines in the window data structure.
As an optimization, if the scrolling region of the window
is the entire screen, the physical screen may be scrolled
at the same time.
For positive n, the scrl and wscrl routines scroll the
window up n lines (line i+n becomes i); otherwise scroll
the window down n lines. This involves moving the lines
in the window character image structure. The current cursor
position is not changed.
For these functions to work, scrolling must be enabled via
These routines return ERR upon failure, and OK (SVr4 only
specifies "an integer value other than ERR") upon successful
Note that scrl and scroll may be macros.
The SVr4 documentation says that the optimization of physically
scrolling immediately if the scroll region is the
entire screen "is" performed, not "may be" performed.
This implementation deliberately does not guarantee that
this will occur, in order to leave open the possibility of
smarter optimization of multiple scroll actions on the
Neither the SVr4 nor the XSI documentation specify whether
the current attribute or current color-pair of blanks generated
by the scroll function is zeroed. Under this
implementation it is.
The XSI Curses standard, Issue 4 describes these functions.
[ Back ]