- switch (windowPart)
- {
- case inMenuBar :
- if ( s_macIsInModalLoop )
- {
- SysBeep ( 30 ) ;
- }
- else
- {
- UInt32 menuresult = MenuSelect(ev->where) ;
- MacHandleMenuSelect( HiWord( menuresult ) , LoWord( menuresult ) );
- s_lastMouseDown = 0;
- }
- break ;
- case inSysWindow :
- SystemClick( ev , window ) ;
- s_lastMouseDown = 0;
- break ;
- case inDrag :
- if ( window != frontWindow && s_macIsInModalLoop && !(ev->modifiers & cmdKey ) )
- {
- SysBeep ( 30 ) ;
- }
- else
- {
- DragWindow(window, ev->where, &screenBits.bounds);
- if (win)
- {
- GrafPtr port ;
- GetPort( &port ) ;
- Point pt = { 0, 0 } ;
- SetPortWindowPort(window) ;
- LocalToGlobal( &pt ) ;
- SetPort( port ) ;
- win->SetSize( pt.h , pt.v , -1 ,
- -1 , wxSIZE_USE_EXISTING);
- }
- s_lastMouseDown = 0;
- }
- break ;
- case inGoAway:
- if (TrackGoAway(window, ev->where))
- {
- if ( win )
- win->Close() ;
- }
- s_lastMouseDown = 0;
- break;
- case inGrow:
- {
- Rect newContentRect ;
- Rect constraintRect ;
- constraintRect.top = win->GetMinHeight() ;
- if ( constraintRect.top == -1 )
- constraintRect.top = 0 ;
- constraintRect.left = win->GetMinWidth() ;
- if ( constraintRect.left == -1 )
- constraintRect.left = 0 ;
- constraintRect.right = win->GetMaxWidth() ;
- if ( constraintRect.right == -1 )
- constraintRect.right = 32000 ;
- constraintRect.bottom = win->GetMaxHeight() ;
- if ( constraintRect.bottom == -1 )
- constraintRect.bottom = 32000 ;
-
- Boolean growResult = ResizeWindow( window , ev->where ,
- &constraintRect , &newContentRect ) ;
- if ( growResult )
- {
- win->SetSize( newContentRect.left , newContentRect.top ,
- newContentRect.right - newContentRect.left ,
- newContentRect.bottom - newContentRect.top, wxSIZE_USE_EXISTING);
- }
- s_lastMouseDown = 0;
- }
- break;
- case inZoomIn:
- case inZoomOut:
- if (TrackBox(window, ev->where, windowPart))
- {
- // TODO setup size event
- ZoomWindow( window , windowPart , false ) ;
- if (win)
- {
- Rect tempRect ;
- GrafPtr port ;
- GetPort( &port ) ;
- Point pt = { 0, 0 } ;
- SetPortWindowPort(window) ;
- LocalToGlobal( &pt ) ;
- SetPort( port ) ;
-
- GetWindowPortBounds(window, &tempRect ) ;
- win->SetSize( pt.h , pt.v , tempRect.right-tempRect.left ,
- tempRect.bottom-tempRect.top, wxSIZE_USE_EXISTING);
- }
- }
- s_lastMouseDown = 0;
- break;
- case inCollapseBox :
- // TODO setup size event
- s_lastMouseDown = 0;
- break ;