// wxEventLoop implementation
// ============================================================================
+/*
+static int CalculateNSEventMaskFromEventCategory(wxEventCategory cat)
+{
+ NSLeftMouseDownMask |
+ NSLeftMouseUpMask |
+ NSRightMouseDownMask |
+ NSRightMouseUpMask = 1 << NSRightMouseUp,
+ NSMouseMovedMask = 1 << NSMouseMoved,
+ NSLeftMouseDraggedMask = 1 << NSLeftMouseDragged,
+ NSRightMouseDraggedMask = 1 << NSRightMouseDragged,
+ NSMouseEnteredMask = 1 << NSMouseEntered,
+ NSMouseExitedMask = 1 << NSMouseExited,
+ NSScrollWheelMask = 1 << NSScrollWheel,
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
+ NSTabletPointMask = 1 << NSTabletPoint,
+ NSTabletProximityMask = 1 << NSTabletProximity,
+#endif
+ NSOtherMouseDownMask = 1 << NSOtherMouseDown,
+ NSOtherMouseUpMask = 1 << NSOtherMouseUp,
+ NSOtherMouseDraggedMask = 1 << NSOtherMouseDragged,
+
+
+
+ NSKeyDownMask = 1 << NSKeyDown,
+ NSKeyUpMask = 1 << NSKeyUp,
+ NSFlagsChangedMask = 1 << NSFlagsChanged,
+
+ NSAppKitDefinedMask = 1 << NSAppKitDefined,
+ NSSystemDefinedMask = 1 << NSSystemDefined,
+ NSApplicationDefinedMask = 1 << NSApplicationDefined,
+ NSPeriodicMask = 1 << NSPeriodic,
+ NSCursorUpdateMask = 1 << NSCursorUpdate,
+
+ NSAnyEventMask = 0xffffffffU
+}
+*/
+
wxGUIEventLoop::wxGUIEventLoop()
{
m_sleepTime = 0.0;
wxMacWakeUp();
}
+CFRunLoopRef wxGUIEventLoop::CFGetCurrentRunLoop() const
+{
+ NSRunLoop* nsloop = [NSRunLoop currentRunLoop];
+ return [nsloop getCFRunLoop];
+}
+
+//-----------------------------------------------------------------------------
+// events dispatch and loop handling
+//-----------------------------------------------------------------------------
+
bool wxGUIEventLoop::Pending() const
{
wxMacAutoreleasePool autoreleasepool;
}
else
{
+ if (wxTheApp)
+ wxTheApp->ProcessPendingEvents();
+
if ( wxTheApp->ProcessIdle() )
m_sleepTime = 0.0 ;
else
// OnUpdateUI() which is a nice (and desired) side effect)
while ( ProcessIdle() ) {}
+ // if there are pending events, we must process them.
+ if (wxTheApp)
+ wxTheApp->ProcessPendingEvents();
+
#if wxUSE_LOG
wxLog::Resume();
#endif // wxUSE_LOG