diff options
| -rw-r--r-- | Mac/Include/macglue.h | 2 | ||||
| -rw-r--r-- | Mac/Python/macglue.c | 23 |
2 files changed, 25 insertions, 0 deletions
diff --git a/Mac/Include/macglue.h b/Mac/Include/macglue.h index 3a51101..9213f2f 100644 --- a/Mac/Include/macglue.h +++ b/Mac/Include/macglue.h @@ -80,4 +80,6 @@ PyObject *PyMac_BuildPoint(Point); /* Convert Point to PyObject */ int PyMac_GetEventRecord(PyObject *, EventRecord *); /* argument parser for EventRecord */ PyObject *PyMac_BuildEventRecord(EventRecord *); /* Convert EventRecord to PyObject */ +int PyMac_GetFixed(PyObject *, Fixed *); /* argument parser for Fixed */ +PyObject *PyMac_BuildFixed(Fixed); /* Convert Fixed to PyObject */ void PyMac_InitApplet(void); /* Initialize and run an Applet */ diff --git a/Mac/Python/macglue.c b/Mac/Python/macglue.c index 2528e25..23415eb 100644 --- a/Mac/Python/macglue.c +++ b/Mac/Python/macglue.c @@ -734,3 +734,26 @@ PyMac_BuildEventRecord(EventRecord *e) e->where.v, e->modifiers); } + +/* Convert Python object to Fixed */ +int +PyMac_GetFixed(PyObject *v, Fixed *f) +{ + double d; + + if( !PyArg_Parse(v, "d", &d)) + return 0; + *f = (Fixed)(d * 0x10000); +} + +/* Convert a Point to a Python object */ +PyObject * +PyMac_BuildFixed(Fixed f) +{ + double d; + + d = f; + d = d / 0x10000; + return Py_BuildValue("d", d); +} + |
