MyGUI 3.4.3
MyGUI_ScrollViewBase.h
Go to the documentation of this file.
1/*
2 * This source file is part of MyGUI. For the latest info, see http://mygui.info/
3 * Distributed under the MIT License
4 * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT)
5 */
6
7#ifndef MYGUI_SCROLL_VIEW_BASE_H_
8#define MYGUI_SCROLL_VIEW_BASE_H_
9
10#include "MyGUI_Prerequest.h"
11#include "MyGUI_Types.h"
12
13namespace MyGUI
14{
15
17 {
18 protected:
19 virtual ~ScrollViewBase() = default;
20
21 void updateScrollSize();
22 void updateScrollPosition();
23
24 // размер данных
25 virtual IntSize getContentSize() const;
26
27 // смещение данных
28 virtual IntPoint getContentPosition() const;
29 virtual void setContentPosition(const IntPoint& _value);
30
31 // размер окна, через которые видно данные
32 virtual IntSize getViewSize() const;
33
34 // размер на который прокручиваются данные при щелчке по скролу
35 virtual size_t getHScrollPage() const;
36 virtual size_t getVScrollPage() const;
37
38 virtual Align getContentAlign() const;
39
40 virtual void eraseContent();
41
42 protected:
43 ScrollBar* mVScroll{nullptr};
44 ScrollBar* mHScroll{nullptr};
45 Widget* mScrollViewClient{nullptr};
46
47 bool mVisibleHScroll{true};
48 bool mVisibleVScroll{true};
49
50 size_t mVRange{0};
51 size_t mHRange{0};
52
53 // изменяется ли содержимое при ресайзе
54 bool mChangeContentByResize{false};
55 };
56
57} // namespace MyGUI
58
59#endif // MYGUI_SCROLL_VIEW_BASE_H_
#define MYGUI_EXPORT
widget description should be here.
virtual ~ScrollViewBase()=default
widget description should be here.