wxTheApp->s_captureWindow = this ;
}
+wxWindow* wxWindowBase::GetCapture()
+{
+ return wxTheApp->s_captureWindow ;
+}
+
void wxWindow::ReleaseMouse()
{
wxTheApp->s_captureWindow = NULL ;
MacRepositionScrollBars() ;
if ( doMove )
{
- wxMoveEvent event(wxPoint(m_x, m_y), m_windowId);
+ wxPoint point(m_x, m_y);
+ wxMoveEvent event(point, m_windowId);
event.SetEventObject(this);
GetEventHandler()->ProcessEvent(event) ;
}
if ( doResize )
{
- MacRepositionScrollBars() ;
- wxSizeEvent event(wxSize(m_width, m_height), m_windowId);
- event.SetEventObject(this);
- GetEventHandler()->ProcessEvent(event);
+ MacRepositionScrollBars() ;
+ wxSize size(m_width, m_height);
+ wxSizeEvent event(size, m_windowId);
+ event.SetEventObject(this);
+ GetEventHandler()->ProcessEvent(event);
}
}
}
UMASelectWindow( m_macWindowData->m_macWindow ) ;
// no need to generate events here, they will get them triggered by macos
// actually they should be , but apparently they are not
- wxSizeEvent event(wxSize(m_width, m_height), m_windowId);
+ wxSize size(m_width, m_height);
+ wxSizeEvent event(size, m_windowId);
event.SetEventObject(this);
GetEventHandler()->ProcessEvent(event);
}
}
}
MacSuperShown( show ) ;
- Refresh() ;
+ if ( !show )
+ {
+ WindowRef window = GetMacRootWindow() ;
+ wxWindow* win = wxFindWinFromMacWindow( window ) ;
+ if ( !win->m_isBeingDeleted )
+ Refresh() ;
+ }
+ else
+ {
+ Refresh() ;
+ }
return TRUE;
}
// Raise the window to the top of the Z order
void wxWindow::Raise()
{
- // TODO
+ if ( m_macWindowData )
+ {
+ UMABringToFront( m_macWindowData->m_macWindow ) ;
+ }
}
// Lower the window to the bottom of the Z order
void wxWindow::Lower()
{
- // TODO
+ if ( m_macWindowData )
+ {
+ UMASendBehind( m_macWindowData->m_macWindow , NULL ) ;
+ }
}
void wxWindow::DoSetClientSize(int width, int height)
RGBBackColor( &m_backgroundColour.GetPixel()) ;
}
// subtract all non transparent children from updatergn
-
+
RgnHandle childarea = NewRgn() ;
for (wxNode *node = GetChildren().First(); node; node = node->Next())
{
// eventually test for transparent windows
if ( child->GetMacRootWindow() == window && child->IsShown() )
{
- if ( !child->IsKindOf( CLASSINFO( wxControl ) ) && ((wxControl*)child)->GetMacControl() )
+ if ( child->GetBackgroundColour() != m_backgroundColour && !child->IsKindOf( CLASSINFO( wxControl ) ) && ((wxControl*)child)->GetMacControl() )
{
SetRectRgn( childarea , child->m_x , child->m_y , child->m_x + child->m_width , child->m_y + child->m_height ) ;
DiffRgn( ownUpdateRgn , childarea , ownUpdateRgn ) ;