Go to main content

man pages section 3: Curses Library Functions

Exit Print View

Updated: Thursday, June 13, 2019
 
 

touchline(3XCURSES)

Name

is_linetouched, is_wintouched, touchline, touchwin, untouchwin, wtouchln - control window refresh

Synopsis

cc [ flag... ] file... –I /usr/xpg4/include –L /usr/xpg4/lib \
–R /usr/xpg4/lib –lcurses [ library... ]

c89 [ flag... ] file... –lcurses [ library... ]

#include <curses.h>

bool is_linetouched(WINDOW *win, int line);
bool is_wintouched(WINDOW *win);
int touchline(WINDOW *win, int start, int count);
int touchwin(WINDOW *win);
int untouchwin(WINDOW *win);
int wtouchln(WINDOW *win, int y, int n, int changed);

Parameters

win

Is a pointer to the window in which the refresh is to be controlled or monitored.

line

Is the line to be checked for change since refresh.

start

Is the starting line number of the portion of the window to make appear changed.

count

Is the number of lines in the window to mark as changed.

y

Is the starting line number of the portion of the window to make appear changed or not changed.

n

Is the number of lines in the window to mark as changed.

changed

Is a flag indicating whether to make lines look changed (0) or not changed (1).

Description

The touchwin() function marks the entire window as dirty. This makes it appear to X/Open Curses as if the whole window has been changed, thus causing the entire window to be rewritten with the next call to refresh(3XCURSES). This is sometimes necessary when using overlapping windows; the change to one window will not be reflected in the other and, hence will not be recorded.

The touchline() function marks as dirty a portion of the window starting at line start and continuing for count lines instead of the entire window. Consequently, that portion of the window is updated with the next call to refresh().

The untouchwin() function marks all lines in the window as unchanged since the last refresh, ensuring that it is not updated.

The wtouchln() function marks n lines starting at line y as either changed (changed=1) or unchanged (changed=0) since the last refresh.

To find out which lines or windows have been changed since the last refresh, use the is_linetouched() and is_wintouched() functions, respectively. These return TRUE if the specified line or window have been changed since the last call to refresh() or FALSE if no changes have been made.

Return Values

On success, these functions return OK. Otherwise, they return ERR.

Errors

None.

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Unsafe
Standard

See Also

doupdate(3XCURSES), libcurses(3XCURSES), attributes(7), standards(7)