ncurses 5.6 - patch 20081012
[ncurses.git] / man / curs_pad.3x
index 35138f120336b1b53cda8c5ff83d576d48252e19..c7222074ebeb07dbaee49ccc4f0d32494f23c73e 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 1998-2004,2005 Free Software Foundation, Inc.              *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_pad.3x,v 1.8 1998/12/26 20:09:03 tom Exp $
+.\" $Id: curs_pad.3x,v 1.14 2005/05/15 16:18:43 tom Exp $
 .TH curs_pad 3X ""
+.na
+.hy 0
 .SH NAME
-\fBnewpad\fR, \fBsubpad\fR, \fBprefresh\fR,
-\fBpnoutrefresh\fR, \fBpechochar\fR - create and display \fBcurses\fR
-pads
+\fBnewpad\fR,
+\fBsubpad\fR,
+\fBprefresh\fR,
+\fBpnoutrefresh\fR,
+\fBpechochar\fR,
+\fBpecho_wchar\fR - create and display \fBcurses\fR pads
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBWINDOW *newpad(int nlines, int ncols);\fR
 .br
 \fBWINDOW *subpad(WINDOW *orig, int nlines, int ncols,\fR
@@ -47,56 +54,100 @@ pads
       \fBint sminrow, int smincol, int smaxrow, int smaxcol);\fR
 .br
 \fBint pechochar(WINDOW *pad, chtype ch);\fR
+.br
+\fBint pecho_wchar(WINDOW *pad, const cchar_t *wch);\fR
 .SH DESCRIPTION
 The \fBnewpad\fR routine creates and returns a pointer to a new pad data
 structure with the given number of lines, \fInlines\fR, and columns,
-\fIncols\fR.  A pad is like a window, except that it is not restricted by the
+\fIncols\fR.
+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
-(\fIe\fR.\fIg\fR., from scrolling or echoing of input) do not occur.  It is not
+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
+(e.g., from scrolling or echoing of input) do not occur.
+It is not
 legal to call \fBwrefresh\fR with a \fIpad\fR as an argument; the routines
-\fBprefresh\fR or \fBpnoutrefresh\fR should be called instead.  Note that these
+\fBprefresh\fR or \fBpnoutrefresh\fR 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.
-
+.PP
 The \fBsubpad\fR routine creates and returns a pointer to a subwindow within a
 pad with the given number of lines, \fInlines\fR, and columns, \fIncols\fR.
 Unlike \fBsubwin\fR, which uses screen coordinates, the window is at position
-(\fIbegin\fR_\fIx\fR\fB,\fR \fIbegin\fR_\fIy\fR) on the pad.  The window is
+(\fIbegin\fR_\fIx\fR\fB,\fR \fIbegin\fR_\fIy\fR) on the pad.
+The window is
 made in the middle of the window \fIorig\fR, so that changes made to one window
-affect both windows.  During the use of this routine, it will often be
+affect both windows.
+During the use of this routine, it will often be
 necessary to call \fBtouchwin\fR or \fBtouchline\fR on \fIorig\fR before
 calling \fBprefresh\fR.
-
+.PP
 The \fBprefresh\fR and \fBpnoutrefresh\fR routines are analogous to
 \fBwrefresh\fR and \fBwnoutrefresh\fR 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.  \fIpminrow\fR and \fIpmincol\fR specify the upper
-left-hand corner of the rectangle to be displayed in the pad.  \fIsminrow\fR,
+of windows.
+The additional parameters are needed to indicate what part of the
+pad and screen are involved.
+\fIpminrow\fR and \fIpmincol\fR specify the upper
+left-hand corner of the rectangle to be displayed in the pad.
+\fIsminrow\fR,
 \fIsmincol\fR, \fIsmaxrow\fR, and \fIsmaxcol\fR specify the edges of the
-rectangle to be displayed on the screen.  The lower right-hand corner 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
+since the rectangles must be the same size.
+Both rectangles must be entirely
+contained within their respective structures.
+Negative values of
 \fIpminrow\fR, \fIpmincol\fR, \fIsminrow\fR, or \fIsmincol\fR are treated as if
 they were zero.
-
+.PP
 The \fBpechochar\fR routine is functionally equivalent to a call to \fBaddch\fR
 followed by a call to \fBrefresh\fR, a call to \fBwaddch\fR followed by a call
 to \fBwrefresh\fR, or a call to \fBwaddch\fR followed by a call to
-\fBprefresh.\fR The knowledge that only a single character is being output is
+\fBprefresh\fR.
+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 \fBpechochar\fR, the last location of the pad on
+equivalents.
+In the case of \fBpechochar\fR, the last location of the pad on
 the screen is reused for the arguments to \fBprefresh\fR.
+.PP
+The \fBpecho_wchar\fR function is the analogous wide-character
+form of \fBpechochar\fR.
+It outputs one character to a pad and immediately refreshes the pad.
+It does this by a call to \fBwadd_wch\fR followed by a call to \fBprefresh\fR.
 .SH RETURN VALUE
 Routines that return an integer return \fBERR\fR upon failure and \fBOK\fR
 (SVr4 only specifies "an integer value other than \fBERR\fR") upon successful
 completion.
-
+.PP
 Routines that return pointers return \fBNULL\fR on error, and set \fBerrno\fR
-to \fBENOMEM\fR.  
+to \fBENOMEM\fR.
+.PP
+X/Open does not define any error conditions.
+In this implementation
+.RS
+.TP 5
+\fBprefresh\fP and \fBpnoutrefresh\fP
+return an error
+if the window pointer is null, or
+if the window is not really a pad or
+if the area to refresh extends off-screen or
+if the minimum coordinates are greater than the maximum.
+.TP 5
+\fBpechochar\fP
+returns an error
+if the window is not really a pad, and the associated call
+to \fBwechochar\fP returns an error.
+.TP 5
+\fBpecho_wchar\fP
+returns an error
+if the window is not really a pad, and the associated call
+to \fBwecho_wchar\fP returns an error.
+.RE
 .SH NOTES
 Note that \fBpechochar\fR may be a macro.
 .SH PORTABILITY