-</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 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 ter-
- minal is left at the location of the cursor for that win-
- dow.
-
- The <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG> routines allow multiple up-
- dates with more efficiency than <STRONG>wrefresh</STRONG> alone. In addi-
- tion to all the window structures, <STRONG>curses</STRONG> keeps two data
- structures representing the terminal screen: a physical
- 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 se-
- ries of calls to <STRONG>wrefresh</STRONG> results in alternating calls to
- <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG>, causing several bursts of out-
- put to the screen. By first calling <STRONG>wnoutrefresh</STRONG> for each
- window, it is then possible to call <STRONG>doupdate</STRONG> once, result-
- ing in only one burst of output, with fewer total charac-
- ters transmitted and less CPU time used. If the <EM>win</EM> argu-
- ment 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
- 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.)
-
- 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.
-
- X/Open does not define any error conditions. In this im-
- plementation
-
- <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>NOTES</H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-refresh_wrefresh">refresh/wrefresh</a></H3><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 terminal, as other routines mere-
+ ly manipulate data structures. The routine <STRONG>wrefresh</STRONG> copies the named
+ window to the physical terminal screen, taking into account what is al-
+ ready there to do optimizations. The <STRONG>refresh</STRONG> routine is the same, us-
+ ing <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.
+
+
+</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 struc-
+ tures, <STRONG>curses</STRONG> keeps two data structures representing the terminal
+ screen: a physical 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 pos-
+ sible 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 am-
+ biguous. 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 modi-
+ fied 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 rou-
+ tine <STRONG>redrawwin</STRONG> touches the entire window.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></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 com-
+ pletion.
+
+ X/Open does not define any error conditions. In this implementation
+
+ <STRONG>wnoutrefresh</STRONG>
+ returns an error if the window pointer is null, or if the win-
+ dow 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>