X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_pad.3x.html;h=b065000bfd5d5a6619c12a506c4052008eb11a85;hp=fa9c5a45dcaffb7fb536a3e82688d41bb5ed70c3;hb=a90dd7b66fa711acd24d8181ea20e4f57d4b36cd;hpb=ed646e3f683083e787c6ba773364401dc9fa9d40;ds=sidebyside diff --git a/doc/html/man/curs_pad.3x.html b/doc/html/man/curs_pad.3x.html index fa9c5a45..b065000b 100644 --- a/doc/html/man/curs_pad.3x.html +++ b/doc/html/man/curs_pad.3x.html @@ -1,6 +1,7 @@ - + curs_pad 3x - + @@ -74,8 +75,10 @@ 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 re- freshes of pads (e.g., from scrolling or echoing of input) do not oc- - cur. It is not legal to call wrefresh with a pad as an argument; the - routines prefresh or pnoutrefresh should be called instead. Note that + cur. + + It is not legal to call wrefresh with a pad as an argument; the rou- + tines 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. @@ -95,15 +98,19 @@ 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. The pminrow and pmincol parameters specify the - upper left-hand corner of the rectangle to be displayed in the pad. - The sminrow, smincol, smaxrow, and smaxcol 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 pminrow, pmincol, sminrow, or smincol - are treated as if they were zero. + screen are involved. + + o The pminrow and pmincol parameters specify the upper left-hand cor- + ner of the rectangle to be displayed in the pad. + + o The sminrow, smincol, smaxrow, and smaxcol 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 pminrow, pmincol, sminrow, + or smincol are treated as if they were zero.

pechochar

@@ -154,7 +161,70 @@
 
 
 

PORTABILITY

-       The XSI Curses standard, Issue 4 describes these functions.
+       BSD curses has no pad feature.
+
+       SVr2 curses (1986) provided the newpad and related functions, document-
+       ing  them  in  a single line each.  SVr3 (1987) provided more extensive
+       documentation.
+
+       The documentation does not explain the term pad.  However,  the  Apollo
+       Aegis workstation operating system supported a graphical pad feature:
+
+       o   These  graphical pads could be much larger than the computer's dis-
+           play.
+
+       o   The read-only output from a command could be scrolled back  to  in-
+           spect, and select text from the pad.
+
+       The two uses may be related.
+
+       The  XSI  Curses  standard,  Issue 4 describes these functions, without
+       significant change from the SVr3 documentation.  It describes no  error
+       conditions.   The  behavior of subpad if the parent window is not a pad
+       is undocumented, and is not checked by the vendor Unix implementations:
+
+       o   SVr4 curses sets a flag in the WINDOW  structure  in  newpad  which
+           tells if the window is a pad.
+
+           However,  it  uses this information only in waddch (to decide if it
+           should call wrefresh) and wscrl (to avoid  scrolling  a  pad),  and
+           does  not  check  in  wrefresh  to ensure that the pad is refreshed
+           properly.
+
+       o   Solaris X/Open Curses checks if a window is a pad in  wnoutrefresh,
+           returning ERR in that case.
+
+           However,  it only sets the flag for subwindows if the parent window
+           is a pad.  Its newpad function does not set this information.  Con-
+           sequently, the check will never fail.
+
+           It  makes no comparable check in pnoutrefresh, though interestingly
+           enough, a comment in the source code states  that  the  lack  of  a
+           check was an MKS extension.
+
+       o   NetBSD  7 curses sets a flag in the WINDOW structure for newpad and
+           subpad, using this to help with the  distinction  between  wnoutre-
+           fresh and pnoutrefresh.
+
+           It  does  not  check for the case where a subwindow is created in a
+           pad using subwin or derwin.
+
+           The dupwin function returns a regular  window  when  duplicating  a
+           pad.   Likewise,  getwin always returns a window, even if the saved
+           data was from a pad.
+
+       This implementation
+
+       o   sets a flag in the WINDOW structure for newpad and subpad,
+
+       o   allows a subwin or derwin call to succeed having a  pad  parent  by
+           forcing the subwindow to be a pad,
+
+       o   checks  in  both  wnoutrefresh and pnoutrefresh to ensure that pads
+           and windows are handled distinctly, and
+
+       o   ensures that dupwin and getwin treat pads  versus  windows  consis-
+           tently.
 
 
 

SEE ALSO