HPlogo MPE/iX Developer's Kit Reference Manual Volume 2: HP 3000 MPE/iX Computer Systems > Chapter 4 CURSES

touchwin touchline untouchwin wtouchln is_linetouched is_wintouched

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

The touchwin set of routines is used to control the refresh of the window.

Syntax

   #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);



   int is_linetouched(WINDOW *win, int line);

   int is_wintouchwin(WINDOW *win);

Parameters

count

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

changed

A flag indicating whether to make lines look changed (TRUE) or not changed (FALSE).

line

The line to be checked for change since refresh.

n

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

win

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

start

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

y

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

Return Values

OK

Successful completion.

ERR

An error occurred.

Description

The touchwin() routine marks the entire window as dirty. This makes it appear to CURSES as if the whole window has been changed, thus causing the entire window to be rewritten with the next call to wrefresh(). This is sometimes necessary when using overlapping windows; the change to one window is not reflected in the other and, hence is not recorded.

The touchline() routine 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 wrefresh().

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

The wtouchln() routines marks n lines starting at line y as either changed (TRUE) or unchanged (FALSE) 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() commands, respectively. These return TRUE if the specified lines or window have been changed since the last call to wrefresh() or FALSE if no changes have been made.

NOTE: All routines except wtouchln() and is_wintouched() are macros.

Implementation Considerations

The touchwin() routine is identical to XPG/3. The touchline(), untouchwin(), wtouchln(), is_linetouched(), and is_wintouched() routines are UNIX System V implementations.

See Also

wrefresh()

Portability

The touchwin() routine conforms to HP-UX, UNIX System V, and XPG/3. The touchline(), untouchwin(), wtouchln(), is_linetouched(), and is_wintouched() routines conform to UNIX System V.

Feedback to webmaster