123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- .\"***************************************************************************
- .\" 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 *
- .\" "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.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,
- \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
- \fBint begin_y, int begin_x);\fR
- .br
- \fBint prefresh(WINDOW *pad, int pminrow, int pmincol,\fR
- \fBint sminrow, int smincol, int smaxrow, int smaxcol);\fR
- .br
- \fBint pnoutrefresh(WINDOW *pad, int pminrow, int pmincol,\fR
- \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
- 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
- (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
- 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
- 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
- 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,
- \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 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
- \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
- 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
- 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.
- .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
- 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:
|