ABCDEFGHIJKLMNOPQRSTUVWXYZ

newpad

curs_pad(3X)                                                      curs_pad(3X)



NAME
       newpad,  subpad, prefresh, pnoutrefresh, pechochar - create and display
       curses pads

SYNOPSIS
       #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);

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 (e.g., from scrolling or echoing  of  input)  do  not
       occur.  It is not legal to call wrefresh 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, 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 or touchline on orig before calling prefresh.

       The  prefresh  and  pnoutrefresh routines are analogous to wrefresh and
       wnoutrefresh 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 dis-
       played 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 pmin-
       row, pmincol, sminrow, or smincol are treated as if they were zero.

       The  pechochar  routine  is  functionally equivalent to a call to addch
       followed by a call to refresh, a call to waddch followed by a  call  to
       wrefresh,  or  a  call  to  waddch  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 perfor-
       mance 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 VALUE
       Routines that return an integer return ERR upon failure  and  OK  (SVr4
       only  specifies  "an  integer  value  other  than ERR") upon successful
       completion.

       Routines that return pointers return NULL on error, and  set  errno  to
       ENOMEM.

NOTES
       Note that pechochar may be a macro.

PORTABILITY
       The XSI Curses standard, Issue 4 describes these functions.

SEE ALSO
       curses(3X), curs_refresh(3X), curs_touch(3X), curs_addch(3X).



                                                                  curs_pad(3X)