1/////////////////////////////////////////////////////////////////////////////
2// Name:        wx/gtk1/scrolwin.h
3// Purpose:     wxScrolledWindow class
4// Author:      Robert Roebling
5// Modified by: Vadim Zeitlin (2005-10-10): wxScrolledWindow is now common
6// Created:     01/02/97
7// RCS-ID:      $Id: scrolwin.h 37065 2006-01-23 02:28:01Z MR $
8// Copyright:   (c) Robert Roebling
9// Licence:     wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_GTK_SCROLLWIN_H_
13#define _WX_GTK_SCROLLWIN_H_
14
15// ----------------------------------------------------------------------------
16// wxScrolledWindow
17// ----------------------------------------------------------------------------
18
19class WXDLLEXPORT wxScrollHelperNative : public wxScrollHelper
20{
21public:
22    // default ctor doesn't do anything
23    wxScrollHelperNative(wxWindow *win) : wxScrollHelper(win) { }
24
25    virtual void SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY,
26                               int noUnitsX, int noUnitsY,
27                               int xPos = 0, int yPos = 0,
28                               bool noRefresh = false);
29    virtual void AdjustScrollbars();
30    virtual void Scroll(int x, int y);
31
32protected:
33    // this does (each) half of AdjustScrollbars() work
34    void DoAdjustScrollbar(GtkAdjustment *adj,
35                           int pixelsPerLine,
36                           int winSize,
37                           int virtSize,
38                           int *pos,
39                           int *lines,
40                           int *linesPerPage);
41
42    // and this does the same for Scroll()
43    void DoScroll(int orient,
44                  GtkAdjustment *adj,
45                  int pos,
46                  int pixelsPerLine,
47                  int *posOld);
48
49private:
50    DECLARE_NO_COPY_CLASS(wxScrollHelperNative)
51};
52
53#endif // _WX_GTK_SCROLLWIN_H_
54
55