diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 2001-08-23 14:02:09 (GMT) |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 2001-08-23 14:02:09 (GMT) |
commit | 50ecb0ad835480e6a3446613ceeffa78a7bd2de3 (patch) | |
tree | 1d0f290f8cfb9bd0c78bd56960c0eb9b54f54581 /Mac/Modules/evt | |
parent | 3cbf6d9d6ecd21a1dc4316c9f5620c422a45ae41 (diff) | |
download | cpython-50ecb0ad835480e6a3446613ceeffa78a7bd2de3.zip cpython-50ecb0ad835480e6a3446613ceeffa78a7bd2de3.tar.gz cpython-50ecb0ad835480e6a3446613ceeffa78a7bd2de3.tar.bz2 |
Renamed the Mac toolbox modules to have an initial _ in their name.
Diffstat (limited to 'Mac/Modules/evt')
-rw-r--r-- | Mac/Modules/evt/_Evtmodule.c | 459 |
1 files changed, 459 insertions, 0 deletions
diff --git a/Mac/Modules/evt/_Evtmodule.c b/Mac/Modules/evt/_Evtmodule.c new file mode 100644 index 0000000..6cd9464 --- /dev/null +++ b/Mac/Modules/evt/_Evtmodule.c @@ -0,0 +1,459 @@ + +/* ========================== Module _Evt =========================== */ + +#include "Python.h" + + + +#include "macglue.h" +#include "pymactoolbox.h" + +/* Macro to test whether a weak-loaded CFM function exists */ +#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\ + PyErr_SetString(PyExc_NotImplementedError, \ + "Not available in this shared library/OS version"); \ + return NULL; \ + }} while(0) + + +#ifdef WITHOUT_FRAMEWORKS +#include <Events.h> +#else +#include <Carbon/Carbon.h> +#endif + + +static PyObject *Evt_Error; + +static PyObject *Evt_GetMouse(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + Point mouseLoc; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + GetMouse(&mouseLoc); + _res = Py_BuildValue("O&", + PyMac_BuildPoint, mouseLoc); + return _res; +} + +static PyObject *Evt_Button(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + Boolean _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = Button(); + _res = Py_BuildValue("b", + _rv); + return _res; +} + +static PyObject *Evt_StillDown(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + Boolean _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = StillDown(); + _res = Py_BuildValue("b", + _rv); + return _res; +} + +static PyObject *Evt_WaitMouseUp(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + Boolean _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = WaitMouseUp(); + _res = Py_BuildValue("b", + _rv); + return _res; +} + +static PyObject *Evt_TickCount(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + UInt32 _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = TickCount(); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *Evt_GetCaretTime(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + UInt32 _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = GetCaretTime(); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *Evt_GetKeys(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + KeyMap theKeys__out__; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + GetKeys(theKeys__out__); + _res = Py_BuildValue("s#", + (char *)&theKeys__out__, (int)sizeof(KeyMap)); + theKeys__error__: ; + return _res; +} + +static PyObject *Evt_GetDblTime(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + UInt32 _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = GetDblTime(); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *Evt_SetEventMask(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + EventMask value; + if (!PyArg_ParseTuple(_args, "H", + &value)) + return NULL; + SetEventMask(value); + Py_INCREF(Py_None); + _res = Py_None; + return _res; +} + +static PyObject *Evt_GetNextEvent(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + Boolean _rv; + EventMask eventMask; + EventRecord theEvent; + if (!PyArg_ParseTuple(_args, "H", + &eventMask)) + return NULL; + _rv = GetNextEvent(eventMask, + &theEvent); + _res = Py_BuildValue("bO&", + _rv, + PyMac_BuildEventRecord, &theEvent); + return _res; +} + +static PyObject *Evt_EventAvail(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + Boolean _rv; + EventMask eventMask; + EventRecord theEvent; + if (!PyArg_ParseTuple(_args, "H", + &eventMask)) + return NULL; + _rv = EventAvail(eventMask, + &theEvent); + _res = Py_BuildValue("bO&", + _rv, + PyMac_BuildEventRecord, &theEvent); + return _res; +} + +static PyObject *Evt_PostEvent(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + OSErr _err; + EventKind eventNum; + UInt32 eventMsg; + if (!PyArg_ParseTuple(_args, "Hl", + &eventNum, + &eventMsg)) + return NULL; + _err = PostEvent(eventNum, + eventMsg); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; +} + +#if !TARGET_API_MAC_CARBON + +static PyObject *Evt_OSEventAvail(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + Boolean _rv; + EventMask mask; + EventRecord theEvent; + if (!PyArg_ParseTuple(_args, "H", + &mask)) + return NULL; + _rv = OSEventAvail(mask, + &theEvent); + _res = Py_BuildValue("bO&", + _rv, + PyMac_BuildEventRecord, &theEvent); + return _res; +} +#endif + +#if !TARGET_API_MAC_CARBON + +static PyObject *Evt_GetOSEvent(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + Boolean _rv; + EventMask mask; + EventRecord theEvent; + if (!PyArg_ParseTuple(_args, "H", + &mask)) + return NULL; + _rv = GetOSEvent(mask, + &theEvent); + _res = Py_BuildValue("bO&", + _rv, + PyMac_BuildEventRecord, &theEvent); + return _res; +} +#endif + +static PyObject *Evt_FlushEvents(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + EventMask whichMask; + EventMask stopMask; + if (!PyArg_ParseTuple(_args, "HH", + &whichMask, + &stopMask)) + return NULL; + FlushEvents(whichMask, + stopMask); + Py_INCREF(Py_None); + _res = Py_None; + return _res; +} + +#if !TARGET_API_MAC_CARBON + +static PyObject *Evt_SystemClick(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + EventRecord theEvent; + WindowPtr theWindow; + if (!PyArg_ParseTuple(_args, "O&O&", + PyMac_GetEventRecord, &theEvent, + WinObj_Convert, &theWindow)) + return NULL; + SystemClick(&theEvent, + theWindow); + Py_INCREF(Py_None); + _res = Py_None; + return _res; +} +#endif + +#if !TARGET_API_MAC_CARBON + +static PyObject *Evt_SystemTask(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + SystemTask(); + Py_INCREF(Py_None); + _res = Py_None; + return _res; +} +#endif + +#if !TARGET_API_MAC_CARBON + +static PyObject *Evt_SystemEvent(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + Boolean _rv; + EventRecord theEvent; + if (!PyArg_ParseTuple(_args, "O&", + PyMac_GetEventRecord, &theEvent)) + return NULL; + _rv = SystemEvent(&theEvent); + _res = Py_BuildValue("b", + _rv); + return _res; +} +#endif + +#if TARGET_API_MAC_CARBON + +static PyObject *Evt_GetGlobalMouse(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + Point globalMouse; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + GetGlobalMouse(&globalMouse); + _res = Py_BuildValue("O&", + PyMac_BuildPoint, globalMouse); + return _res; +} +#endif + +#if TARGET_API_MAC_CARBON + +static PyObject *Evt_GetCurrentKeyModifiers(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + UInt32 _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = GetCurrentKeyModifiers(); + _res = Py_BuildValue("l", + _rv); + return _res; +} +#endif + +#if TARGET_API_MAC_CARBON + +static PyObject *Evt_CheckEventQueueForUserCancel(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + Boolean _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = CheckEventQueueForUserCancel(); + _res = Py_BuildValue("b", + _rv); + return _res; +} +#endif + +static PyObject *Evt_WaitNextEvent(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + + Boolean _rv; + EventMask eventMask; + EventRecord theEvent; + UInt32 sleep; + Handle mouseregion = (Handle)0; + + if (!PyArg_ParseTuple(_args, "Hl|O&", + &eventMask, + &sleep, + OptResObj_Convert, &mouseregion)) + return NULL; + _rv = WaitNextEvent(eventMask, + &theEvent, + sleep, + (RgnHandle)mouseregion); + _res = Py_BuildValue("bO&", + _rv, + PyMac_BuildEventRecord, &theEvent); + return _res; + +} + +static PyMethodDef Evt_methods[] = { + {"GetMouse", (PyCFunction)Evt_GetMouse, 1, + "() -> (Point mouseLoc)"}, + {"Button", (PyCFunction)Evt_Button, 1, + "() -> (Boolean _rv)"}, + {"StillDown", (PyCFunction)Evt_StillDown, 1, + "() -> (Boolean _rv)"}, + {"WaitMouseUp", (PyCFunction)Evt_WaitMouseUp, 1, + "() -> (Boolean _rv)"}, + {"TickCount", (PyCFunction)Evt_TickCount, 1, + "() -> (UInt32 _rv)"}, + {"GetCaretTime", (PyCFunction)Evt_GetCaretTime, 1, + "() -> (UInt32 _rv)"}, + {"GetKeys", (PyCFunction)Evt_GetKeys, 1, + "() -> (KeyMap theKeys)"}, + {"GetDblTime", (PyCFunction)Evt_GetDblTime, 1, + "() -> (UInt32 _rv)"}, + {"SetEventMask", (PyCFunction)Evt_SetEventMask, 1, + "(EventMask value) -> None"}, + {"GetNextEvent", (PyCFunction)Evt_GetNextEvent, 1, + "(EventMask eventMask) -> (Boolean _rv, EventRecord theEvent)"}, + {"EventAvail", (PyCFunction)Evt_EventAvail, 1, + "(EventMask eventMask) -> (Boolean _rv, EventRecord theEvent)"}, + {"PostEvent", (PyCFunction)Evt_PostEvent, 1, + "(EventKind eventNum, UInt32 eventMsg) -> None"}, + +#if !TARGET_API_MAC_CARBON + {"OSEventAvail", (PyCFunction)Evt_OSEventAvail, 1, + "(EventMask mask) -> (Boolean _rv, EventRecord theEvent)"}, +#endif + +#if !TARGET_API_MAC_CARBON + {"GetOSEvent", (PyCFunction)Evt_GetOSEvent, 1, + "(EventMask mask) -> (Boolean _rv, EventRecord theEvent)"}, +#endif + {"FlushEvents", (PyCFunction)Evt_FlushEvents, 1, + "(EventMask whichMask, EventMask stopMask) -> None"}, + +#if !TARGET_API_MAC_CARBON + {"SystemClick", (PyCFunction)Evt_SystemClick, 1, + "(EventRecord theEvent, WindowPtr theWindow) -> None"}, +#endif + +#if !TARGET_API_MAC_CARBON + {"SystemTask", (PyCFunction)Evt_SystemTask, 1, + "() -> None"}, +#endif + +#if !TARGET_API_MAC_CARBON + {"SystemEvent", (PyCFunction)Evt_SystemEvent, 1, + "(EventRecord theEvent) -> (Boolean _rv)"}, +#endif + +#if TARGET_API_MAC_CARBON + {"GetGlobalMouse", (PyCFunction)Evt_GetGlobalMouse, 1, + "() -> (Point globalMouse)"}, +#endif + +#if TARGET_API_MAC_CARBON + {"GetCurrentKeyModifiers", (PyCFunction)Evt_GetCurrentKeyModifiers, 1, + "() -> (UInt32 _rv)"}, +#endif + +#if TARGET_API_MAC_CARBON + {"CheckEventQueueForUserCancel", (PyCFunction)Evt_CheckEventQueueForUserCancel, 1, + "() -> (Boolean _rv)"}, +#endif + {"WaitNextEvent", (PyCFunction)Evt_WaitNextEvent, 1, + "(EventMask eventMask, UInt32 sleep [,RegionHandle]) -> (Boolean _rv, EventRecord theEvent)"}, + {NULL, NULL, 0} +}; + + + + +void init_Evt(void) +{ + PyObject *m; + PyObject *d; + + + + + m = Py_InitModule("_Evt", Evt_methods); + d = PyModule_GetDict(m); + Evt_Error = PyMac_GetOSErrException(); + if (Evt_Error == NULL || + PyDict_SetItemString(d, "Error", Evt_Error) != 0) + return; +} + +/* ======================== End module _Evt ========================= */ + |