[Python-checkins] CVS: python/dist/src/Modules _cursesmodule.c,2.43,2.44

A.M. Kuchling python-dev@python.org
Thu, 21 Dec 2000 08:22:24 -0800


Update of /cvsroot/python/python/dist/src/Modules
In directory usw-pr-cvs1:/tmp/cvs-serv4442

Modified Files:
	_cursesmodule.c 
Log Message:
Another patch from Thomas Gellekum: add .overlay() and .overwrite() 
    window methods


Index: _cursesmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/_cursesmodule.c,v
retrieving revision 2.43
retrieving revision 2.44
diff -C2 -r2.43 -r2.44
*** _cursesmodule.c	2000/12/15 00:44:02	2.43
--- _cursesmodule.c	2000/12/21 16:22:22	2.44
***************
*** 40,49 ****
  unsupported functions:
  
! 	addchnstr addchstr chgat color_set copywin define_key
  	del_curterm delscreen dupwin inchnstr inchstr innstr keyok
  	mcprint mvaddchnstr mvaddchstr mvchgat mvcur mvinchnstr
  	mvinchstr mvinnstr mmvwaddchnstr mvwaddchstr mvwchgat
  	mvwgetnstr mvwinchnstr mvwinchstr mvwinnstr newterm
! 	overlay overwrite resizeterm restartterm ripoffline scr_dump
  	scr_init scr_restore scr_set scrl set_curterm set_term setterm
  	tgetent tgetflag tgetnum tgetstr tgoto timeout tputs
--- 40,49 ----
  unsupported functions:
  
! 	addchnstr addchstr chgat color_set define_key
  	del_curterm delscreen dupwin inchnstr inchstr innstr keyok
  	mcprint mvaddchnstr mvaddchstr mvchgat mvcur mvinchnstr
  	mvinchstr mvinnstr mmvwaddchnstr mvwaddchstr mvwchgat
  	mvwgetnstr mvwinchnstr mvwinchstr mvwinnstr newterm
! 	resizeterm restartterm ripoffline scr_dump
  	scr_init scr_restore scr_set scrl set_curterm set_term setterm
  	tgetent tgetflag tgetnum tgetstr tgoto timeout tputs
***************
*** 1083,1086 ****
--- 1083,1162 ----
  
  static PyObject *
+ PyCursesWindow_Overlay(PyCursesWindowObject *self, PyObject *args)
+ {
+     PyCursesWindowObject *temp;
+     int use_copywin = FALSE;
+     int sminrow, smincol, dminrow, dmincol, dmaxrow, dmaxcol;
+     int rtn;
+     
+     switch (ARG_COUNT(args)) {
+     case 1:
+ 	if (!PyArg_ParseTuple(args, "O!;window object",
+ 			      &PyCursesWindow_Type, &temp))
+ 	    return NULL;
+ 	break;
+     case 7:
+ 	if (!PyArg_ParseTuple(args, "(O!iiiiii);window object, int, int, int, int, int, int",
+ 			      &PyCursesWindow_Type, &temp, &sminrow, &smincol,
+ 			      &dminrow, &dmincol, &dmaxrow, &dmaxcol))
+ 	    return NULL;
+ 	use_copywin = TRUE;
+ 	break;
+     default:
+ 	PyErr_SetString(PyExc_TypeError,
+ 			"overlay requires one or seven arguments");
+ 	return NULL;
+     }
+ 
+     if (use_copywin == TRUE) {
+ 	    rtn = copywin(self->win, temp->win, sminrow, smincol,
+ 			  dminrow, dmincol, dmaxrow, dmaxcol, TRUE);
+ 	    return PyCursesCheckERR(rtn, "copywin");
+     }
+     else {
+ 	    rtn = overlay(self->win, temp->win);
+ 	    return PyCursesCheckERR(rtn, "overlay");
+     }
+ }
+ 
+ static PyObject *
+ PyCursesWindow_Overwrite(PyCursesWindowObject *self, PyObject *args)
+ {
+     PyCursesWindowObject *temp;
+     int use_copywin = FALSE;
+     int sminrow, smincol, dminrow, dmincol, dmaxrow, dmaxcol;
+     int rtn;
+     
+     switch (ARG_COUNT(args)) {
+     case 1:
+ 	if (!PyArg_ParseTuple(args, "O!;window object",
+ 			      &PyCursesWindow_Type, &temp))
+ 	    return NULL;
+ 	break;
+     case 7:
+ 	if (!PyArg_ParseTuple(args, "(O!iiiiii);window object, int, int, int, int, int, int",
+ 			      &PyCursesWindow_Type, &temp, &sminrow, &smincol,
+ 			      &dminrow, &dmincol, &dmaxrow, &dmaxcol))
+ 	    return NULL;
+ 	use_copywin = TRUE;
+ 	break;
+     default:
+ 	PyErr_SetString(PyExc_TypeError,
+ 			"overwrite requires one or seven arguments");
+ 	return NULL;
+     }
+ 
+     if (use_copywin == TRUE) {
+ 	rtn = copywin(self->win, temp->win, sminrow, smincol,
+ 		      dminrow, dmincol, dmaxrow, dmaxcol, FALSE);
+         return PyCursesCheckERR(rtn, "copywin");
+     }
+     else {
+ 	    rtn = overwrite(self->win, temp->win);
+ 	    return PyCursesCheckERR(rtn, "overwrite");
+     }
+ }
+ 
+ static PyObject *
  PyCursesWindow_PutWin(PyCursesWindowObject *self, PyObject *args)
  {
***************
*** 1324,1328 ****
  	{"noutrefresh",     (PyCFunction)PyCursesWindow_NoOutRefresh},
          /* Backward compatibility alias -- remove in Python 2.1 */
! 	{"nooutrefresh",     (PyCFunction)PyCursesWindow_NoOutRefresh},
  	{"putwin",          (PyCFunction)PyCursesWindow_PutWin},
  	{"redrawln",        (PyCFunction)PyCursesWindow_RedrawLine},
--- 1400,1406 ----
  	{"noutrefresh",     (PyCFunction)PyCursesWindow_NoOutRefresh},
          /* Backward compatibility alias -- remove in Python 2.1 */
! 	{"nooutrefresh",    (PyCFunction)PyCursesWindow_NoOutRefresh},
! 	{"overlay",       (PyCFunction)PyCursesWindow_Overlay, METH_VARARGS},
! 	{"overwrite",     (PyCFunction)PyCursesWindow_Overwrite, METH_VARARGS},
  	{"putwin",          (PyCFunction)PyCursesWindow_PutWin},
  	{"redrawln",        (PyCFunction)PyCursesWindow_RedrawLine},