]> git.saurik.com Git - wxWidgets.git/commitdiff
Added child window scrolling
authorRobert Roebling <robert@roebling.de>
Sat, 19 Aug 2000 08:58:19 +0000 (08:58 +0000)
committerRobert Roebling <robert@roebling.de>
Sat, 19 Aug 2000 08:58:19 +0000 (08:58 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8138 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/mac/carbon/window.cpp
src/mac/window.cpp

index 3dd198b36997c90f3570183a59f78acebbab0f21..8c14292b7ddd2bc865723694f97eb30b04e9cb15 100644 (file)
@@ -1246,6 +1246,20 @@ void wxWindow::ScrollWindow(int dx, int dy, const wxRect *rect)
        InvalWindowRgn( GetMacRootWindow() ,  updateRgn ) ;
        DisposeRgn( updateRgn ) ;
        }
+       
+       for (wxNode *node = GetChildren().First(); node; node = node->Next())
+       {
+               wxWindow *child = (wxWindow*)node->Data();
+               if (child == m_vScrollBar) continue;
+               if (child == m_hScrollBar) continue;
+               if (child->IsTopLevel()) continue;
+               int x,y;
+               child->GetPosition( &x, &y );
+               int w,h;
+               child->GetSize( &w, &h );
+               child->SetSize( x+dx, y+dy, w, h );
+       }
+       
 }
 
 void wxWindow::MacOnScroll(wxScrollEvent &event )
@@ -1741,6 +1755,7 @@ void wxWindow::MacRedraw( RgnHandle updatergn , long time)
                        RgnHandle newupdate = NewRgn() ;
                        wxSize point = GetClientSize() ;
                        wxPoint origin = GetClientAreaOrigin() ;
+
                        SetRectRgn( newupdate , origin.x , origin.y , origin.x + point.x , origin.y+point.y ) ;
                        SectRgn( newupdate , m_macUpdateRgn , newupdate ) ;
                        OffsetRgn( newupdate , -origin.x , -origin.y ) ;
@@ -1754,13 +1769,10 @@ void wxWindow::MacRedraw( RgnHandle updatergn , long time)
                event.SetEventObject(this);
                GetEventHandler()->ProcessEvent(event);
        }
-       {
-       }
-
        
        
        RgnHandle childupdate = NewRgn() ;
-
+                       
        for (wxNode *node = GetChildren().First(); node; node = node->Next())
        {
                wxWindow *child = (wxWindow*)node->Data();
index 3dd198b36997c90f3570183a59f78acebbab0f21..8c14292b7ddd2bc865723694f97eb30b04e9cb15 100644 (file)
@@ -1246,6 +1246,20 @@ void wxWindow::ScrollWindow(int dx, int dy, const wxRect *rect)
        InvalWindowRgn( GetMacRootWindow() ,  updateRgn ) ;
        DisposeRgn( updateRgn ) ;
        }
+       
+       for (wxNode *node = GetChildren().First(); node; node = node->Next())
+       {
+               wxWindow *child = (wxWindow*)node->Data();
+               if (child == m_vScrollBar) continue;
+               if (child == m_hScrollBar) continue;
+               if (child->IsTopLevel()) continue;
+               int x,y;
+               child->GetPosition( &x, &y );
+               int w,h;
+               child->GetSize( &w, &h );
+               child->SetSize( x+dx, y+dy, w, h );
+       }
+       
 }
 
 void wxWindow::MacOnScroll(wxScrollEvent &event )
@@ -1741,6 +1755,7 @@ void wxWindow::MacRedraw( RgnHandle updatergn , long time)
                        RgnHandle newupdate = NewRgn() ;
                        wxSize point = GetClientSize() ;
                        wxPoint origin = GetClientAreaOrigin() ;
+
                        SetRectRgn( newupdate , origin.x , origin.y , origin.x + point.x , origin.y+point.y ) ;
                        SectRgn( newupdate , m_macUpdateRgn , newupdate ) ;
                        OffsetRgn( newupdate , -origin.x , -origin.y ) ;
@@ -1754,13 +1769,10 @@ void wxWindow::MacRedraw( RgnHandle updatergn , long time)
                event.SetEventObject(this);
                GetEventHandler()->ProcessEvent(event);
        }
-       {
-       }
-
        
        
        RgnHandle childupdate = NewRgn() ;
-
+                       
        for (wxNode *node = GetChildren().First(); node; node = node->Next())
        {
                wxWindow *child = (wxWindow*)node->Data();