MyGUI  3.0.1
MyGUI_ScrollViewBase.h
Go to the documentation of this file.
1 
7 /*
8  This file is part of MyGUI.
9 
10  MyGUI is free software: you can redistribute it and/or modify
11  it under the terms of the GNU Lesser General Public License as published by
12  the Free Software Foundation, either version 3 of the License, or
13  (at your option) any later version.
14 
15  MyGUI is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  GNU Lesser General Public License for more details.
19 
20  You should have received a copy of the GNU Lesser General Public License
21  along with MyGUI. If not, see <http://www.gnu.org/licenses/>.
22 */
23 #ifndef __MYGUI_SCROLL_VIEW_BASE_H__
24 #define __MYGUI_SCROLL_VIEW_BASE_H__
25 
26 #include "MyGUI_Prerequest.h"
27 #include "MyGUI_Types.h"
28 
29 namespace MyGUI
30 {
31 
33  {
34 
35  protected:
37  virtual ~ScrollViewBase() { }
38 
39  void updateScrollSize();
40  void updateScrollPosition();
41 
42  // размер данных
43  virtual IntSize getContentSize() { return IntSize(); }
44  // смещение данных
45  virtual IntPoint getContentPosition() { return IntPoint(); }
46  virtual void setContentPosition(const IntPoint& _value) { }
47  // размер окна, через которые видно данные
48  virtual IntSize getViewSize() const { return IntSize(); }
49  // размер на который прокручиваются данные при щелчке по скролу
50  virtual size_t getHScrollPage() { return 1; }
51  virtual size_t getVScrollPage() { return 1; }
52 
53  virtual Align getContentAlign() { return Align::Center; }
54 
55  virtual void eraseContent() { }
56 
57  protected:
61 
64 
65  size_t mVRange;
66  size_t mHRange;
67 
68  // изменяется ли содержимое при ресайзе
70 
71  };
72 
73 } // namespace MyGUI
74 
75 #endif // __MYGUI_SCROLL_VIEW_BASE_H__