CURSES_TOUCH(3)

CURSES_TOUCH(3) | Library Functions Manual | CURSES_TOUCH(3)

# NAME

`curses_touch`, `touchline`, `touchoverlap`, `touchwin`, `untouchwin`, `wtouchln`, `is_linetouched`, `is_wintouched`, `redrawwin`, `wredrawln`, `syncok`, `wsyncup`, `wsyncdown` —
curses window modification routines

# LIBRARY

Curses Library (libcurses, -lcurses)

# SYNOPSIS

`#include <curses.h>`

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

int
`touchoverlap`(WINDOW *win1, WINDOW *win2);

int
`touchwin`(WINDOW *win);

int
`untouchwin`(WINDOW *win);

int
`wtouchln`(WINDOW *win, int line, int n, boolf changed);

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

bool
`is_wintouched`(WINDOW *win);

int
`redrawwin`(WINDOW *win);

int
`wredrawln`(WINDOW *win, int line, int n);

int
`syncok`(WINDOW *win);

void
`wsyncup`(WINDOW *win);

void
`wsyncdown`(WINDOW *win);

# DESCRIPTION

These functions mark lines and windows as modified and check the modification status of lines and windows.

The `touchline`() function marks count lines starting from start in window win as having been modified. These characters will be synced to the terminal on the next call to `wrefresh`().

The `touchoverlap`() function marks the portion of win2 that overlaps win1 as being modified.

The `touchwin`() function marks the entire window win as having been modified. Conversely, the `untouchwin`() function marks the window win as being unmodified, so that any changes made to that window will not be synced to the terminal during a `wrefresh`().

The `wtouchln`() function performs one of two operations on n lines starting at line in the given window. If changed is 1 then the given line range is marked as being modified, if changed is 0 then the given line range is set to being unmodified.

The `is_linetouched`() function returns `TRUE` if line in window win has been modified since the last refresh was done, otherwise `FALSE` is returned.

`is_wintouched`() returns `TRUE` if the window win has been modified since the last refresh, otherwise `FALSE` is returned.

The `redrawwin`() function marks the entire window win as having been corrupted. Is is equivalent to the `touchwin`() function.

The `wredrawln`() function marks n lines starting at line in the given window as corrupted. It is equivalent to `wtouchln`(win, line, n, 1).

The `syncok`() function determines whether all the ancestors of the specified window are implicitly touched whenever there is a change in the window. The initial state is `FALSE`.

The `wsyncup`() function touches all ancestors of win.

The `wsyncdown`() function touches win if any of its ancestors is touched.

# RETURN VALUES

Functions returning pointers will return `NULL` if an error is detected. The functions that return an int will return one of the following values:

`OK`
  The function completed successfully.
`ERR`
  An error occurred in the function.

# SEE ALSO

curses_refresh(3)

# STANDARDS

The NetBSD Curses library complies with the X/Open Curses specification, part of the Single Unix Specification.

# HISTORY

The Curses package appeared in 4.0BSD.

January 2, 2017 | NetBSD 10.0