X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d32e78bd428286561c0db32afda4dea7e262cb84..a516284f67e1910fc6dc5364b289340332d0d35f:/include/wx/gtk/scrolwin.h?ds=sidebyside diff --git a/include/wx/gtk/scrolwin.h b/include/wx/gtk/scrolwin.h index 92ecc160d7..dac8d76689 100644 --- a/include/wx/gtk/scrolwin.h +++ b/include/wx/gtk/scrolwin.h @@ -16,22 +16,28 @@ // wxScrolledWindow // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxScrollHelperNative : public wxScrollHelper +class WXDLLIMPEXP_CORE wxScrollHelper : public wxScrollHelperBase { + typedef wxScrollHelperBase base_type; public: // default ctor doesn't do anything - wxScrollHelperNative(wxWindow *win) : wxScrollHelper(win) { } + wxScrollHelper(wxWindow *win) : wxScrollHelperBase(win) { } + // implement the base class methods virtual void SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY, int noUnitsX, int noUnitsY, int xPos = 0, int yPos = 0, bool noRefresh = false); virtual void AdjustScrollbars(); - virtual void Scroll(int x, int y); protected: + virtual void DoScroll(int x, int y); + virtual void DoShowScrollbars(wxScrollbarVisibility horz, + wxScrollbarVisibility vert); + +private: // this does (each) half of AdjustScrollbars() work - void DoAdjustScrollbar(GtkAdjustment *adj, + void DoAdjustScrollbar(GtkRange* range, int pixelsPerLine, int winSize, int virtSize, @@ -39,15 +45,33 @@ protected: int *lines, int *linesPerPage); + void DoAdjustHScrollbar(int winSize, int virtSize) + { + DoAdjustScrollbar + ( + m_win->m_scrollBar[wxWindow::ScrollDir_Horz], + m_xScrollPixelsPerLine, winSize, virtSize, + &m_xScrollPosition, &m_xScrollLines, &m_xScrollLinesPerPage + ); + } + + void DoAdjustVScrollbar(int winSize, int virtSize) + { + DoAdjustScrollbar + ( + m_win->m_scrollBar[wxWindow::ScrollDir_Vert], + m_yScrollPixelsPerLine, winSize, virtSize, + &m_yScrollPosition, &m_yScrollLines, &m_yScrollLinesPerPage + ); + } + // and this does the same for Scroll() - void DoScroll(int orient, - GtkAdjustment *adj, - int pos, - int pixelsPerLine, - int *posOld); + void DoScrollOneDir(int orient, + int pos, + int pixelsPerLine, + int *posOld); -private: - DECLARE_NO_COPY_CLASS(wxScrollHelperNative) + wxDECLARE_NO_COPY_CLASS(wxScrollHelper); }; #endif // _WX_GTK_SCROLLWIN_H_