// Name: src/generic/vscroll.cpp
// Purpose: wxVScrolledWindow implementation
// Author: Vadim Zeitlin
-// Modified by: Brad Anderson
+// Modified by: Brad Anderson, David Warkentin
// Created: 30.05.03
// RCS-ID: $Id$
// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
m_win =
m_targetWindow = (wxWindow *)NULL;
+ m_physicalScrolling = true;
m_handler = NULL;
m_win = win;
// finally refresh the display -- but only redraw as few units as possible
// to avoid flicker. We can't do this if we have children because they
// won't be scrolled
- if ( m_targetWindow->GetChildren().empty() &&
- GetVisibleBegin() >= unitLastOld || GetVisibleEnd() <= unitFirstOld )
+ if ( (m_targetWindow->GetChildren().empty() &&
+ GetVisibleBegin() >= unitLastOld) || GetVisibleEnd() <= unitFirstOld )
{
// the simplest case: we don't have any old units left, just redraw
// everything
}
else // scroll the window
{
+ // Avoid scrolling visible parts of the screen on Mac
+#ifdef __WXMAC__
+ if (m_physicalScrolling && m_targetWindow->IsShownOnScreen())
+#else
if ( m_physicalScrolling )
+#endif
{
wxCoord dx = 0,
dy = GetUnitsSize(GetVisibleBegin(), unitFirstOld);