curs_refresh, doupdate, redrawwin, refresh, wrefresh,
wnoutrefresh, wredrawln - Refresh Curses windows and lines
void ); int redrawwin(
WINDOW *win ); int refresh(
void ); int wrefresh(
WINDOW *win ); int wnoutrefresh(
WINDOW *win ); int wredrawln(
int num_lines );
Curses Library (libcurses)
Interfaces documented on this reference page conform to
industry standards as follows:
doupdate, redrawwin, wredrawln, refresh, wrefresh,
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
Applications must call the refresh and wrefresh routines
(or the wnoutrefresh and doupdate routines) to get any
output on the terminal. Other Curses routines only manipulate
data structures. The wrefresh routine copies the
specified window to the physical terminal screen, taking
into account what is already there in order to do optimizations.
The refresh routine does the same operation on
stdscr. Unless leaveok is enabled, Curses leaves the
physical cursor of the terminal at the location of the
cursor for that window.
The wnoutrefresh and doupdate routines allow multiple
updates with more efficiency than wrefresh alone. In addition
to all the window structures, Curses 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 wrefresh works by first calling wnoutrefresh,
which copies the specified window to the virtual screen,
and then calling doupdate, which compares the virtual
screen to the physical screen and does the actual update.
If the programmer wants to output several windows at once,
a series of calls to wrefresh results in alternating calls
to wnoutrefresh and doupdate, causing several bursts of
output to the screen. If the program first calls wnoutrefresh
for each window, it is then possible to call doupdate
once, resulting in only one burst of output, with
transmission of fewer characters overall and less use of
CPU time. If the win argument to wrefresh is the global
variable curscr, Curses immediately clears the screen and
repaints the window from scratch.
The redrawwin routine tells Curses that some screen lines
are corrupted and should be thrown away before anything is
written over them. This routine could be used in programs,
such as editors, that need a command to redraw some part
of the screen or the entire screen. The routine redrawln
is preferred over redrawwin where a noisy communication
line exists, and redrawing the entire window could be subject
to even more communication noise. In this case,
redrawing only several lines offers the possibility that
they would appear unblemished.
The header file <curses.h> automatically includes the
header file <stdio.h>.
Note that refresh may be a macro.
All routines return the integer ERR upon failure and OK
upon successful completion.
Functions: curses(3), curs_outopts(3)
[ Back ]