X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/139adb6a281e8c1a94519e24a1e7be319b50155e..ea6f44b5ec30afe787845ec33bbfcd20c1c5e469:/src/generic/scrolwin.cpp diff --git a/src/generic/scrolwin.cpp b/src/generic/scrolwin.cpp index 4b99809f81..2a2eeb014c 100644 --- a/src/generic/scrolwin.cpp +++ b/src/generic/scrolwin.cpp @@ -20,10 +20,6 @@ #include "wx/utils.h" #include "wx/dcclient.h" -#ifdef __WXMSW__ -#include "windows.h" -#endif - #ifdef __BORLANDC__ #pragma hdrstop #endif @@ -40,6 +36,10 @@ END_EVENT_TABLE() IMPLEMENT_DYNAMIC_CLASS(wxScrolledWindow, wxWindow) #endif +#ifdef __WXMSW__ +#include "windows.h" +#endif + wxScrolledWindow::wxScrolledWindow(void) { m_xScrollPixelsPerLine = 0; @@ -110,6 +110,7 @@ void wxScrolledWindow::SetScrollbars (int pixelsPerUnitX, int pixelsPerUnitY, if (do_refresh && !noRefresh) Refresh(); #ifdef __WXMSW__ + // Necessary? UpdateWindow ((HWND) GetHWND()); #endif } @@ -121,7 +122,6 @@ void wxScrolledWindow::OnScroll(wxScrollEvent& event) int nScrollInc = CalcScrollInc(event); if (nScrollInc == 0) return; - // TODO: should we store the scroll position here as well as in wxWindow? if (orient == wxHORIZONTAL) { int newPos = m_xScrollPosition + nScrollInc; @@ -133,19 +133,6 @@ void wxScrolledWindow::OnScroll(wxScrollEvent& event) SetScrollPos(wxVERTICAL, newPos, TRUE ); } -/* - // TODO We need to multiply the ScrollWindow amount by the scaling - // factor, but how do we know what this is in wxWin 2.0??? - float scaleX = 1.0; - float scaleY = 1.0; - - if ( this->IsKindOf(CLASSINFO(wxCanvas)) ) - { - wxDC* dc = ((wxCanvas *)this)->GetDC(); - dc->GetUserScale(&scaleX, &scaleY); - } -*/ - if (orient == wxHORIZONTAL) { m_xScrollPosition += nScrollInc; @@ -234,6 +221,7 @@ int wxScrolledWindow::CalcScrollInc(wxScrollEvent& event) break; } } + if (orient == wxHORIZONTAL) { if (m_xScrollPixelsPerLine > 0) { @@ -295,7 +283,8 @@ void wxScrolledWindow::AdjustScrollbars(void) m_xScrollPosition = wxMax( 0, m_xScrollPosition ); SetScrollbar(wxHORIZONTAL, m_xScrollPosition, noPagePositions, m_xScrollLines); -// SetScrollPageSize(wxHORIZONTAL, noPagePositions); + // The amount by which we scroll when paging + SetScrollPageSize(wxHORIZONTAL, noPagePositions); } else { @@ -316,7 +305,8 @@ void wxScrolledWindow::AdjustScrollbars(void) m_yScrollPosition = wxMax( 0, m_yScrollPosition ); SetScrollbar(wxVERTICAL, m_yScrollPosition, noPagePositions, m_yScrollLines); -// SetScrollPageSize(wxVERTICAL, noPagePositions); + // The amount by which we scroll when paging + SetScrollPageSize(wxVERTICAL, noPagePositions); } else { @@ -431,6 +421,7 @@ void wxScrolledWindow::Scroll( int x_pos, int y_pos ) Refresh(); #ifdef __WXMSW__ + // Necessary? ::UpdateWindow ((HWND) GetHWND()); #endif }