Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
curs_refresh(3CURSES)	   Curses Library Functions	 curs_refresh(3CURSES)

       curs_refresh,  refresh,	wrefresh,  wnoutrefresh,  doupdate, redrawwin,
       wredrawln - refresh curses windows and lines

       cc [ flag ... ] file ...	-lcurses [ library ... ]
       #include	<curses.h>

       int refresh(void);

       int wrefresh(WINDOW *win);

       int wnoutrefresh(WINDOW *win);

       int doupdate(void);

       int redrawwin(WINDOW *win);

       int wredrawln(WINDOW *win, int beg_line,	int num_lines);

       The refresh() and wrefresh()  routines  (or  wnoutrefresh()  and	 doup-
       date()) must be called to get any output	on the terminal, as other rou-
       tines merely manipulate data structures.	The routine wrefresh()	copies
       the  named  window to the physical terminal screen, taking into account
       what is already there in	order to do optimizations. The refresh()  rou-
       tine  is	the same, using	stdscr as the default window. Unless leaveok()
       has been	enabled, the physical cursor of	the terminal is	 left  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  named window to the	virtual	screen,	and then calling doup-
       date(), which compares the virtual screen to the	 physical  screen  and
       does the	actual update. If the programmer wishes	to output several win-
       dows at once, a series of calls to wrefresh()  results  in  alternating
       calls  to wnoutrefresh()	and doupdate(),	causing	several	bursts of out-
       put to the screen. By first calling wnoutrefresh() for each window,  it
       is  then	 possible to call doupdate() once, resulting in	only one burst
       of output, with fewer total characters transmitted and  less  CPU  time
       used. If	the  win argument to wrefresh()	is the global variable curscr,
       the screen is immediately cleared and repainted from scratch.

       The redrawwin() routine indicates to curses that	some screen lines  are
       corrupted  and  should  be  thrown away before anything is written over
       them. These routines could be used for programs such as editors,	 which
       want  a command to redraw some part of the screen or the	entire screen.
       The routine redrawln() is preferred over	redrawwin() where a noisy com-
       munication line exists and redrawing the	entire window could be subject
       to even more communication noise. Just redrawing	 several lines	offers
       the possibility that they would show up unblemished.

       All  routines  return the integer ERR upon failure and an integer value
       other than ERR upon successful completion.

       See attributes(5) for descriptions of the following attributes:

       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       |MT-Level		     |Unsafe			   |

       curs_outopts(3CURSES), curses(3CURSES), attributes(5)

       The header <curses.h> automatically includes the	headers	 <stdio.h> and

       Note that refresh() and redrawwin() may be macros.

SunOS 5.10			  31 Dec 1996		 curs_refresh(3CURSES)


Want to link to this manual page? Use this URL:

home | help