]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/base/lib_pad.c
ncurses 5.7 - patch 20090418
[ncurses.git] / ncurses / base / lib_pad.c
index 97b2d357acbe5785d895f4c5cf9605a45a67a03f..43d9ed7e33691e8fedf48b90cf1b6748cc04e09e 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.                   *
+ * Copyright (c) 1998-2006,2009 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            *
@@ -29,6 +29,8 @@
 /****************************************************************************
  *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
  *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
+ *     and: Thomas E. Dickey                        1996-on                 *
+ *     and: Juergen Pfeifer                         2009                    *
  ****************************************************************************/
 
 /*
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: lib_pad.c,v 1.38 2002/08/03 23:29:26 Philippe.Blain Exp $")
+MODULE_ID("$Id: lib_pad.c,v 1.43 2009/04/18 18:25:37 tom Exp $")
 
 NCURSES_EXPORT(WINDOW *)
-newpad(int l, int c)
+NCURSES_SP_NAME(newpad) (NCURSES_SP_DCLx int l, int c)
 {
     WINDOW *win;
     NCURSES_CH_T *ptr;
@@ -70,9 +72,16 @@ newpad(int l, int c)
     returnWin(win);
 }
 
+#if NCURSES_SP_FUNCS
+NCURSES_EXPORT(WINDOW *)
+newpad(int l, int c)
+{
+    return NCURSES_SP_NAME(newpad) (CURRENT_SCREEN, l, c);
+}
+#endif
+
 NCURSES_EXPORT(WINDOW *)
-subpad
-(WINDOW *orig, int l, int c, int begy, int begx)
+subpad(WINDOW *orig, int l, int c, int begy, int begx)
 {
     WINDOW *win = (WINDOW *) 0;
 
@@ -87,9 +96,13 @@ subpad
 }
 
 NCURSES_EXPORT(int)
-prefresh
-(WINDOW *win, int pminrow, int pmincol,
- int sminrow, int smincol, int smaxrow, int smaxcol)
+prefresh(WINDOW *win,
+        int pminrow,
+        int pmincol,
+        int sminrow,
+        int smincol,
+        int smaxrow,
+        int smaxcol)
 {
     T((T_CALLED("prefresh()")));
     if (pnoutrefresh(win, pminrow, pmincol, sminrow, smincol, smaxrow,
@@ -101,9 +114,13 @@ prefresh
 }
 
 NCURSES_EXPORT(int)
-pnoutrefresh
-(WINDOW *win, int pminrow, int pmincol,
- int sminrow, int smincol, int smaxrow, int smaxcol)
+pnoutrefresh(WINDOW *win,
+            int pminrow,
+            int pmincol,
+            int sminrow,
+            int smincol,
+            int smaxrow,
+            int smaxcol)
 {
     NCURSES_SIZE_T i, j;
     NCURSES_SIZE_T m, n;
@@ -138,8 +155,10 @@ pnoutrefresh
     pmaxrow = pminrow + smaxrow - sminrow;
     pmaxcol = pmincol + smaxcol - smincol;
 
-    T((" pminrow + smaxrow - sminrow %d, win->_maxy %d", pmaxrow, win->_maxy));
-    T((" pmincol + smaxcol - smincol %d, win->_maxx %d", pmaxcol, win->_maxx));
+    T((" pminrow + smaxrow - sminrow %ld, win->_maxy %ld",
+       (long) pmaxrow, (long) win->_maxy));
+    T((" pmincol + smaxcol - smincol %ld, win->_maxx %ld",
+       (long) pmaxcol, (long) win->_maxx));
 
     /*
      * Trim the caller's screen size back to the actual limits.
@@ -153,8 +172,8 @@ pnoutrefresh
        pmaxcol = pmincol + smaxcol - smincol;
     }
 
-    if (smaxrow >= screen_lines
-       || smaxcol >= screen_columns
+    if (smaxrow >= screen_lines(CURRENT_SCREEN)
+       || smaxcol >= screen_columns(CURRENT_SCREEN)
        || sminrow > smaxrow
        || smincol > smaxcol)
        returnCode(ERR);
@@ -202,7 +221,7 @@ pnoutrefresh
             */
            if (j == pmincol
                && j > 0
-               && isnac(ch)) {
+               && isWidecExt(ch)) {
                SetChar(ch, L(' '), AttrOf(oline->text[j - 1]));
            }
 #endif