-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_refresh.3x,v 1.10 2001/11/03 18:57:12 tom Exp @
+ * @Id: curs_refresh.3x,v 1.15 2010/12/04 18:38:55 tom Exp @
-->
<HTML>
<HEAD>
<HR>
<PRE>
<!-- Manpage converted by man2html 3.0.1 -->
+<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+
+
+
</PRE>
<H2>NAME</H2><PRE>
- <STRONG>doupdate</STRONG>, <STRONG>redrawwin</STRONG>, <STRONG>refresh</STRONG>, <STRONG>wnoutrefresh</STRONG>, <STRONG>wredrawln</STRONG>,
+ <STRONG>doupdate</STRONG>, <STRONG>redrawwin</STRONG>, <STRONG>refresh</STRONG>, <STRONG>wnoutrefresh</STRONG>, <STRONG>wredrawln</STRONG>,
<STRONG>wrefresh</STRONG> - refresh <STRONG>curses</STRONG> windows and lines
minal is left at the location of the cursor for that win-
dow.
- 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
+ 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
- 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.
+ 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
+ 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
+ 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>()
+ 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
+ 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>
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.
+ other curses implementations. Instead, you can do an ex-
+ plicit <STRONG>touchwin()</STRONG> before the <STRONG>wnoutrefresh()</STRONG> call to guar-
+ antee 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>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+ <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
</PRE>
<HR>
<ADDRESS>