X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d32e78bd428286561c0db32afda4dea7e262cb84..86ac84b8ce086e6bbda58f422d41f84268606e35:/include/wx/generic/scrolwin.h diff --git a/include/wx/generic/scrolwin.h b/include/wx/generic/scrolwin.h index de52bde70e..c4f4a0b292 100644 --- a/include/wx/generic/scrolwin.h +++ b/include/wx/generic/scrolwin.h @@ -1,11 +1,10 @@ ///////////////////////////////////////////////////////////////////////////// // Name: wx/generic/scrolwin.h -// Purpose: wxGenericScrolledWindow class -// Author: Julian Smart -// Modified by: -// Created: 01/02/97 +// Purpose: generic wxScrollHelper +// Author: Vadim Zeitlin +// Created: 2008-12-24 (replacing old file with the same name) // RCS-ID: $Id$ -// Copyright: (c) Julian Smart +// Copyright: (c) 2008 Vadim Zeitlin // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -13,15 +12,42 @@ #define _WX_GENERIC_SCROLLWIN_H_ // ---------------------------------------------------------------------------- -// headers and constants +// generic wxScrollHelper implementation // ---------------------------------------------------------------------------- -#include "wx/window.h" -#include "wx/panel.h" +class WXDLLIMPEXP_CORE wxScrollHelper : public wxScrollHelperBase +{ +public: + wxScrollHelper(wxWindow *winToScroll); -// ---------------------------------------------------------------------------- -// wxGenericScrolledWindow -// ---------------------------------------------------------------------------- + // implement base class pure virtuals + virtual void AdjustScrollbars(); + +protected: + virtual void DoScroll(int x, int y); + virtual void DoShowScrollbars(wxScrollbarVisibility horz, + wxScrollbarVisibility vert); + +private: + // helper of AdjustScrollbars(): does the work for the single scrollbar + // + // notice that the parameters passed by non-const references are modified + // by this function + void DoAdjustScrollbar(int orient, + int clientSize, + int virtSize, + int pixelsPerUnit, + int& scrollUnits, + int& scrollPosition, + int& scrollLinesPerPage, + wxScrollbarVisibility visibility); + + + wxScrollbarVisibility m_xVisibility, + m_yVisibility; + + wxDECLARE_NO_COPY_CLASS(wxScrollHelper); +}; #endif // _WX_GENERIC_SCROLLWIN_H_