Copyright (c) 1990, 1995 by Mortice Kern Systems Inc. All Rights Reserved Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
cc [ flag... ] file... -I /usr/xpg4/include -L /usr/xpg4/lib \e -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);
Is a pointer to the window in which the refresh is to be controlled or monitored.
Is the line to be checked for change since refresh.
Is the starting line number of the portion of the window to make appear changed.
Is the number of lines in the window to mark as changed.
Is the starting line number of the portion of the window to make appear changed or not changed.
Is the number of lines in the window to mark as changed.
Is a flag indicating whether to make lines look changed (0) or not changed (1).
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.
On success, these functions return OK. Otherwise, they return ERR.
None.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE ATTRIBUTE VALUE |
Interface Stability Standard |
MT-Level Unsafe |
doupdate(3XCURSES), libcurses(3XCURSES), attributes(5), standards(5)