summaryrefslogtreecommitdiffstats
path: root/Mac/Python/macglue.c
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>1995-02-02 14:25:56 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>1995-02-02 14:25:56 (GMT)
commita76382a6ac56b35def05f23740e55dc064eb15e7 (patch)
tree422f6be5564e54f4d9e9a58a0903d7b2f66606c0 /Mac/Python/macglue.c
parent8828fcf7383aa38539fd331d9b93138c156f8810 (diff)
downloadcpython-a76382a6ac56b35def05f23740e55dc064eb15e7.zip
cpython-a76382a6ac56b35def05f23740e55dc064eb15e7.tar.gz
cpython-a76382a6ac56b35def05f23740e55dc064eb15e7.tar.bz2
Added HandleEvent method to macos, so python programs can hand back
events they don't want to handle to stdio
Diffstat (limited to 'Mac/Python/macglue.c')
-rw-r--r--Mac/Python/macglue.c35
1 files changed, 23 insertions, 12 deletions
diff --git a/Mac/Python/macglue.c b/Mac/Python/macglue.c
index a99023b..98a5c7b 100644
--- a/Mac/Python/macglue.c
+++ b/Mac/Python/macglue.c
@@ -267,13 +267,34 @@ PyMac_SetYield(long fgi, long fgy, long bgi, long bgy)
}
/*
+** Handle an event, either one found in the mainloop eventhandler or
+** one passed back from the python program.
+*/
+void
+PyMac_HandleEvent(evp)
+ EventRecord *evp;
+{
+ WindowPtr wp;
+
+#ifdef __MWERKS__
+ /* If SIOUX wants it we're done */
+ (void)SIOUXHandleOneEvent(evp);
+#else
+ /* Other compilers are just unlucky: we only weed out clicks in other applications */
+ if ( evp->what == mouseDown ) {
+ if ( FindWindow(evp->where, &wp) == inSysWindow )
+ SystemClick(evp, wp);
+ }
+#endif /* !__MWERKS__ */
+}
+
+/*
** Yield the CPU to other tasks.
*/
static
PyMac_DoYield()
{
EventRecord ev;
- WindowPtr wp;
long yield;
static int no_waitnextevent = -1;
int gotone;
@@ -306,17 +327,7 @@ PyMac_DoYield()
/* Get out quickly if nothing interesting is happening */
if ( !gotone || ev.what == nullEvent )
break;
-
-#ifdef __MWERKS__
- /* If SIOUX wants it we're done too */
- (void)SIOUXHandleOneEvent(&ev);
-#else
- /* Other compilers are just unlucky: we only weed out clicks in other applications */
- if ( ev.what == mouseDown ) {
- if ( FindWindow(ev.where, &wp) == inSysWindow )
- SystemClick(&ev, wp);
- }
-#endif /* !__MWERKS__ */
+ PyMac_HandleEvent(&ev);
}
lastyield = TickCount();
}