ยปCore Development>Code coverage>Mac/Modules/evt/_Evtmodule.c

Python code coverage for Mac/Modules/evt/_Evtmodule.c

#countcontent
1n/a
2n/a/* ========================== Module _Evt =========================== */
3n/a
4n/a#include "Python.h"
5n/a
6n/a#ifndef __LP64__
7n/a
8n/a
9n/a#include "pymactoolbox.h"
10n/a
11n/a/* Macro to test whether a weak-loaded CFM function exists */
12n/a#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
13n/a PyErr_SetString(PyExc_NotImplementedError, \
14n/a "Not available in this shared library/OS version"); \
15n/a return NULL; \
16n/a }} while(0)
17n/a
18n/a
19n/a#include <Carbon/Carbon.h>
20n/a
21n/a
22n/astatic PyObject *Evt_Error;
23n/a
24n/astatic PyObject *Evt_GetMouse(PyObject *_self, PyObject *_args)
25n/a{
26n/a PyObject *_res = NULL;
27n/a Point mouseLoc;
28n/a#ifndef GetMouse
29n/a PyMac_PRECHECK(GetMouse);
30n/a#endif
31n/a if (!PyArg_ParseTuple(_args, ""))
32n/a return NULL;
33n/a GetMouse(&mouseLoc);
34n/a _res = Py_BuildValue("O&",
35n/a PyMac_BuildPoint, mouseLoc);
36n/a return _res;
37n/a}
38n/a
39n/astatic PyObject *Evt_Button(PyObject *_self, PyObject *_args)
40n/a{
41n/a PyObject *_res = NULL;
42n/a Boolean _rv;
43n/a#ifndef Button
44n/a PyMac_PRECHECK(Button);
45n/a#endif
46n/a if (!PyArg_ParseTuple(_args, ""))
47n/a return NULL;
48n/a _rv = Button();
49n/a _res = Py_BuildValue("b",
50n/a _rv);
51n/a return _res;
52n/a}
53n/a
54n/astatic PyObject *Evt_StillDown(PyObject *_self, PyObject *_args)
55n/a{
56n/a PyObject *_res = NULL;
57n/a Boolean _rv;
58n/a#ifndef StillDown
59n/a PyMac_PRECHECK(StillDown);
60n/a#endif
61n/a if (!PyArg_ParseTuple(_args, ""))
62n/a return NULL;
63n/a _rv = StillDown();
64n/a _res = Py_BuildValue("b",
65n/a _rv);
66n/a return _res;
67n/a}
68n/a
69n/astatic PyObject *Evt_WaitMouseUp(PyObject *_self, PyObject *_args)
70n/a{
71n/a PyObject *_res = NULL;
72n/a Boolean _rv;
73n/a#ifndef WaitMouseUp
74n/a PyMac_PRECHECK(WaitMouseUp);
75n/a#endif
76n/a if (!PyArg_ParseTuple(_args, ""))
77n/a return NULL;
78n/a _rv = WaitMouseUp();
79n/a _res = Py_BuildValue("b",
80n/a _rv);
81n/a return _res;
82n/a}
83n/a
84n/astatic PyObject *Evt_GetCaretTime(PyObject *_self, PyObject *_args)
85n/a{
86n/a PyObject *_res = NULL;
87n/a UInt32 _rv;
88n/a#ifndef GetCaretTime
89n/a PyMac_PRECHECK(GetCaretTime);
90n/a#endif
91n/a if (!PyArg_ParseTuple(_args, ""))
92n/a return NULL;
93n/a _rv = GetCaretTime();
94n/a _res = Py_BuildValue("l",
95n/a _rv);
96n/a return _res;
97n/a}
98n/a
99n/astatic PyObject *Evt_GetKeys(PyObject *_self, PyObject *_args)
100n/a{
101n/a PyObject *_res = NULL;
102n/a KeyMap theKeys__out__;
103n/a#ifndef GetKeys
104n/a PyMac_PRECHECK(GetKeys);
105n/a#endif
106n/a if (!PyArg_ParseTuple(_args, ""))
107n/a return NULL;
108n/a GetKeys(theKeys__out__);
109n/a _res = Py_BuildValue("s#",
110n/a (char *)&theKeys__out__, (int)sizeof(KeyMap));
111n/a return _res;
112n/a}
113n/a
114n/astatic PyObject *Evt_GetDblTime(PyObject *_self, PyObject *_args)
115n/a{
116n/a PyObject *_res = NULL;
117n/a UInt32 _rv;
118n/a#ifndef GetDblTime
119n/a PyMac_PRECHECK(GetDblTime);
120n/a#endif
121n/a if (!PyArg_ParseTuple(_args, ""))
122n/a return NULL;
123n/a _rv = GetDblTime();
124n/a _res = Py_BuildValue("l",
125n/a _rv);
126n/a return _res;
127n/a}
128n/a
129n/astatic PyObject *Evt_SetEventMask(PyObject *_self, PyObject *_args)
130n/a{
131n/a PyObject *_res = NULL;
132n/a EventMask value;
133n/a#ifndef SetEventMask
134n/a PyMac_PRECHECK(SetEventMask);
135n/a#endif
136n/a if (!PyArg_ParseTuple(_args, "H",
137n/a &value))
138n/a return NULL;
139n/a SetEventMask(value);
140n/a Py_INCREF(Py_None);
141n/a _res = Py_None;
142n/a return _res;
143n/a}
144n/a
145n/astatic PyObject *Evt_GetNextEvent(PyObject *_self, PyObject *_args)
146n/a{
147n/a PyObject *_res = NULL;
148n/a Boolean _rv;
149n/a EventMask eventMask;
150n/a EventRecord theEvent;
151n/a#ifndef GetNextEvent
152n/a PyMac_PRECHECK(GetNextEvent);
153n/a#endif
154n/a if (!PyArg_ParseTuple(_args, "H",
155n/a &eventMask))
156n/a return NULL;
157n/a _rv = GetNextEvent(eventMask,
158n/a &theEvent);
159n/a _res = Py_BuildValue("bO&",
160n/a _rv,
161n/a PyMac_BuildEventRecord, &theEvent);
162n/a return _res;
163n/a}
164n/a
165n/astatic PyObject *Evt_EventAvail(PyObject *_self, PyObject *_args)
166n/a{
167n/a PyObject *_res = NULL;
168n/a Boolean _rv;
169n/a EventMask eventMask;
170n/a EventRecord theEvent;
171n/a#ifndef EventAvail
172n/a PyMac_PRECHECK(EventAvail);
173n/a#endif
174n/a if (!PyArg_ParseTuple(_args, "H",
175n/a &eventMask))
176n/a return NULL;
177n/a _rv = EventAvail(eventMask,
178n/a &theEvent);
179n/a _res = Py_BuildValue("bO&",
180n/a _rv,
181n/a PyMac_BuildEventRecord, &theEvent);
182n/a return _res;
183n/a}
184n/a
185n/astatic PyObject *Evt_PostEvent(PyObject *_self, PyObject *_args)
186n/a{
187n/a PyObject *_res = NULL;
188n/a OSErr _err;
189n/a EventKind eventNum;
190n/a UInt32 eventMsg;
191n/a#ifndef PostEvent
192n/a PyMac_PRECHECK(PostEvent);
193n/a#endif
194n/a if (!PyArg_ParseTuple(_args, "Hl",
195n/a &eventNum,
196n/a &eventMsg))
197n/a return NULL;
198n/a _err = PostEvent(eventNum,
199n/a eventMsg);
200n/a if (_err != noErr) return PyMac_Error(_err);
201n/a Py_INCREF(Py_None);
202n/a _res = Py_None;
203n/a return _res;
204n/a}
205n/a
206n/astatic PyObject *Evt_FlushEvents(PyObject *_self, PyObject *_args)
207n/a{
208n/a PyObject *_res = NULL;
209n/a EventMask whichMask;
210n/a EventMask stopMask;
211n/a#ifndef FlushEvents
212n/a PyMac_PRECHECK(FlushEvents);
213n/a#endif
214n/a if (!PyArg_ParseTuple(_args, "HH",
215n/a &whichMask,
216n/a &stopMask))
217n/a return NULL;
218n/a FlushEvents(whichMask,
219n/a stopMask);
220n/a Py_INCREF(Py_None);
221n/a _res = Py_None;
222n/a return _res;
223n/a}
224n/a
225n/astatic PyObject *Evt_GetGlobalMouse(PyObject *_self, PyObject *_args)
226n/a{
227n/a PyObject *_res = NULL;
228n/a Point globalMouse;
229n/a#ifndef GetGlobalMouse
230n/a PyMac_PRECHECK(GetGlobalMouse);
231n/a#endif
232n/a if (!PyArg_ParseTuple(_args, ""))
233n/a return NULL;
234n/a GetGlobalMouse(&globalMouse);
235n/a _res = Py_BuildValue("O&",
236n/a PyMac_BuildPoint, globalMouse);
237n/a return _res;
238n/a}
239n/a
240n/astatic PyObject *Evt_GetCurrentKeyModifiers(PyObject *_self, PyObject *_args)
241n/a{
242n/a PyObject *_res = NULL;
243n/a UInt32 _rv;
244n/a#ifndef GetCurrentKeyModifiers
245n/a PyMac_PRECHECK(GetCurrentKeyModifiers);
246n/a#endif
247n/a if (!PyArg_ParseTuple(_args, ""))
248n/a return NULL;
249n/a _rv = GetCurrentKeyModifiers();
250n/a _res = Py_BuildValue("l",
251n/a _rv);
252n/a return _res;
253n/a}
254n/a
255n/astatic PyObject *Evt_CheckEventQueueForUserCancel(PyObject *_self, PyObject *_args)
256n/a{
257n/a PyObject *_res = NULL;
258n/a Boolean _rv;
259n/a#ifndef CheckEventQueueForUserCancel
260n/a PyMac_PRECHECK(CheckEventQueueForUserCancel);
261n/a#endif
262n/a if (!PyArg_ParseTuple(_args, ""))
263n/a return NULL;
264n/a _rv = CheckEventQueueForUserCancel();
265n/a _res = Py_BuildValue("b",
266n/a _rv);
267n/a return _res;
268n/a}
269n/a
270n/astatic PyObject *Evt_KeyScript(PyObject *_self, PyObject *_args)
271n/a{
272n/a PyObject *_res = NULL;
273n/a short code;
274n/a#ifndef KeyScript
275n/a PyMac_PRECHECK(KeyScript);
276n/a#endif
277n/a if (!PyArg_ParseTuple(_args, "h",
278n/a &code))
279n/a return NULL;
280n/a KeyScript(code);
281n/a Py_INCREF(Py_None);
282n/a _res = Py_None;
283n/a return _res;
284n/a}
285n/a
286n/astatic PyObject *Evt_IsCmdChar(PyObject *_self, PyObject *_args)
287n/a{
288n/a PyObject *_res = NULL;
289n/a Boolean _rv;
290n/a EventRecord event;
291n/a short test;
292n/a#ifndef IsCmdChar
293n/a PyMac_PRECHECK(IsCmdChar);
294n/a#endif
295n/a if (!PyArg_ParseTuple(_args, "O&h",
296n/a PyMac_GetEventRecord, &event,
297n/a &test))
298n/a return NULL;
299n/a _rv = IsCmdChar(&event,
300n/a test);
301n/a _res = Py_BuildValue("b",
302n/a _rv);
303n/a return _res;
304n/a}
305n/a
306n/astatic PyObject *Evt_LMGetKeyThresh(PyObject *_self, PyObject *_args)
307n/a{
308n/a PyObject *_res = NULL;
309n/a SInt16 _rv;
310n/a#ifndef LMGetKeyThresh
311n/a PyMac_PRECHECK(LMGetKeyThresh);
312n/a#endif
313n/a if (!PyArg_ParseTuple(_args, ""))
314n/a return NULL;
315n/a _rv = LMGetKeyThresh();
316n/a _res = Py_BuildValue("h",
317n/a _rv);
318n/a return _res;
319n/a}
320n/a
321n/astatic PyObject *Evt_LMSetKeyThresh(PyObject *_self, PyObject *_args)
322n/a{
323n/a PyObject *_res = NULL;
324n/a SInt16 value;
325n/a#ifndef LMSetKeyThresh
326n/a PyMac_PRECHECK(LMSetKeyThresh);
327n/a#endif
328n/a if (!PyArg_ParseTuple(_args, "h",
329n/a &value))
330n/a return NULL;
331n/a LMSetKeyThresh(value);
332n/a Py_INCREF(Py_None);
333n/a _res = Py_None;
334n/a return _res;
335n/a}
336n/a
337n/astatic PyObject *Evt_LMGetKeyRepThresh(PyObject *_self, PyObject *_args)
338n/a{
339n/a PyObject *_res = NULL;
340n/a SInt16 _rv;
341n/a#ifndef LMGetKeyRepThresh
342n/a PyMac_PRECHECK(LMGetKeyRepThresh);
343n/a#endif
344n/a if (!PyArg_ParseTuple(_args, ""))
345n/a return NULL;
346n/a _rv = LMGetKeyRepThresh();
347n/a _res = Py_BuildValue("h",
348n/a _rv);
349n/a return _res;
350n/a}
351n/a
352n/astatic PyObject *Evt_LMSetKeyRepThresh(PyObject *_self, PyObject *_args)
353n/a{
354n/a PyObject *_res = NULL;
355n/a SInt16 value;
356n/a#ifndef LMSetKeyRepThresh
357n/a PyMac_PRECHECK(LMSetKeyRepThresh);
358n/a#endif
359n/a if (!PyArg_ParseTuple(_args, "h",
360n/a &value))
361n/a return NULL;
362n/a LMSetKeyRepThresh(value);
363n/a Py_INCREF(Py_None);
364n/a _res = Py_None;
365n/a return _res;
366n/a}
367n/a
368n/astatic PyObject *Evt_LMGetKbdLast(PyObject *_self, PyObject *_args)
369n/a{
370n/a PyObject *_res = NULL;
371n/a UInt8 _rv;
372n/a#ifndef LMGetKbdLast
373n/a PyMac_PRECHECK(LMGetKbdLast);
374n/a#endif
375n/a if (!PyArg_ParseTuple(_args, ""))
376n/a return NULL;
377n/a _rv = LMGetKbdLast();
378n/a _res = Py_BuildValue("b",
379n/a _rv);
380n/a return _res;
381n/a}
382n/a
383n/astatic PyObject *Evt_LMSetKbdLast(PyObject *_self, PyObject *_args)
384n/a{
385n/a PyObject *_res = NULL;
386n/a UInt8 value;
387n/a#ifndef LMSetKbdLast
388n/a PyMac_PRECHECK(LMSetKbdLast);
389n/a#endif
390n/a if (!PyArg_ParseTuple(_args, "b",
391n/a &value))
392n/a return NULL;
393n/a LMSetKbdLast(value);
394n/a Py_INCREF(Py_None);
395n/a _res = Py_None;
396n/a return _res;
397n/a}
398n/a
399n/astatic PyObject *Evt_LMGetKbdType(PyObject *_self, PyObject *_args)
400n/a{
401n/a PyObject *_res = NULL;
402n/a UInt8 _rv;
403n/a#ifndef LMGetKbdType
404n/a PyMac_PRECHECK(LMGetKbdType);
405n/a#endif
406n/a if (!PyArg_ParseTuple(_args, ""))
407n/a return NULL;
408n/a _rv = LMGetKbdType();
409n/a _res = Py_BuildValue("b",
410n/a _rv);
411n/a return _res;
412n/a}
413n/a
414n/astatic PyObject *Evt_LMSetKbdType(PyObject *_self, PyObject *_args)
415n/a{
416n/a PyObject *_res = NULL;
417n/a UInt8 value;
418n/a#ifndef LMSetKbdType
419n/a PyMac_PRECHECK(LMSetKbdType);
420n/a#endif
421n/a if (!PyArg_ParseTuple(_args, "b",
422n/a &value))
423n/a return NULL;
424n/a LMSetKbdType(value);
425n/a Py_INCREF(Py_None);
426n/a _res = Py_None;
427n/a return _res;
428n/a}
429n/a
430n/astatic PyObject *Evt_TickCount(PyObject *_self, PyObject *_args)
431n/a{
432n/a PyObject *_res = NULL;
433n/a UInt32 _rv;
434n/a#ifndef TickCount
435n/a PyMac_PRECHECK(TickCount);
436n/a#endif
437n/a if (!PyArg_ParseTuple(_args, ""))
438n/a return NULL;
439n/a _rv = TickCount();
440n/a _res = Py_BuildValue("l",
441n/a _rv);
442n/a return _res;
443n/a}
444n/a
445n/astatic PyObject *Evt_WaitNextEvent(PyObject *_self, PyObject *_args)
446n/a{
447n/a PyObject *_res = NULL;
448n/a
449n/a Boolean _rv;
450n/a EventMask eventMask;
451n/a EventRecord theEvent;
452n/a UInt32 sleep;
453n/a Handle mouseregion = (Handle)0;
454n/a
455n/a if (!PyArg_ParseTuple(_args, "Hl|O&",
456n/a &eventMask,
457n/a &sleep,
458n/a OptResObj_Convert, &mouseregion))
459n/a return NULL;
460n/a _rv = WaitNextEvent(eventMask,
461n/a &theEvent,
462n/a sleep,
463n/a (RgnHandle)mouseregion);
464n/a _res = Py_BuildValue("bO&",
465n/a _rv,
466n/a PyMac_BuildEventRecord, &theEvent);
467n/a return _res;
468n/a
469n/a}
470n/a
471n/astatic PyMethodDef Evt_methods[] = {
472n/a {"GetMouse", (PyCFunction)Evt_GetMouse, 1,
473n/a PyDoc_STR("() -> (Point mouseLoc)")},
474n/a {"Button", (PyCFunction)Evt_Button, 1,
475n/a PyDoc_STR("() -> (Boolean _rv)")},
476n/a {"StillDown", (PyCFunction)Evt_StillDown, 1,
477n/a PyDoc_STR("() -> (Boolean _rv)")},
478n/a {"WaitMouseUp", (PyCFunction)Evt_WaitMouseUp, 1,
479n/a PyDoc_STR("() -> (Boolean _rv)")},
480n/a {"GetCaretTime", (PyCFunction)Evt_GetCaretTime, 1,
481n/a PyDoc_STR("() -> (UInt32 _rv)")},
482n/a {"GetKeys", (PyCFunction)Evt_GetKeys, 1,
483n/a PyDoc_STR("() -> (KeyMap theKeys)")},
484n/a {"GetDblTime", (PyCFunction)Evt_GetDblTime, 1,
485n/a PyDoc_STR("() -> (UInt32 _rv)")},
486n/a {"SetEventMask", (PyCFunction)Evt_SetEventMask, 1,
487n/a PyDoc_STR("(EventMask value) -> None")},
488n/a {"GetNextEvent", (PyCFunction)Evt_GetNextEvent, 1,
489n/a PyDoc_STR("(EventMask eventMask) -> (Boolean _rv, EventRecord theEvent)")},
490n/a {"EventAvail", (PyCFunction)Evt_EventAvail, 1,
491n/a PyDoc_STR("(EventMask eventMask) -> (Boolean _rv, EventRecord theEvent)")},
492n/a {"PostEvent", (PyCFunction)Evt_PostEvent, 1,
493n/a PyDoc_STR("(EventKind eventNum, UInt32 eventMsg) -> None")},
494n/a {"FlushEvents", (PyCFunction)Evt_FlushEvents, 1,
495n/a PyDoc_STR("(EventMask whichMask, EventMask stopMask) -> None")},
496n/a {"GetGlobalMouse", (PyCFunction)Evt_GetGlobalMouse, 1,
497n/a PyDoc_STR("() -> (Point globalMouse)")},
498n/a {"GetCurrentKeyModifiers", (PyCFunction)Evt_GetCurrentKeyModifiers, 1,
499n/a PyDoc_STR("() -> (UInt32 _rv)")},
500n/a {"CheckEventQueueForUserCancel", (PyCFunction)Evt_CheckEventQueueForUserCancel, 1,
501n/a PyDoc_STR("() -> (Boolean _rv)")},
502n/a {"KeyScript", (PyCFunction)Evt_KeyScript, 1,
503n/a PyDoc_STR("(short code) -> None")},
504n/a {"IsCmdChar", (PyCFunction)Evt_IsCmdChar, 1,
505n/a PyDoc_STR("(EventRecord event, short test) -> (Boolean _rv)")},
506n/a {"LMGetKeyThresh", (PyCFunction)Evt_LMGetKeyThresh, 1,
507n/a PyDoc_STR("() -> (SInt16 _rv)")},
508n/a {"LMSetKeyThresh", (PyCFunction)Evt_LMSetKeyThresh, 1,
509n/a PyDoc_STR("(SInt16 value) -> None")},
510n/a {"LMGetKeyRepThresh", (PyCFunction)Evt_LMGetKeyRepThresh, 1,
511n/a PyDoc_STR("() -> (SInt16 _rv)")},
512n/a {"LMSetKeyRepThresh", (PyCFunction)Evt_LMSetKeyRepThresh, 1,
513n/a PyDoc_STR("(SInt16 value) -> None")},
514n/a {"LMGetKbdLast", (PyCFunction)Evt_LMGetKbdLast, 1,
515n/a PyDoc_STR("() -> (UInt8 _rv)")},
516n/a {"LMSetKbdLast", (PyCFunction)Evt_LMSetKbdLast, 1,
517n/a PyDoc_STR("(UInt8 value) -> None")},
518n/a {"LMGetKbdType", (PyCFunction)Evt_LMGetKbdType, 1,
519n/a PyDoc_STR("() -> (UInt8 _rv)")},
520n/a {"LMSetKbdType", (PyCFunction)Evt_LMSetKbdType, 1,
521n/a PyDoc_STR("(UInt8 value) -> None")},
522n/a {"TickCount", (PyCFunction)Evt_TickCount, 1,
523n/a PyDoc_STR("() -> (UInt32 _rv)")},
524n/a {"WaitNextEvent", (PyCFunction)Evt_WaitNextEvent, 1,
525n/a PyDoc_STR("(EventMask eventMask, UInt32 sleep [,RegionHandle]) -> (Boolean _rv, EventRecord theEvent)")},
526n/a {NULL, NULL, 0}
527n/a};
528n/a
529n/a
530n/a#else /* __LP64__ */
531n/a
532n/astatic PyMethodDef Evt_methods[] = {
533n/a {NULL, NULL, 0}
534n/a};
535n/a#endif /* __LP64__ */
536n/a
537n/a
538n/avoid init_Evt(void)
539n/a{
540n/a PyObject *m;
541n/a#ifndef __LP64__
542n/a PyObject *d;
543n/a#endif /* __LP64__ */
544n/a
545n/a
546n/a
547n/a
548n/a m = Py_InitModule("_Evt", Evt_methods);
549n/a#ifndef __LP64__
550n/a d = PyModule_GetDict(m);
551n/a Evt_Error = PyMac_GetOSErrException();
552n/a if (Evt_Error == NULL ||
553n/a PyDict_SetItemString(d, "Error", Evt_Error) != 0)
554n/a return;
555n/a#endif /* __LP64__ */
556n/a}
557n/a
558n/a/* ======================== End module _Evt ========================= */
559n/a