[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},