wnoutrefresh man page on MirBSD

Man page or keyword search:  
man Server   6113 pages
apropos Keyword Search (all sections)
Output format
MirBSD logo
[printable version]



curs_refresh(3)	    UNIX Programmer's Manual	  curs_refresh(3)

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

SYNOPSIS
     #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);

DESCRIPTION
     The refresh and wrefresh routines (or wnoutrefresh and doup-
     date)  must  be called to get actual output to the terminal,
     as other routines merely  manipulate  data	 structures.  The
     routine  wrefresh	copies	the  named window to the physical
     terminal screen, taking into account what is  already  there
     to	 do optimizations. The refresh routine is the same, using
     stdscr as the default window. Unless leaveok  has	been  en-
     abled,  the  physical  cursor of the terminal is left at the
     location of the cursor for that window.

     The wnoutrefresh and doupdate routines  allow  multiple  up-
     dates  with more efficiency than wrefresh alone. In addition
     to all the window structures, curses keeps two  data  struc-
     tures  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 doupdate, which compares the virtual screen  to
     the  physical screen and does the actual update. If the pro-
     grammer wishes 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. By first calling wnoutrefresh for each win-
     dow, 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 im-
     mediately cleared and repainted from scratch.

     The phrase "copies the named window to the	 virtual  screen"
     above  is	ambiguous.  What  actually  happens  is	 that all
     touched (changed) lines in the window are copied to the vir-
     tual screen. This affects programs that use overlapping win-
     dows; it means that if two windows overlap, you can  refresh

MirOS BSD #10-current	Printed 18.8.2011			1

curs_refresh(3)	    UNIX Programmer's Manual	  curs_refresh(3)

     them in either order and the overlap region will be modified
     only when it is explicitly changed. (But see the section  on
     PORTABILITY  below	 for  a	 warning  about	 exploiting  this
     behavior.)

     The wredrawln routine indicates to curses 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 redrawwin() touches the
     entire window.

RETURN VALUE
     Routines that return an integer return ERR upon failure, and
     OK	 (SVr4	only specifies "an integer value other than ERR")
     upon successful completion.

     X/Open does not define any error conditions. In this  imple-
     mentation

	  wnoutrefresh
	       returns an error if the window pointer is null, or
	       if the window is really a pad.

	  wredrawln
	       returns an error if the associated call to touchln
	       returns an error.

NOTES
     Note that refresh and redrawwin may be macros.

PORTABILITY
     The XSI Curses standard, Issue 4 describes these functions.

     Whether wnoutrefresh() copies to the virtual screen the  en-
     tire  contents  of a window or just its changed portions has
     never been well-documented in historic curses versions  (in-
     cluding 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 touchwin()
     before the	 wnoutrefresh()	 call  to  guarantee  an  entire-
     contents copy anywhere.

SEE ALSO
     curses(3), curs_outopts(3)

MirOS BSD #10-current	Printed 18.8.2011			2

[top]

List of man pages available for MirBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net