X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9bb3f212e26b4685f0c6ed7281d50b658ecc1491..5a2c086adf6d7c6bba22fcbd57b0958fdc5723a0:/src/generic/vscroll.cpp diff --git a/src/generic/vscroll.cpp b/src/generic/vscroll.cpp index 248ea31c66..50bb4c1c6d 100644 --- a/src/generic/vscroll.cpp +++ b/src/generic/vscroll.cpp @@ -2,7 +2,7 @@ // 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 @@ -157,6 +157,7 @@ wxVarScrollHelperBase::wxVarScrollHelperBase(wxWindow *win) m_win = m_targetWindow = (wxWindow *)NULL; + m_physicalScrolling = true; m_handler = NULL; m_win = win; @@ -591,8 +592,8 @@ bool wxVarScrollHelperBase::DoScrollToUnit(size_t unit) // 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 @@ -600,7 +601,12 @@ bool wxVarScrollHelperBase::DoScrollToUnit(size_t unit) } 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); @@ -963,7 +969,20 @@ wxCoord wxVarVScrollLegacyAdaptor::OnGetLineHeight(size_t WXUNUSED(n)) const return -1; } -void wxVarVScrollLegacyAdaptor::OnGetLinesHint( size_t WXUNUSED(lineMin), size_t WXUNUSED(lineMax)) const -{ } +void wxVarVScrollLegacyAdaptor::OnGetLinesHint(size_t WXUNUSED(lineMin), + size_t WXUNUSED(lineMax)) const +{ +} -#endif +wxCoord wxVarVScrollLegacyAdaptor::OnGetRowHeight(size_t n) const +{ + return OnGetLineHeight(n); +} + +void wxVarVScrollLegacyAdaptor::OnGetRowsHeightHint(size_t rowMin, + size_t rowMax) const +{ + OnGetLinesHint(rowMin, rowMax); +} + +#endif // WXWIN_COMPATIBILITY_2_8