X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/60fe730339d97ce092453353929e97862c5cb719..a4372af60a7eed11d0deea8db2c7d0fdd75d2b76:/src/generic/scrolwin.cpp diff --git a/src/generic/scrolwin.cpp b/src/generic/scrolwin.cpp index caec770609..4e3db4bf49 100644 --- a/src/generic/scrolwin.cpp +++ b/src/generic/scrolwin.cpp @@ -154,9 +154,15 @@ void wxScrolledWindow::SetScrollbars (int pixelsPerUnitX, int pixelsPerUnitY, AdjustScrollbars(); if (do_refresh && !noRefresh) - m_targetWindow->Refresh(); + m_targetWindow->Refresh(); #ifdef __WXMSW__ + // GRG: if this turns out to be really necessary, we could + // at least move it to the above if { ... } so that it is + // only done if noRefresh = FALSE (the default). OTOH, if + // this doesn't break anything, which seems to be the + // case, we could just leave it out. + // Necessary? // UpdateWindow ((HWND) m_targetWindow->GetHWND()); #endif @@ -345,14 +351,14 @@ void wxScrolledWindow::AdjustScrollbars() if (m_xScrollLines > 0) { - // Calculate page size i.e. number of scroll units you get on the - // current client window + // Calculate page size i.e. number of scroll units you get on the + // current client window int noPagePositions = (int) ( (w/(double)m_xScrollPixelsPerLine) + 0.5 ); if (noPagePositions < 1) noPagePositions = 1; // Correct position if greater than extent of canvas minus - // the visible portion of it or if below zero - m_xScrollPosition = wxMin( m_xScrollLines-noPagePositions, m_xScrollPosition); + // the visible portion of it or if below zero + m_xScrollPosition = wxMin( m_xScrollLines-noPagePositions, m_xScrollPosition); m_xScrollPosition = wxMax( 0, m_xScrollPosition ); SetScrollbar(wxHORIZONTAL, m_xScrollPosition, noPagePositions, m_xScrollLines); @@ -367,13 +373,13 @@ void wxScrolledWindow::AdjustScrollbars() if (m_yScrollLines > 0) { - // Calculate page size i.e. number of scroll units you get on the - // current client window + // Calculate page size i.e. number of scroll units you get on the + // current client window int noPagePositions = (int) ( (h/(double)m_yScrollPixelsPerLine) + 0.5 ); if (noPagePositions < 1) noPagePositions = 1; // Correct position if greater than extent of canvas minus - // the visible portion of it or if below zero + // the visible portion of it or if below zero m_yScrollPosition = wxMin( m_yScrollLines-noPagePositions, m_yScrollPosition ); m_yScrollPosition = wxMax( 0, m_yScrollPosition ); @@ -489,46 +495,41 @@ void wxScrolledWindow::Scroll( int x_pos, int y_pos ) int old_x = m_xScrollPosition; m_xScrollPosition = x_pos; - // Calculate page size i.e. number of scroll units you get on the - // current client window + // Calculate page size i.e. number of scroll units you get on the + // current client window int noPagePositions = (int) ( (w/(double)m_xScrollPixelsPerLine) + 0.5 ); if (noPagePositions < 1) noPagePositions = 1; // Correct position if greater than extent of canvas minus - // the visible portion of it or if below zero + // the visible portion of it or if below zero m_xScrollPosition = wxMin( m_xScrollLines-noPagePositions, m_xScrollPosition ); m_xScrollPosition = wxMax( 0, m_xScrollPosition ); m_targetWindow->SetScrollPos( wxHORIZONTAL, m_xScrollPosition, TRUE ); - m_targetWindow->ScrollWindow( (old_x-m_xScrollPosition)*m_xScrollPixelsPerLine, 0 ); + m_targetWindow->ScrollWindow( (old_x-m_xScrollPosition)*m_xScrollPixelsPerLine, 0 ); } if (y_pos != -1) { int old_y = m_yScrollPosition; m_yScrollPosition = y_pos; - // Calculate page size i.e. number of scroll units you get on the - // current client window + // Calculate page size i.e. number of scroll units you get on the + // current client window int noPagePositions = (int) ( (h/(double)m_yScrollPixelsPerLine) + 0.5 ); if (noPagePositions < 1) noPagePositions = 1; // Correct position if greater than extent of canvas minus - // the visible portion of it or if below zero + // the visible portion of it or if below zero m_yScrollPosition = wxMin( m_yScrollLines-noPagePositions, m_yScrollPosition ); m_yScrollPosition = wxMax( 0, m_yScrollPosition ); m_targetWindow->SetScrollPos( wxVERTICAL, m_yScrollPosition, TRUE ); - m_targetWindow->ScrollWindow( 0, (old_y-m_yScrollPosition)*m_yScrollPixelsPerLine ); + m_targetWindow->ScrollWindow( 0, (old_y-m_yScrollPosition)*m_yScrollPixelsPerLine ); } -#ifdef __WXMSW__ -// ::UpdateWindow ((HWND) GetHWND()); -#else -// Refresh(); -#endif #ifdef __WXMAC__ m_targetWindow->MacUpdateImmediately() ; #endif @@ -549,7 +550,7 @@ void wxScrolledWindow::GetVirtualSize (int *x, int *y) const } // Where the current view starts from -void wxScrolledWindow::ViewStart (int *x, int *y) const +void wxScrolledWindow::GetViewStart (int *x, int *y) const { if ( x ) *x = m_xScrollPosition;