- else if (event.GetEventType() == wxEVT_LEFT_DOWN || event.GetEventType() == wxEVT_LEFT_DCLICK )
- {
-
- int x = event.m_x ;
- int y = event.m_y ;
-
- if ( MacGetTopLevelWindow()->MacUsesCompositing() == false )
- {
- // OS Needs it in tlw content area coordinates
- MacClientToRootWindow( &x , &y ) ;
- }
- else
- {
- // OS Needs it in window not client coordinates
- wxPoint origin = GetClientAreaOrigin() ;
- x += origin.x ;
- y += origin.y ;
- }
- Point localwhere ;
- SInt16 controlpart ;
-
- localwhere.h = x ;
- localwhere.v = y ;
-
- short modifiers = 0;
-
- if ( !event.m_leftDown && !event.m_rightDown )
- modifiers |= btnState ;
-
- if ( event.m_shiftDown )
- modifiers |= shiftKey ;
-
- if ( event.m_controlDown )
- modifiers |= controlKey ;
-
- if ( event.m_altDown )
- modifiers |= optionKey ;
-
- if ( event.m_metaDown )
- modifiers |= cmdKey ;
-
- bool handled = false ;
-
- if ( ::IsControlActive( (ControlRef) m_macControl ) )
- {
- controlpart = ::HandleControlClick( (ControlRef) m_macControl , localwhere , modifiers , (ControlActionUPP) -1 ) ;
- wxTheApp->s_lastMouseDown = 0 ;
- if ( controlpart != kControlNoPart )
- {
- MacHandleControlClick((WXWidget) (ControlRef) m_macControl , controlpart , false /* mouse not down anymore */ ) ;
- handled = true ;
- }
- }
- if ( !handled )
- event.Skip() ;
- }