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

FreeBSD Manual Pages

  
 
  

home | help
curs_touch(3X)			  Library calls 		  curs_touch(3X)

NAME
     touchwin,	touchline, untouchwin, wtouchln, is_linetouched, is_wintouched -
     control terminal output refresh in a curses window

SYNOPSIS
     #include <curses.h>

     int touchline(WINDOW *win, int start, int count);

     int touchwin(WINDOW *win);
     int wtouchln(WINDOW *win, int y, int n, int changed);

     int untouchwin(WINDOW *win);

     bool is_linetouched(WINDOW *win, int line);
     bool is_wintouched(WINDOW *win);

DESCRIPTION
     The touchwin and touchline routines throw away all optimization information
     about which parts of the window have been touched, by pretending  that  the
     entire  window  has  been drawn on.  This is sometimes necessary when using
     overlapping windows, since a change to one window affects the other window,
     but the records of which lines have been changed in the other window do not
     reflect the change.  The routine touchline only pretends that  count  lines
     have been changed, beginning with line start.

     The untouchwin routine marks all lines in the window as unchanged since the
     last call to wrefresh.

     The  wtouchln routine makes n lines in the window, starting at line y, look
     as if they have (changed=1) or have not (changed=0) been changed since  the
     last call to wrefresh.

     The  is_linetouched and is_wintouched routines return TRUE if the specified
     line/window was modified since the last call to  wrefresh;  otherwise  they
     return FALSE.  In addition, is_linetouched returns ERR if line is not valid
     for the given window.

RETURN VALUE
     Functions returning integers return ERR upon failure and OK upon success.

     In ncurses,

	is_linetouched
	     returns ERR if the window pointer is null, or if the line number is
	     outside the window boundaries.

	     The  constant  ERR  is  distinct from TRUE and FALSE, which are the
	     normal return values of this function.  Because  the  function  re-
	     turns  a  bool, returning ERR (which is neither TRUE nor FALSE) may
	     not be supported by the compiler.

	     To provide error-checking and also match the X/Open function proto-
	     type, the ERR is provided by a macro named is_linetouched.  The ac-
	     tual function returns FALSE when it detects an error.

	wtouchln
	     returns ERR if the window pointer is null, or if the line number is
	     outside the window boundaries.

NOTES
     All of these functions except wtouchln may be implemented as macros.

PORTABILITY
     X/Open Curses Issue 4 describes these functions.	It  specifies  no  error
     conditions for them.

     SVr4  describes a successful return value except where "otherwise noted" as
     "an integer value other than ERR".

     SVr4 does not check win to ensure that it is not a null pointer.

HISTORY
     SVr2 (1984) introduced touchwin,

     SVr3  (1987)  added   touchline.	 SVr3.1   later   that	 year	supplied
     is_linetouched, is_wintouched, untouchwin, and wtouchln.

SEE ALSO
     curses(3X), curs_refresh(3X), curs_variables(3X)

ncurses 6.6			   2025-01-18			  curs_touch(3X)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=curs_touch&sektion=3&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help