curs_refresh(3)curs_refresh(3)NAME
curs_refresh, doupdate, redrawwin, refresh, wrefresh, wnoutrefresh,
wredrawln - Refresh Curses windows and lines
SYNOPSIS
#include <curses.h>
int doupdate(
void ); int redrawwin(
WINDOW *win ); int refresh(
void ); int wrefresh(
WINDOW *win ); int wnoutrefresh(
WINDOW *win ); int wredrawln(
WINDOW *win,
int beg_line,
int num_lines );
LIBRARY
Curses Library (libcurses)
STANDARDS
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
doupdate, redrawwin, wredrawln, refresh, wrefresh, wnoutre‐
fresh: XCURSES4.2
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
DESCRIPTION
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 struc‐
tures, 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.
NOTES
The header file <curses.h> automatically includes the header file
<stdio.h>.
Note that refresh may be a macro.
RETURN VALUES
All routines return the integer ERR upon failure and OK upon successful
completion.
SEE ALSO
Functions: curses(3), curs_outopts(3)
Others: standards(5)curs_refresh(3)