X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/add7cadd99d1b40dc012db655643f9c8c7080029..a516284f67e1910fc6dc5364b289340332d0d35f:/include/wx/gtk/scrolwin.h?ds=sidebyside diff --git a/include/wx/gtk/scrolwin.h b/include/wx/gtk/scrolwin.h index 246e8269f7..dac8d76689 100644 --- a/include/wx/gtk/scrolwin.h +++ b/include/wx/gtk/scrolwin.h @@ -16,36 +16,62 @@ // 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(GtkRange* range, int pixelsPerLine, int winSize, int virtSize, + int *pos, 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, - 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_