Provided by: ncurses-doc_6.1+20190803-1ubuntu1_all bug


       scroll, scrl, wscrl - scroll a curses window


       #include <curses.h>

       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 scrollok.


       These  routines  return  ERR  upon  failure, and OK (SVr4 only specifies "an integer value
       other than ERR") upon successful completion.

       X/Open defines no error conditions.

       This implementation returns an error if the window pointer is null, or if scrolling is not
       enabled in the window, e.g., with scrollok.


       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, to leave open the
       possibility of smarter optimization of multiple scroll actions on the next update.

       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.


       ncurses(3NCURSES), outopts(3NCURSES)