- The <B>wnoutrefresh</B> and <B>doupdate</B> routines allow multiple
- updates with more efficiency than <B>wrefresh</B> alone. In
- addition to all the window structures, <B>curses</B> keeps two
- data structures representing the terminal screen: a physi-
- cal screen, describing what is actually on the screen, and
- a virtual screen, describing what the programmer wants to
- have on the screen.
-
- The routine <B>wrefresh</B> works by first calling <B>wnoutrefresh</B>,
- which copies the named window to the virtual screen, and
- then calling <B>doupdate</B>, which compares the virtual screen
- to the physical screen and does the actual update. If the
- programmer wishes to output several windows at once, a
- series of calls to <B>wrefresh</B> results in alternating calls
- to <B>wnoutrefresh</B> and <B>doupdate</B>, causing several bursts of
- output to the screen. By first calling <B>wnoutrefresh</B> for
- each window, it is then possible to call <B>doupdate</B> once,
- resulting in only one burst of output, with fewer total
- characters transmitted and less CPU time used. If the <I>win</I>
- argument to <B>wrefresh</B> is the global variable <B>curscr</B>, the
- screen is immediately cleared and repainted from scratch.
-
- The phrase "copies the named window to the virtual screen"
- above is ambiguous. What actually happens is that all
- <I>touched</I> (changed) lines in the window are copied to the
- virtual screen. This affects programs that use overlap-
- ping windows; it means that if two windows overlap, you
- can refresh them in either order and the overlap region
- will be modified only when it is explicitly changed. (But
- see the section on <B>PORTABILITY</B> below for a warning about
- exploiting this behavior.)
-
- The <B>wredrawln</B> routine indicates to <B>curses</B> that some screen
- lines are corrupted and should be thrown away before any-
- thing is written over them. It touches the indicated
- lines (marking them changed). The routine <B>redrawwin</B>()
- touches the entire window.
+ <STRONG>int</STRONG> <STRONG>refresh(void);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wrefresh(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wnoutrefresh(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>doupdate(void);</STRONG>
+ <STRONG>int</STRONG> <STRONG>redrawwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wredrawln(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>beg_line,</STRONG> <STRONG>int</STRONG> <STRONG>num_lines);</STRONG>