+</PRE><H3><a name="h3-wnoutrefresh_doupdate">wnoutrefresh, doupdate</a></H3><PRE>
+ The <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG> routines allow multiple updates with more
+ efficiency than <STRONG>wrefresh</STRONG> alone. In addition to all the window
+ structures, <STRONG>curses</STRONG> keeps two data structures representing the terminal
+ screen:
+
+ <STRONG>o</STRONG> a <EM>physical</EM> <EM>screen</EM>, describing what is actually on the screen, and
+
+ <STRONG>o</STRONG> a <EM>virtual</EM> <EM>screen</EM>, describing what the programmer wants to have on
+ the screen.
+
+ The routine <STRONG>wrefresh</STRONG> works by
+
+ <STRONG>o</STRONG> first calling <STRONG>wnoutrefresh</STRONG>, which copies the named window to the
+ <EM>virtual</EM> <EM>screen</EM>, and
+
+ <STRONG>o</STRONG> then calling <STRONG>doupdate</STRONG>, which compares the <EM>virtual</EM> <EM>screen</EM> to the
+ <EM>physical</EM> <EM>screen</EM> and does the actual update.
+
+ If the programmer wishes to output several windows at once, a series of
+ calls to <STRONG>wrefresh</STRONG> results in alternating calls to <STRONG>wnoutrefresh</STRONG> and
+ <STRONG>doupdate</STRONG>, causing several bursts of output to the screen. By first
+ calling <STRONG>wnoutrefresh</STRONG> for each window, it is then possible to call
+ <STRONG>doupdate</STRONG> once, resulting in only one burst of output, with fewer total
+ characters transmitted and less CPU time used.
+
+ If the <EM>win</EM> argument to <STRONG>wrefresh</STRONG> is the <EM>physical</EM> <EM>screen</EM> (i.e., the
+ global variable <STRONG>curscr</STRONG>), 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 <EM>touched</EM> (changed) lines
+ in the window are copied to the virtual screen. This affects programs
+ that use overlapping 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
+ <STRONG>PORTABILITY</STRONG> below for a warning about exploiting this behavior.)
+
+
+</PRE><H3><a name="h3-wredrawln_redrawwin">wredrawln, redrawwin</a></H3><PRE>
+ The <STRONG>wredrawln</STRONG> routine indicates to <STRONG>curses</STRONG> that some screen lines are
+ corrupted and should be thrown away before anything is written over
+ them. It touches the indicated lines (marking them changed). The
+ routine <STRONG>redrawwin</STRONG> touches the entire window.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
+ specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ completion.
+
+ X/Open Curses does not specify any error conditions. In this
+ implementation
+
+ <STRONG>wnoutrefresh</STRONG>
+ returns an error if the window pointer is null, or if the
+ window is really a pad.
+
+ <STRONG>wredrawln</STRONG>
+ returns an error if the associated call to <STRONG>touchln</STRONG> returns an
+ error.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>