X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_pad.3x.html;h=70378c52dc6498fd6f178ba8befd9b64209580fe;hp=fa9c5a45dcaffb7fb536a3e82688d41bb5ed70c3;hb=9193d076200365eeb5ff932acdbbdcc5e452292c;hpb=ed646e3f683083e787c6ba773364401dc9fa9d40;ds=sidebyside diff --git a/doc/html/man/curs_pad.3x.html b/doc/html/man/curs_pad.3x.html index fa9c5a45..70378c52 100644 --- a/doc/html/man/curs_pad.3x.html +++ b/doc/html/man/curs_pad.3x.html @@ -1,6 +1,6 @@
- +@@ -154,7 +160,70 @@
- 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.