# curs_touch 3x

    curs_touch(3x)                                           curs_touch(3x)

## NAME

           touchwin, touchline, untouchwin, wtouchln, is_linetouched,
           is_wintouched - curses refresh control routines

## SYNOPSIS

           #include <curses.h>
           int touchwin(WINDOW *win);
           int touchline(WINDOW *win, int start, int count);
           int untouchwin(WINDOW *win);
           int wtouchln(WINDOW *win, int y, int n, int changed);
           bool is_linetouched(WINDOW *win, int line);
           bool is_wintouched(WINDOW *win);

## DESCRIPTION

           The touchwin and touchline routines throw away  all  opti-
           mization  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 addi-
           tion, is_linetouched returns ERR if line is not valid  for
           the given window.

## RETURN VALUE

           All  routines  return  the integer ERR upon failure and an
           integer value other than ERR upon  successful  completion,
           unless  otherwise  noted in the preceding routine descrip-
           tions.

           X/Open does not define any error conditions.  In this  im-
           plementation

                  is_linetouched
                       returns  an  error  if  the  window pointer is
                       null, or if the line  number  is  outside  the
                       window.   Note  that ERR is distinct from TRUE
                       and FALSE, which are the normal return  values
                       of this function.

                  wtouchln
                       returns  an  error  if  the  window pointer is
                       null, or if the line  number  is  outside  the
                       window.

## PORTABILITY

           The  XSI  Curses  standard,  Issue 4 describes these func-
           tions.

           Some historic curses implementations had,  as  an  undocu-
           mented  feature,  the  ability  to  do  the  equivalent of
           clearok(..., 1) by saying touchwin(stdscr)  or  clear(std-
           scr).  This will not work under ncurses.

## NOTES

           Note that all routines except wtouchln may be macros.

## SEE ALSO

           curses(3x), curs_refresh(3x), curs_variables(3x).

                                                             curs_touch(3x)