curs_overlay(3X) curs_overlay(3X)
curs_overlay: overlay, overwrite, copywin - overlap and manipulate
overlapped curses windows
#include <curses.h>
int overlay(WINDOW *srcwin, WINDOW *dstwin);
int overwrite(WINDOW *srcwin, WINDOW *dstwin);
int copywin(WINDOW *srcwin, WINDOW *dstwin, int sminrow,
int smincol, int dminrow, int dmincol, int dmaxrow,
int dmaxcol, int overlay);
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
rectangle 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.
Routines that return an integer return ERR upon failure and an integer
value other than ERR upon successful completion.
The header file <curses.h> automatically includes the header files
<stdio.h> and <unctrl.h>.
Note that overlay and overwrite may be macros.
curses(3X), curs_pad(3X), curs_refresh(3X)
Page 1
overlay(3G) overlay(3G)
overlay - allocates bitplanes for display of overlay colors
void overlay(planes)
long planes;
planes expects the number of bitplanes to be allocated for overlay
colors. Acceptable values are 0, 2, 4, and 8.
The IRIS physical framebuffer is divided into four separate GL
framebuffers: normal, popup, overlay, underlay. Because a single
physical framebuffer is used to implement the four GL framebuffers,
bitplanes must be allocated among the GL framebuffers. overlay specifies
the number of bitplanes to be allocated to the overlay framebuffer.
overlay does not take effect immediately. Rather, it is considered only
when gconfig is called, at which time all requests for bitplane resources
are resolved.
While only one of the four GL framebuffers can be drawn to at a time (see
drawmode), all four are displayed simultaneously. The decision of which
bitplane to display at each pixel is made based on the contents of the
four framebuffers at that pixel location, using the following
hierarchical rule:
if the popup pixel contents are non-zero
then display the popup bitplanes
else if overlay bitplanes are allocated AND
the overlay pixel contents are non-zero
then display the overlay bitplanes
else if the normal pixel contents are non-zero OR
no underlay bitplanes are allocated
then display the normal bitplanes
else display the underlay bitplanes
Thus images drawn into the overlay framebuffer appear over images in the
normal framebuffer, and images drawn into the underlay framebuffer appear
under images in the normal framebuffer. Popup images appear over
everything else.
The default configuration of the overlay framebuffer is: single buffer,
color map mode. To make a change to this configuration other than to
change the bitplane size, the drawing mode must be OVERDRAW. For
example, the overlay framebuffer can be configured to be double buffered
Page 1
overlay(3G) overlay(3G)
by calling doublebuffer while draw mode is OVERDRAW.
On models that cannot support overlay and underlay bitplanes
simultaneously, calling overlay with a non-zero argument forces underlay
to zero. When simultaneous overlay and underlay operation is supported,
calling overlay may have no effect on the number of underlay bitplanes.
doublebuffer, drawmode, gconfig, getgdesc, singlebuffer, underlay
This routine is available only in immediate mode.
IRIS-4D G, GT, and GTX models, Personal Iris, Indy, XL, XS, XS24, XZ,
Elan and Extreme systems support only single buffered, color map mode
overlay bitplanes.
The Personal Iris supports 0 or 2 overlay bitplanes. There are no
overlay or underlay bitplanes in the minimum configuration of the
Personal Iris.
IRIS-4D60G and 4D70G support 2 overlay bitplanes and 2 pop-up bitplanes.
The Indy and XL supports 0 or 8 overlay and 2 pop-up bitplanes.
IRIS-4DG, GT, and GTX models, XS, XS24, and Elan support 0, 2, or 4
overlay bitplanes. Because 4-bitplane allocation reduces the popup
framebuffer to zero bitplanes, however, its use is strongly discouraged.
The window manager cannot operate properly when no popup bitplanes are
available.
IRIS-4D VGX models support 0, 2, 4, or 8 overlay bitplanes, either single
or double buffered, in color map mode only. The 4 and 8 bitplane
allocations utilize the alpha bitplanes, which must be present, and which
therefore are unavailable in draw mode NORMALDRAW.
IRIS Entry does not support overlay bitplanes.
Use getgdesc to determine the maximum number of bitplanes supported for
the overlay framebuffer.
Iris Entry does not support overlay so getgdesc returns zero for the
number of overlay bitplanes on Iris Entry systems.
The Personal Iris does not support shade model GOURAUD in the overlay
framebuffer.
PPPPaaaaggggeeee 2222 [ Back ]
|