diff -r ffa851df0825 -r 2fb8b9db1c86 symbian-qemu-0.9.1-12/python-2.6.1/Mac/Modules/evt/_Evtmodule.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/symbian-qemu-0.9.1-12/python-2.6.1/Mac/Modules/evt/_Evtmodule.c Fri Jul 31 15:01:17 2009 +0100 @@ -0,0 +1,559 @@ + +/* ========================== Module _Evt =========================== */ + +#include "Python.h" + +#ifndef __LP64__ + + +#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) + + +#include + + +static PyObject *Evt_Error; + +static PyObject *Evt_GetMouse(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + Point mouseLoc; +#ifndef GetMouse + PyMac_PRECHECK(GetMouse); +#endif + 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; +#ifndef Button + PyMac_PRECHECK(Button); +#endif + 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; +#ifndef StillDown + PyMac_PRECHECK(StillDown); +#endif + 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; +#ifndef WaitMouseUp + PyMac_PRECHECK(WaitMouseUp); +#endif + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = WaitMouseUp(); + _res = Py_BuildValue("b", + _rv); + return _res; +} + +static PyObject *Evt_GetCaretTime(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + UInt32 _rv; +#ifndef GetCaretTime + PyMac_PRECHECK(GetCaretTime); +#endif + 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__; +#ifndef GetKeys + PyMac_PRECHECK(GetKeys); +#endif + if (!PyArg_ParseTuple(_args, "")) + return NULL; + GetKeys(theKeys__out__); + _res = Py_BuildValue("s#", + (char *)&theKeys__out__, (int)sizeof(KeyMap)); + return _res; +} + +static PyObject *Evt_GetDblTime(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + UInt32 _rv; +#ifndef GetDblTime + PyMac_PRECHECK(GetDblTime); +#endif + 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; +#ifndef SetEventMask + PyMac_PRECHECK(SetEventMask); +#endif + 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; +#ifndef GetNextEvent + PyMac_PRECHECK(GetNextEvent); +#endif + 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; +#ifndef EventAvail + PyMac_PRECHECK(EventAvail); +#endif + 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; +#ifndef PostEvent + PyMac_PRECHECK(PostEvent); +#endif + 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; +} + +static PyObject *Evt_FlushEvents(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + EventMask whichMask; + EventMask stopMask; +#ifndef FlushEvents + PyMac_PRECHECK(FlushEvents); +#endif + if (!PyArg_ParseTuple(_args, "HH", + &whichMask, + &stopMask)) + return NULL; + FlushEvents(whichMask, + stopMask); + Py_INCREF(Py_None); + _res = Py_None; + return _res; +} + +static PyObject *Evt_GetGlobalMouse(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + Point globalMouse; +#ifndef GetGlobalMouse + PyMac_PRECHECK(GetGlobalMouse); +#endif + if (!PyArg_ParseTuple(_args, "")) + return NULL; + GetGlobalMouse(&globalMouse); + _res = Py_BuildValue("O&", + PyMac_BuildPoint, globalMouse); + return _res; +} + +static PyObject *Evt_GetCurrentKeyModifiers(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + UInt32 _rv; +#ifndef GetCurrentKeyModifiers + PyMac_PRECHECK(GetCurrentKeyModifiers); +#endif + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = GetCurrentKeyModifiers(); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *Evt_CheckEventQueueForUserCancel(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + Boolean _rv; +#ifndef CheckEventQueueForUserCancel + PyMac_PRECHECK(CheckEventQueueForUserCancel); +#endif + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = CheckEventQueueForUserCancel(); + _res = Py_BuildValue("b", + _rv); + return _res; +} + +static PyObject *Evt_KeyScript(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + short code; +#ifndef KeyScript + PyMac_PRECHECK(KeyScript); +#endif + if (!PyArg_ParseTuple(_args, "h", + &code)) + return NULL; + KeyScript(code); + Py_INCREF(Py_None); + _res = Py_None; + return _res; +} + +static PyObject *Evt_IsCmdChar(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + Boolean _rv; + EventRecord event; + short test; +#ifndef IsCmdChar + PyMac_PRECHECK(IsCmdChar); +#endif + if (!PyArg_ParseTuple(_args, "O&h", + PyMac_GetEventRecord, &event, + &test)) + return NULL; + _rv = IsCmdChar(&event, + test); + _res = Py_BuildValue("b", + _rv); + return _res; +} + +static PyObject *Evt_LMGetKeyThresh(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + SInt16 _rv; +#ifndef LMGetKeyThresh + PyMac_PRECHECK(LMGetKeyThresh); +#endif + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = LMGetKeyThresh(); + _res = Py_BuildValue("h", + _rv); + return _res; +} + +static PyObject *Evt_LMSetKeyThresh(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + SInt16 value; +#ifndef LMSetKeyThresh + PyMac_PRECHECK(LMSetKeyThresh); +#endif + if (!PyArg_ParseTuple(_args, "h", + &value)) + return NULL; + LMSetKeyThresh(value); + Py_INCREF(Py_None); + _res = Py_None; + return _res; +} + +static PyObject *Evt_LMGetKeyRepThresh(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + SInt16 _rv; +#ifndef LMGetKeyRepThresh + PyMac_PRECHECK(LMGetKeyRepThresh); +#endif + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = LMGetKeyRepThresh(); + _res = Py_BuildValue("h", + _rv); + return _res; +} + +static PyObject *Evt_LMSetKeyRepThresh(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + SInt16 value; +#ifndef LMSetKeyRepThresh + PyMac_PRECHECK(LMSetKeyRepThresh); +#endif + if (!PyArg_ParseTuple(_args, "h", + &value)) + return NULL; + LMSetKeyRepThresh(value); + Py_INCREF(Py_None); + _res = Py_None; + return _res; +} + +static PyObject *Evt_LMGetKbdLast(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + UInt8 _rv; +#ifndef LMGetKbdLast + PyMac_PRECHECK(LMGetKbdLast); +#endif + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = LMGetKbdLast(); + _res = Py_BuildValue("b", + _rv); + return _res; +} + +static PyObject *Evt_LMSetKbdLast(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + UInt8 value; +#ifndef LMSetKbdLast + PyMac_PRECHECK(LMSetKbdLast); +#endif + if (!PyArg_ParseTuple(_args, "b", + &value)) + return NULL; + LMSetKbdLast(value); + Py_INCREF(Py_None); + _res = Py_None; + return _res; +} + +static PyObject *Evt_LMGetKbdType(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + UInt8 _rv; +#ifndef LMGetKbdType + PyMac_PRECHECK(LMGetKbdType); +#endif + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = LMGetKbdType(); + _res = Py_BuildValue("b", + _rv); + return _res; +} + +static PyObject *Evt_LMSetKbdType(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + UInt8 value; +#ifndef LMSetKbdType + PyMac_PRECHECK(LMSetKbdType); +#endif + if (!PyArg_ParseTuple(_args, "b", + &value)) + return NULL; + LMSetKbdType(value); + Py_INCREF(Py_None); + _res = Py_None; + return _res; +} + +static PyObject *Evt_TickCount(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + UInt32 _rv; +#ifndef TickCount + PyMac_PRECHECK(TickCount); +#endif + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = TickCount(); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +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, + PyDoc_STR("() -> (Point mouseLoc)")}, + {"Button", (PyCFunction)Evt_Button, 1, + PyDoc_STR("() -> (Boolean _rv)")}, + {"StillDown", (PyCFunction)Evt_StillDown, 1, + PyDoc_STR("() -> (Boolean _rv)")}, + {"WaitMouseUp", (PyCFunction)Evt_WaitMouseUp, 1, + PyDoc_STR("() -> (Boolean _rv)")}, + {"GetCaretTime", (PyCFunction)Evt_GetCaretTime, 1, + PyDoc_STR("() -> (UInt32 _rv)")}, + {"GetKeys", (PyCFunction)Evt_GetKeys, 1, + PyDoc_STR("() -> (KeyMap theKeys)")}, + {"GetDblTime", (PyCFunction)Evt_GetDblTime, 1, + PyDoc_STR("() -> (UInt32 _rv)")}, + {"SetEventMask", (PyCFunction)Evt_SetEventMask, 1, + PyDoc_STR("(EventMask value) -> None")}, + {"GetNextEvent", (PyCFunction)Evt_GetNextEvent, 1, + PyDoc_STR("(EventMask eventMask) -> (Boolean _rv, EventRecord theEvent)")}, + {"EventAvail", (PyCFunction)Evt_EventAvail, 1, + PyDoc_STR("(EventMask eventMask) -> (Boolean _rv, EventRecord theEvent)")}, + {"PostEvent", (PyCFunction)Evt_PostEvent, 1, + PyDoc_STR("(EventKind eventNum, UInt32 eventMsg) -> None")}, + {"FlushEvents", (PyCFunction)Evt_FlushEvents, 1, + PyDoc_STR("(EventMask whichMask, EventMask stopMask) -> None")}, + {"GetGlobalMouse", (PyCFunction)Evt_GetGlobalMouse, 1, + PyDoc_STR("() -> (Point globalMouse)")}, + {"GetCurrentKeyModifiers", (PyCFunction)Evt_GetCurrentKeyModifiers, 1, + PyDoc_STR("() -> (UInt32 _rv)")}, + {"CheckEventQueueForUserCancel", (PyCFunction)Evt_CheckEventQueueForUserCancel, 1, + PyDoc_STR("() -> (Boolean _rv)")}, + {"KeyScript", (PyCFunction)Evt_KeyScript, 1, + PyDoc_STR("(short code) -> None")}, + {"IsCmdChar", (PyCFunction)Evt_IsCmdChar, 1, + PyDoc_STR("(EventRecord event, short test) -> (Boolean _rv)")}, + {"LMGetKeyThresh", (PyCFunction)Evt_LMGetKeyThresh, 1, + PyDoc_STR("() -> (SInt16 _rv)")}, + {"LMSetKeyThresh", (PyCFunction)Evt_LMSetKeyThresh, 1, + PyDoc_STR("(SInt16 value) -> None")}, + {"LMGetKeyRepThresh", (PyCFunction)Evt_LMGetKeyRepThresh, 1, + PyDoc_STR("() -> (SInt16 _rv)")}, + {"LMSetKeyRepThresh", (PyCFunction)Evt_LMSetKeyRepThresh, 1, + PyDoc_STR("(SInt16 value) -> None")}, + {"LMGetKbdLast", (PyCFunction)Evt_LMGetKbdLast, 1, + PyDoc_STR("() -> (UInt8 _rv)")}, + {"LMSetKbdLast", (PyCFunction)Evt_LMSetKbdLast, 1, + PyDoc_STR("(UInt8 value) -> None")}, + {"LMGetKbdType", (PyCFunction)Evt_LMGetKbdType, 1, + PyDoc_STR("() -> (UInt8 _rv)")}, + {"LMSetKbdType", (PyCFunction)Evt_LMSetKbdType, 1, + PyDoc_STR("(UInt8 value) -> None")}, + {"TickCount", (PyCFunction)Evt_TickCount, 1, + PyDoc_STR("() -> (UInt32 _rv)")}, + {"WaitNextEvent", (PyCFunction)Evt_WaitNextEvent, 1, + PyDoc_STR("(EventMask eventMask, UInt32 sleep [,RegionHandle]) -> (Boolean _rv, EventRecord theEvent)")}, + {NULL, NULL, 0} +}; + + +#else /* __LP64__ */ + +static PyMethodDef Evt_methods[] = { + {NULL, NULL, 0} +}; +#endif /* __LP64__ */ + + +void init_Evt(void) +{ + PyObject *m; +#ifndef __LP64__ + PyObject *d; +#endif /* __LP64__ */ + + + + + m = Py_InitModule("_Evt", Evt_methods); +#ifndef __LP64__ + d = PyModule_GetDict(m); + Evt_Error = PyMac_GetOSErrException(); + if (Evt_Error == NULL || + PyDict_SetItemString(d, "Error", Evt_Error) != 0) + return; +#endif /* __LP64__ */ +} + +/* ======================== End module _Evt ========================= */ +