From 66a586557672f11b9fe888f4ad9f3b8fc0583b6f Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Sun, 24 Feb 2002 23:27:52 +0000 Subject: [PATCH] reverted wxMGL-specific code (didn't mean to commit this...) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/univ/winuniv.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/univ/winuniv.cpp b/src/univ/winuniv.cpp index a09d562d1f..33de114721 100644 --- a/src/univ/winuniv.cpp +++ b/src/univ/winuniv.cpp @@ -763,9 +763,11 @@ int wxWindow::GetScrollRange(int orient) const void wxWindow::ScrollWindow(int dx, int dy, const wxRect *rect) { + // use native scrolling when available and do it in generic way + // otherwise: #ifdef __WXX11__ - wxWindowX11::ScrollWindow( dx, dy, rect ); + wxWindowNative::ScrollWindow(dx, dy, rect); #else @@ -786,6 +788,19 @@ void wxWindow::ScrollWindow(int dx, int dy, const wxRect *rect) Refresh(TRUE /* erase bkgnd */, &r); } + // scroll children accordingly: + wxPoint offset(dx, dy); + + for (wxWindowList::Node *node = GetChildren().GetFirst(); + node; node = node->GetNext()) + { + wxWindow *child = node->GetData(); + if ( child != m_scrollbarVert && child != m_scrollbarHorz && + (rect == NULL || rect->Intersects(child->GetRect())) ) + { + child->Move(child->GetPosition() + offset); + } + } #endif } -- 2.47.2