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	infor-
       mation 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	speci-
       fied line/window	was modified since the last call to  wrefresh;	other-
       wise  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  suc-
       cess.

       In ncurses,

	  is_linetouched
	       returns	ERR if the window pointer is null, or if the line num-
	       ber 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
	       returns 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
	       prototype, the ERR is provided by a macro named is_linetouched.
	       The actual function returns FALSE when it detects an error.

	  wtouchln
	       returns ERR if the window pointer is null, or if	the line  num-
	       ber 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