--- /dev/null
+<HTML>
+<BODY>
+<PRE>
+ <STRONG>refresh</STRONG>, <STRONG>wrefresh</STRONG>, <STRONG>wnoutrefresh</STRONG>, <STRONG>doupdate</STRONG>, <STRONG>redrawwin</STRONG>, <STRONG>wre-</STRONG>
+ <STRONG>drawln</STRONG> - refresh <STRONG>curses</STRONG> windows and lines
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+ <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+
+ <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>
+
+
+</PRE>
+<H2>DESCRIPTION</H2><PRE>
+ The <STRONG>refresh</STRONG> and <STRONG>wrefresh</STRONG> routines (or <STRONG>wnoutrefresh</STRONG> and
+ <STRONG>doupdate</STRONG>) must be called to get actual output to the ter-
+ minal, as other routines merely manipulate data struc-
+ tures. The routine <STRONG>wrefresh</STRONG> copies the named window to
+ the physical terminal screen, taking into account what is
+ already there in order to do optimizations. The <STRONG>refresh</STRONG>
+ routine is the same, using <STRONG>stdscr</STRONG> as the default window.
+ Unless <STRONG>leaveok</STRONG> has been enabled, the physical cursor of
+ the terminal is left at the location of the cursor for
+ that window.
+
+ 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: 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 <STRONG>wrefresh</STRONG> works by first calling <STRONG>wnoutrefresh</STRONG>,
+ which copies the named window to the virtual screen, and
+ then calling <STRONG>doupdate</STRONG>, 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 <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 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 overlap-
+ ping windows; it means that if two windows overlap, you
+ see the section on <STRONG>PORTABILITY</STRONG> below for a warning about
+ exploiting this behavior.)
+
+ The <STRONG>wredrawln</STRONG> routine indicates to <STRONG>curses</STRONG> 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 <STRONG>redrawwin</STRONG>()
+ touches the entire window.
+
+
+</PRE>
+<H2>RETURN VALUE</H2><PRE>
+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure,
+ and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than
+ <STRONG>ERR</STRONG>") upon successful completion.
+
+
+</PRE>
+<H2>NOTES</H2><PRE>
+ Note that <STRONG>refresh</STRONG> and <STRONG>redrawwin</STRONG> may be macros.
+
+
+</PRE>
+<H2>PORTABILITY</H2><PRE>
+ The XSI Curses standard, Issue 4 describes these func-
+ tions.
+
+ Whether <STRONG>wnoutrefresh()</STRONG> copies to the virtual screen the
+ entire contents of a window or just its changed portions
+ has never been well-documented in historic curses versions
+ (including SVr4). It might be unwise to rely on either
+ behavior in programs that might have to be linked with
+ other curses implementations. Instead, you can do an
+ explicit <STRONG>touchwin()</STRONG> before the <STRONG>wnoutrefresh()</STRONG> call to
+ guarantee an entire-contents copy anywhere.
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3X)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3X)</A></STRONG>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</PRE>
+</BODY>
+</HTML>