X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_refresh.3x.html;h=c16d3389fdb3a31764acdbf3aedc377e1d4da8c4;hb=cccf831ed7c83410c7f6cec2a43e71e9c4278b4c;hp=ad8874992203c2e9a2ae8f8d379bffa4e109b681;hpb=761e4f0825b330e970558e82a4bd638383914429;p=ncurses.git diff --git a/doc/html/man/curs_refresh.3x.html b/doc/html/man/curs_refresh.3x.html index ad887499..c16d3389 100644 --- a/doc/html/man/curs_refresh.3x.html +++ b/doc/html/man/curs_refresh.3x.html @@ -1,7 +1,6 @@ - +
+ +- -curs_refresh(3x) curs_refresh(3x) +curs_refresh(3x) curs_refresh(3x) --
- doupdate, redrawwin, refresh, wnoutrefresh, wredrawln, - wrefresh - refresh curses windows and lines +
+ doupdate, redrawwin, refresh, wnoutrefresh, wredrawln, wrefresh - + refresh curses windows and lines --
+
#include <curses.h> int refresh(void); @@ -63,108 +61,110 @@ int wredrawln(WINDOW *win, int beg_line, int num_lines); --
- The refresh and wrefresh routines (or wnoutrefresh and - doupdate) must be called to get actual output to the ter- - minal, as other routines merely manipulate data struc- - tures. 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 enabled, the physical cursor of the ter- - minal is left at the location of the cursor for that win- - dow. - - The wnoutrefresh and doupdate routines allow multiple up- - dates with more efficiency than wrefresh alone. In addi- - tion 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 doupdate, 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 se- - ries 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, result- - ing in only one burst of output, with fewer total charac- - ters transmitted and less CPU time used. If the win argu- - ment to wrefresh is the global variable curscr, 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 - touched (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 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. - - --
- 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 im- - plementation - - 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. - - --
+
+ +
+ The refresh and wrefresh routines (or wnoutrefresh and doupdate) must + be called to get actual output to the terminal, as other routines mere- + ly manipulate data structures. The routine wrefresh copies the named + window to the physical terminal screen, taking into account what is al- + ready there to do optimizations. The refresh routine is the same, us- + ing 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 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 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 programmer 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 window, it is then pos- + sible 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 phrase "copies the named window to the virtual screen" above is am- + biguous. What actually happens is that all touched (changed) lines in + the window are copied to the virtual screen. This affects programs + that use overlapping windows; it means that if two windows overlap, you + can refresh them in either order and the overlap region will be modi- + fied 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 anything is written over + them. It touches the indicated lines (marking them changed). The rou- + tine redrawwin touches the entire window. + + +
+ Routines that return an integer return ERR upon failure, and OK (SVr4 + only specifies "an integer value other than ERR") upon successful com- + pletion. + + X/Open does not define any error conditions. In this implementation + + wnoutrefresh + returns an error if the window pointer is null, or if the win- + dow is really a pad. + + wredrawln + returns an error if the associated call to touchln returns an + error. + + +
Note that refresh and redrawwin may be macros. --
- The XSI Curses standard, Issue 4 describes these func- - tions. +
+ The XSI Curses standard, Issue 4 describes these functions. - Whether wnoutrefresh() copies to the virtual screen the - entire contents of a window or just its changed portions - 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 ex- - plicit touchwin() before the wnoutrefresh() call to guar- - antee an entire-contents copy anywhere. + Whether wnoutrefresh copies to the virtual screen the entire contents + of a window or just its changed portions 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 touchwin + before the wnoutrefresh call to guarantee an entire-contents copy any- + where. --
+
curses(3x), curs_outopts(3x) curs_variables(3x). - curs_refresh(3x) + curs_refresh(3x)-