X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Fcurs_pad.3x;h=1b427e1002b5ca00b71e64db6f489521e8511924;hp=18969c94e3e51108d2d72c17369a72bd64995c88;hb=5eb177874dea59107a1a2ea44f5d8f5bb99550b2;hpb=3a9b6a3bf0269231bef7de74757a910dedd04e0c diff --git a/man/curs_pad.3x b/man/curs_pad.3x index 18969c94..1b427e10 100644 --- a/man/curs_pad.3x +++ b/man/curs_pad.3x @@ -1,82 +1,162 @@ +.\"*************************************************************************** +.\" Copyright (c) 1998-2015,2017 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 * +.\" "Software"), to deal in the Software without restriction, including * +.\" without limitation the rights to use, copy, modify, merge, publish, * +.\" distribute, distribute with modifications, sublicense, and/or sell * +.\" copies of the Software, and to permit persons to whom the Software is * +.\" furnished to do so, subject to the following conditions: * +.\" * +.\" The above copyright notice and this permission notice shall be included * +.\" in all copies or substantial portions of the Software. * +.\" * +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * +.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * +.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * +.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * +.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * +.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * +.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * +.\" * +.\" Except as contained in this notice, the name(s) of the above copyright * +.\" holders shall not be used in advertising or otherwise to promote the * +.\" sale, use or other dealings in this Software without prior written * +.\" authorization. * +.\"*************************************************************************** +.\" +.\" $Id: curs_pad.3x,v 1.19 2017/01/07 19:25:15 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 \fR - -\fBWINDOW *newpad(int nlines, int ncols);\fR +.sp +\fBWINDOW *newpad(int \fP\fInlines\fP\fB, int \fP\fIncols\fP\fB);\fR .br -\fBWINDOW *subpad(WINDOW *orig, int nlines, int ncols, - int begin_y, int begin_x);\fR +\fBWINDOW *subpad(WINDOW *\fP\fIorig\fP\fB, int \fP\fInlines\fP\fB, int \fP\fIncols\fP\fB,\fR + \fBint \fP\fIbegin_y\fP\fB, int \fP\fIbegin_x\fP\fB);\fR .br -\fBint prefresh(WINDOW *pad, int pminrow, int pmincol, - int sminrow, int smincol, int smaxrow, int smaxcol);\fR +\fBint prefresh(WINDOW *\fP\fIpad\fP\fB, int \fP\fIpminrow\fP\fB, int \fP\fIpmincol\fP\fB,\fR + \fBint \fP\fIsminrow\fP\fB, int \fP\fIsmincol\fP\fB, int \fP\fIsmaxrow\fP\fB, int \fP\fIsmaxcol\fP\fB);\fR .br -\fBint pnoutrefresh(WINDOW *pad, int pminrow, int pmincol, - int sminrow, int smincol, int smaxrow, int smaxcol);\fR +\fBint pnoutrefresh(WINDOW *\fP\fIpad\fP\fB, int \fP\fIpminrow\fP\fB, int \fP\fIpmincol\fP\fB,\fR + \fBint \fP\fIsminrow\fP\fB, int \fP\fIsmincol\fP\fB, int \fP\fIsmaxrow\fP\fB, int \fP\fIsmaxcol\fP\fB);\fR .br -\fBint pechochar(WINDOW *pad, chtype ch);\fR +\fBint pechochar(WINDOW *\fP\fIpad\fP\fB, chtype \fP\fIch\fP\fB);\fR +.br +\fBint pecho_wchar(WINDOW *\fP\fIpad\fP\fB, const cchar_t *\fP\fIwch\fP\fB);\fR .SH DESCRIPTION +.SS newpad 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. - +.SS subpad +.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. - +.SS prefresh, pnoutrefresh +.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, -\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 +of windows. +The additional parameters are needed to indicate what part of the +pad and screen are involved. +The \fIpminrow\fR and \fIpmincol\fR parameters specify the upper +left-hand corner of the rectangle to be displayed in the pad. +The \fIsminrow\fR, +\fIsmincol\fR, \fIsmaxrow\fR, and \fIsmaxcol\fR +parameters 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 +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. - +.SS pechochar +.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 +followed by a call to \fBrefresh\fR(3X), 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. +.SS pecho_wchar +.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 3 +.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 The XSI Curses standard, Issue 4 describes these functions. .SH SEE ALSO \fBcurses\fR(3X), \fBcurs_refresh\fR(3X), \fBcurs_touch\fR(3X), \fBcurs_addch\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: