| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 | 
							- /* PDCurses */
 
- #include <curspriv.h>
 
- /*man-start**************************************************************
 
- clear
 
- -----
 
- ### Synopsis
 
-     int clear(void);
 
-     int wclear(WINDOW *win);
 
-     int erase(void);
 
-     int werase(WINDOW *win);
 
-     int clrtobot(void);
 
-     int wclrtobot(WINDOW *win);
 
-     int clrtoeol(void);
 
-     int wclrtoeol(WINDOW *win);
 
- ### Description
 
-    erase() and werase() copy blanks (i.e. the background chtype) to
 
-    every cell of the window.
 
-    clear() and wclear() are similar to erase() and werase(), but they
 
-    also call clearok() to ensure that the the window is cleared on the
 
-    next wrefresh().
 
-    clrtobot() and wclrtobot() clear the window from the current cursor
 
-    position to the end of the window.
 
-    clrtoeol() and wclrtoeol() clear the window from the current cursor
 
-    position to the end of the current line.
 
- ### Return Value
 
-    All functions return OK on success and ERR on error.
 
- ### Portability
 
-                              X/Open  ncurses  NetBSD
 
-     clear                       Y       Y       Y
 
-     wclear                      Y       Y       Y
 
-     erase                       Y       Y       Y
 
-     werase                      Y       Y       Y
 
-     clrtobot                    Y       Y       Y
 
-     wclrtobot                   Y       Y       Y
 
-     clrtoeol                    Y       Y       Y
 
-     wclrtoeol                   Y       Y       Y
 
- **man-end****************************************************************/
 
- int wclrtoeol(WINDOW *win)
 
- {
 
-     int x, y, minx;
 
-     chtype blank, *ptr;
 
-     PDC_LOG(("wclrtoeol() - called: Row: %d Col: %d\n",
 
-              win->_cury, win->_curx));
 
-     if (!win)
 
-         return ERR;
 
-     y = win->_cury;
 
-     x = win->_curx;
 
-     /* wrs (4/10/93) account for window background */
 
-     blank = win->_bkgd;
 
-     for (minx = x, ptr = &win->_y[y][x]; minx < win->_maxx; minx++, ptr++)
 
-         *ptr = blank;
 
-     if (x < win->_firstch[y] || win->_firstch[y] == _NO_CHANGE)
 
-         win->_firstch[y] = x;
 
-     win->_lastch[y] = win->_maxx - 1;
 
-     PDC_sync(win);
 
-     return OK;
 
- }
 
- int clrtoeol(void)
 
- {
 
-     PDC_LOG(("clrtoeol() - called\n"));
 
-     return wclrtoeol(stdscr);
 
- }
 
- int wclrtobot(WINDOW *win)
 
- {
 
-     int savey, savex;
 
-     PDC_LOG(("wclrtobot() - called\n"));
 
-     if (!win)
 
-         return ERR;
 
-     savey = win->_cury;
 
-     savex = win->_curx;
 
-     /* should this involve scrolling region somehow ? */
 
-     if (win->_cury + 1 < win->_maxy)
 
-     {
 
-         win->_curx = 0;
 
-         win->_cury++;
 
-         for (; win->_maxy > win->_cury; win->_cury++)
 
-             wclrtoeol(win);
 
-         win->_cury = savey;
 
-         win->_curx = savex;
 
-     }
 
-     wclrtoeol(win);
 
-     PDC_sync(win);
 
-     return OK;
 
- }
 
- int clrtobot(void)
 
- {
 
-     PDC_LOG(("clrtobot() - called\n"));
 
-     return wclrtobot(stdscr);
 
- }
 
- int werase(WINDOW *win)
 
- {
 
-     PDC_LOG(("werase() - called\n"));
 
-     if (wmove(win, 0, 0) == ERR)
 
-         return ERR;
 
-     return wclrtobot(win);
 
- }
 
- int erase(void)
 
- {
 
-     PDC_LOG(("erase() - called\n"));
 
-     return werase(stdscr);
 
- }
 
- int wclear(WINDOW *win)
 
- {
 
-     PDC_LOG(("wclear() - called\n"));
 
-     if (!win)
 
-         return ERR;
 
-     win->_clear = TRUE;
 
-     return werase(win);
 
- }
 
- int clear(void)
 
- {
 
-     PDC_LOG(("clear() - called\n"));
 
-     return wclear(stdscr);
 
- }
 
 
  |