Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
f152ff32
Commit
f152ff32
authored
Aug 31, 1994
by
Guido van Rossum
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Lance's release 1.1 -- fixes some problems with 1.0
parent
bc0c7598
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
52 additions
and
36 deletions
+52
-36
Modules/_cursesmodule.c
Modules/_cursesmodule.c
+52
-36
No files found.
Modules/_cursesmodule.c
View file @
f152ff32
...
@@ -23,7 +23,7 @@ WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
...
@@ -23,7 +23,7 @@ WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
******************************************************************/
******************************************************************/
/******************************************************************
/******************************************************************
This is a curses impl
i
mentation. I have tried to be as complete
This is a curses impl
e
mentation. I have tried to be as complete
as possible. If there are functions you need that are not included,
as possible. If there are functions you need that are not included,
please let me know and/or send me some diffs.
please let me know and/or send me some diffs.
...
@@ -178,12 +178,19 @@ PyObject *PyCurses_ERR;
...
@@ -178,12 +178,19 @@ PyObject *PyCurses_ERR;
Change Log:
Change Log:
Version 1.1: 94/08/31:
Minor fixes given by Guido.
Changed 'ncurses' to 'curses'
Changed '__version__' to 'version'
Added PyErr_Clear() where needed
Moved ACS_* attribute initialization to PyCurses_InitScr() to fix
crash on SGI
Version 1.0: 94/08/30:
Version 1.0: 94/08/30:
This is the first release of this software.
This is the first release of this software.
Released to the Internet via python-list@cwi.nl
Released to the Internet via python-list@cwi.nl
******************************************************************/
******************************************************************/
char
*
PyCursesVersion
=
"1.
0 first release"
char
*
PyCursesVersion
=
"1.
1"
;
/* ------------- SCREEN routines --------------- */
/* ------------- SCREEN routines --------------- */
#ifdef NOT_YET
#ifdef NOT_YET
...
@@ -405,6 +412,7 @@ PyCursesWindow_DelCh(self,arg)
...
@@ -405,6 +412,7 @@ PyCursesWindow_DelCh(self,arg)
int
use_xy
=
TRUE
;
int
use_xy
=
TRUE
;
if
(
!
PyArg_Parse
(
arg
,
"(ii);y,x"
,
&
y
,
&
x
))
if
(
!
PyArg_Parse
(
arg
,
"(ii);y,x"
,
&
y
,
&
x
))
use_xy
=
FALSE
;
use_xy
=
FALSE
;
PyErr_Clear
();
if
(
use_xy
==
TRUE
)
if
(
use_xy
==
TRUE
)
rtn
=
mvwdelch
(
self
->
win
,
y
,
x
);
rtn
=
mvwdelch
(
self
->
win
,
y
,
x
);
else
else
...
@@ -750,6 +758,7 @@ PyCursesWindow_GetCh(self,arg)
...
@@ -750,6 +758,7 @@ PyCursesWindow_GetCh(self,arg)
int
rtn
;
int
rtn
;
if
(
!
PyArg_Parse
(
arg
,
"(ii);y,x"
,
&
y
,
&
x
))
if
(
!
PyArg_Parse
(
arg
,
"(ii);y,x"
,
&
y
,
&
x
))
use_xy
=
FALSE
;
use_xy
=
FALSE
;
PyErr_Clear
();
if
(
use_xy
==
TRUE
)
if
(
use_xy
==
TRUE
)
rtn
=
mvwgetch
(
self
->
win
,
y
,
x
);
rtn
=
mvwgetch
(
self
->
win
,
y
,
x
);
else
else
...
@@ -768,6 +777,7 @@ PyCursesWindow_GetStr(self,arg)
...
@@ -768,6 +777,7 @@ PyCursesWindow_GetStr(self,arg)
int
rtn2
;
int
rtn2
;
if
(
!
PyArg_Parse
(
arg
,
"(ii);y,x"
,
&
y
,
&
x
))
if
(
!
PyArg_Parse
(
arg
,
"(ii);y,x"
,
&
y
,
&
x
))
use_xy
=
FALSE
;
use_xy
=
FALSE
;
PyErr_Clear
();
if
(
use_xy
==
TRUE
)
if
(
use_xy
==
TRUE
)
rtn2
=
mvwgetstr
(
self
->
win
,
y
,
x
,
rtn
);
rtn2
=
mvwgetstr
(
self
->
win
,
y
,
x
,
rtn
);
else
else
...
@@ -787,6 +797,7 @@ PyCursesWindow_InCh(self,arg)
...
@@ -787,6 +797,7 @@ PyCursesWindow_InCh(self,arg)
int
rtn
;
int
rtn
;
if
(
!
PyArg_Parse
(
arg
,
"(ii);y,x"
,
&
y
,
&
x
))
if
(
!
PyArg_Parse
(
arg
,
"(ii);y,x"
,
&
y
,
&
x
))
use_xy
=
FALSE
;
use_xy
=
FALSE
;
PyErr_Clear
();
if
(
use_xy
==
TRUE
)
if
(
use_xy
==
TRUE
)
rtn
=
mvwinch
(
self
->
win
,
y
,
x
);
rtn
=
mvwinch
(
self
->
win
,
y
,
x
);
else
else
...
@@ -1028,6 +1039,7 @@ PyCurses_InitScr(self, args)
...
@@ -1028,6 +1039,7 @@ PyCurses_InitScr(self, args)
PyObject
*
args
;
PyObject
*
args
;
{
{
static
int
already_inited
=
FALSE
;
static
int
already_inited
=
FALSE
;
WINDOW
*
win
;
if
(
!
PyArg_NoArgs
(
args
))
if
(
!
PyArg_NoArgs
(
args
))
return
(
PyObject
*
)
NULL
;
return
(
PyObject
*
)
NULL
;
if
(
already_inited
==
TRUE
)
{
if
(
already_inited
==
TRUE
)
{
...
@@ -1035,7 +1047,41 @@ PyCurses_InitScr(self, args)
...
@@ -1035,7 +1047,41 @@ PyCurses_InitScr(self, args)
return
(
PyObject
*
)
PyCursesWindow_New
(
stdscr
);
return
(
PyObject
*
)
PyCursesWindow_New
(
stdscr
);
}
}
already_inited
=
TRUE
;
already_inited
=
TRUE
;
return
(
PyObject
*
)
PyCursesWindow_New
(
initscr
());
win
=
initscr
();
/* This was moved from initcurses() because core dumped on SGI */
#define SetDictChar(string,ch) \
PyDict_SetItemString(d,string,PyInt_FromLong(ch));
/* Here are some graphic symbols you can use */
SetDictChar
(
"ACS_ULCORNER"
,(
ACS_ULCORNER
));
SetDictChar
(
"ACS_ULCORNER"
,(
ACS_ULCORNER
));
SetDictChar
(
"ACS_LLCORNER"
,(
ACS_LLCORNER
));
SetDictChar
(
"ACS_URCORNER"
,(
ACS_URCORNER
));
SetDictChar
(
"ACS_LRCORNER"
,(
ACS_LRCORNER
));
SetDictChar
(
"ACS_RTEE"
,
(
ACS_RTEE
));
SetDictChar
(
"ACS_LTEE"
,
(
ACS_LTEE
));
SetDictChar
(
"ACS_BTEE"
,
(
ACS_BTEE
));
SetDictChar
(
"ACS_TTEE"
,
(
ACS_TTEE
));
SetDictChar
(
"ACS_HLINE"
,
(
ACS_HLINE
));
SetDictChar
(
"ACS_VLINE"
,
(
ACS_VLINE
));
SetDictChar
(
"ACS_PLUS"
,
(
ACS_PLUS
));
SetDictChar
(
"ACS_S1"
,
(
ACS_S1
));
SetDictChar
(
"ACS_S9"
,
(
ACS_S9
));
SetDictChar
(
"ACS_DIAMOND"
,
(
ACS_DIAMOND
));
SetDictChar
(
"ACS_CKBOARD"
,
(
ACS_CKBOARD
));
SetDictChar
(
"ACS_DEGREE"
,
(
ACS_DEGREE
));
SetDictChar
(
"ACS_PLMINUS"
,
(
ACS_PLMINUS
));
SetDictChar
(
"ACS_BULLET"
,
(
ACS_BULLET
));
SetDictChar
(
"ACS_LARROW"
,
(
ACS_RARROW
));
SetDictChar
(
"ACS_DARROW"
,
(
ACS_DARROW
));
SetDictChar
(
"ACS_UARROW"
,
(
ACS_UARROW
));
SetDictChar
(
"ACS_BOARD"
,
(
ACS_BOARD
));
SetDictChar
(
"ACS_LANTERN"
,
(
ACS_LANTERN
));
SetDictChar
(
"ACS_BLOCK"
,
(
ACS_BLOCK
));
return
(
PyObject
*
)
PyCursesWindow_New
(
win
);
}
}
static
PyObject
*
static
PyObject
*
...
@@ -1328,12 +1374,12 @@ static PyMethodDef PyCurses_methods[] = {
...
@@ -1328,12 +1374,12 @@ static PyMethodDef PyCurses_methods[] = {
/* Initialization function for the module */
/* Initialization function for the module */
void
void
init
n
curses
()
initcurses
()
{
{
PyObject
*
m
,
*
d
,
*
x
;
PyObject
*
m
,
*
d
,
*
x
;
/* Create the module and add the functions */
/* Create the module and add the functions */
m
=
Py_InitModule
(
"
n
curses"
,
PyCurses_methods
);
m
=
Py_InitModule
(
"curses"
,
PyCurses_methods
);
PyCurses_OK
=
Py_True
;
PyCurses_OK
=
Py_True
;
PyCurses_ERR
=
Py_False
;
PyCurses_ERR
=
Py_False
;
...
@@ -1343,43 +1389,13 @@ initncurses()
...
@@ -1343,43 +1389,13 @@ initncurses()
d
=
PyModule_GetDict
(
m
);
d
=
PyModule_GetDict
(
m
);
/* Make the version available */
/* Make the version available */
PyDict_SetItemString
(
d
,
"
__version__
"
,
PyDict_SetItemString
(
d
,
"
version
"
,
PyString_FromString
(
PyCursesVersion
));
PyString_FromString
(
PyCursesVersion
));
/* Here are some defines */
/* Here are some defines */
PyDict_SetItemString
(
d
,
"OK"
,
PyCurses_OK
);
PyDict_SetItemString
(
d
,
"OK"
,
PyCurses_OK
);
PyDict_SetItemString
(
d
,
"ERR"
,
PyCurses_ERR
);
PyDict_SetItemString
(
d
,
"ERR"
,
PyCurses_ERR
);
#define SetDictChar(string,ch) \
PyDict_SetItemString(d,string,PyInt_FromLong(ch));
/* Here are some graphic symbols you can use */
SetDictChar
(
"ACS_ULCORNER"
,(
ACS_ULCORNER
));
SetDictChar
(
"ACS_ULCORNER"
,(
ACS_ULCORNER
));
SetDictChar
(
"ACS_LLCORNER"
,(
ACS_LLCORNER
));
SetDictChar
(
"ACS_URCORNER"
,(
ACS_URCORNER
));
SetDictChar
(
"ACS_LRCORNER"
,(
ACS_LRCORNER
));
SetDictChar
(
"ACS_RTEE"
,
(
ACS_RTEE
));
SetDictChar
(
"ACS_LTEE"
,
(
ACS_LTEE
));
SetDictChar
(
"ACS_BTEE"
,
(
ACS_BTEE
));
SetDictChar
(
"ACS_TTEE"
,
(
ACS_TTEE
));
SetDictChar
(
"ACS_HLINE"
,
(
ACS_HLINE
));
SetDictChar
(
"ACS_VLINE"
,
(
ACS_VLINE
));
SetDictChar
(
"ACS_PLUS"
,
(
ACS_PLUS
));
SetDictChar
(
"ACS_S1"
,
(
ACS_S1
));
SetDictChar
(
"ACS_S9"
,
(
ACS_S9
));
SetDictChar
(
"ACS_DIAMOND"
,
(
ACS_DIAMOND
));
SetDictChar
(
"ACS_CKBOARD"
,
(
ACS_CKBOARD
));
SetDictChar
(
"ACS_DEGREE"
,
(
ACS_DEGREE
));
SetDictChar
(
"ACS_PLMINUS"
,
(
ACS_PLMINUS
));
SetDictChar
(
"ACS_BULLET"
,
(
ACS_BULLET
));
SetDictChar
(
"ACS_LARROW"
,
(
ACS_RARROW
));
SetDictChar
(
"ACS_DARROW"
,
(
ACS_DARROW
));
SetDictChar
(
"ACS_UARROW"
,
(
ACS_UARROW
));
SetDictChar
(
"ACS_BOARD"
,
(
ACS_BOARD
));
SetDictChar
(
"ACS_LANTERN"
,
(
ACS_LANTERN
));
SetDictChar
(
"ACS_BLOCK"
,
(
ACS_BLOCK
));
/* Here are some attributes you can add to chars to print */
/* Here are some attributes you can add to chars to print */
PyDict_SetItemString
(
d
,
"A_NORMAL"
,
PyInt_FromLong
(
A_NORMAL
));
PyDict_SetItemString
(
d
,
"A_NORMAL"
,
PyInt_FromLong
(
A_NORMAL
));
PyDict_SetItemString
(
d
,
"A_STANDOUT"
,
PyInt_FromLong
(
A_STANDOUT
));
PyDict_SetItemString
(
d
,
"A_STANDOUT"
,
PyInt_FromLong
(
A_STANDOUT
));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment