curs_overlay(3X) curs_overlay(3X)
NAME
overlay, overwrite, copywin - overlay and manipulate overlapped curses windows
SYNOPSIS
#include <curses.h>
int overlay(const WINDOW *srcwin, WINDOW *dstwin);
int overwrite(const WINDOW *srcwin, WINDOW *dstwin);
int copywin(const WINDOW *srcwin, WINDOW *dstwin, int sminrow,
int smincol, int dminrow, int dmincol, int dmaxrow,
int dmaxcol, int overlay);
DESCRIPTION
The overlay and overwrite routines overlay srcwin on top of dstwin. scrwin and dstwin are not required to be the same size; only text
where the two windows overlap is copied. The difference is that overlay is non-destructive (blanks are not copied) whereas overwrite is
destructive.
The copywin routine provides a finer granularity of control over the overlay and overwrite routines. Like in the prefresh routine, a rec-
tangle is specified in the destination window, (dminrow, dmincol) and (dmaxrow, dmaxcol), and the upper-left-corner coordinates of the
source window, (sminrow, smincol). If the argument overlay is true, then copying is non-destructive, as in overlay.
RETURN VALUE
Routines that return an integer return ERR upon failure, and OK (SVr4 only specifies "an integer value other than ERR") upon successful
completion.
X/Open defines no error conditions. In this implementation, copywin, overlay and overwrite return an error if either of the window point-
ers are null, or if some part of the window would be placed off-screen.
NOTES
Note that overlay and overwrite may be macros.
PORTABILITY
The XSI Curses standard, Issue 4 describes these functions (adding the const qualifiers). It further specifies their behavior in the pres-
ence of characters with multibyte renditions (not yet supported in this implementation).
SEE ALSO
curses(3X), curs_pad(3X), curs_refresh(3X)
curs_overlay(3X)