CURS_PAD(3CURSES) Curses Library Functions CURS_PAD(3CURSES)
NAME
curs_pad, newpad, subpad, prefresh, pnoutrefresh, pechochar,
pechowchar - create and display curses pads
SYNOPSIS
cc [
flag ... ]
file ...
-lcurses [
library .. ]
#include <curses.h>
WINDOW *newpad(
int nlines,
int ncols);
WINDOW *subpad(
WINDOW *orig,
int nlines,
int ncols,
int begin_y,
int begin_x);
int prefresh(
WINDOW *pad,
int pminrow,
int pmincol,
int sminrow,
int smincol,
int smaxrow,
int smaxcol);
int pnoutrefresh(
WINDOW *pad,
int pminrow,
int pmincol,
int sminrow,
int smincol,
int smaxrow,
int smaxcol);
int pechochar(
WINDOW *pad,
chtype ch);
int pechowchar(
WINDOW *pad,
chtype wch);
DESCRIPTION
The
newpad() routine creates and returns a pointer to a new pad data
structure with the given number of lines,
nlines, and columns,
ncols.
A pad is like a window, except that it is not restricted by the
screen size, and is not necessarily associated with a particular part
of the screen. Pads can be used when a large window is needed, and
only a part of the window will be on the screen at one time.
Automatic refreshes of pads (for example, from scrolling or echoing
of input) do not occur. It is not legal to call
wrefresh(3CURSES) with a
pad as an argument; the routines
prefresh() or
pnoutrefresh() should be called instead. Note that these routines require additional
parameters to specify the part of the pad to be displayed and the
location on the screen to be used for the display.
The
subpad() routine creates and returns a pointer to a subwindow
within a pad with the given number of lines,
nlines, and columns,
ncols. Unlike
subwin(3CURSES), which uses screen coordinates, the
window is at position (
begin_x, begin_y) on the pad. The window is
made in the middle of the window
orig, so that changes made to one
window affect both windows. During the use of this routine, it will
often be necessary to call
touchwin(3CURSES) or
touchline(3CURSES) on
orig before calling
prefresh().
The
prefresh() and
pnoutrefresh() routines are analogous to
wrefresh(3CURSES) and
wnoutrefresh(3CURSES) except that they relate
to pads instead of windows. The additional parameters are needed to
indicate what part of the pad and screen are involved.
pminrow and
pmincol specify the upper left-hand corner of the rectangle to be
displayed in the pad.
sminrow,
smincol,
smaxrow, and
smaxcol specify the edges of the rectangle to be displayed on the screen. The
lower right-hand corner of the rectangle to be displayed in the pad
is calculated from the screen coordinates, since the rectangles must
be the same size. Both rectangles must be entirely contained within
their respective structures. Negative values of
pminrow,
pmincol,
sminrow, or
smincol are treated as if they were zero.
The
pechochar() routine is functionally equivalent to a call to
addch(3CURSES) followed by a call to
refresh(3CURSES), a call to
waddch(3CURSES) followed by a call to
wrefresh(3CURSES), or a call to
waddch(3CURSES) followed by a call to
prefresh(). The knowledge that
only a single character is being output is taken into consideration
and, for non-control characters, a considerable performance gain
might be seen by using these routines instead of their equivalents.
In the case of
pechochar(), the last location of the pad on the
screen is reused for the arguments to
prefresh().
RETURN VALUES
Routines that return an integer return
ERR upon failure and an
integer value other than
ERR upon successful completion.
Routines that return pointers return
NULL on error.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+
|MT-Level | Unsafe |
+---------------+-----------------+
SEE ALSO
addch(3CURSES),
curses(3CURSES),
refresh(3CURSES),
subwin(3CURSES),
touchline(3CURSES),
touchwin(3CURSES),
waddch(3CURSES),
wnoutrefresh(3CURSES),
wrefresh(3CURSES),
attributes(7)NOTES
The header file <
curses.h> automatically includes the header files
<
stdio.h>, <
unctrl.h> and <
widec.h>.
Note that
pechochar() may be a macro.
December 31, 1996 CURS_PAD(3CURSES)