MCPcopy Create free account
hub / github.com/MyGUI/mygui / updateScrollSize

Method updateScrollSize

MyGUIEngine/src/MyGUI_ScrollViewBase.cpp:14–232  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12{
13
14 void ScrollViewBase::updateScrollSize()
15 {
16 if (mScrollViewClient == nullptr)
17 return;
18
19 eraseContent();
20 IntSize contentSize = getContentSize();
21 IntSize viewSize = getViewSize();
22
23 // вертикальный контент не помещается
24 if (contentSize.height > viewSize.height)
25 {
26 if (mVScroll != nullptr)
27 {
28 if (!mVScroll->getVisible() && mVisibleVScroll)
29 {
30 mVScroll->setVisible(true);
31 mScrollViewClient->setSize(
32 mScrollViewClient->getWidth() - mVScroll->getWidth(),
33 mScrollViewClient->getHeight());
34
35 // размер может измениться
36 if (mChangeContentByResize)
37 {
38 eraseContent();
39 contentSize = getContentSize();
40 viewSize = getViewSize();
41 }
42
43 if (mHScroll != nullptr)
44 {
45 mHScroll->setSize(mHScroll->getWidth() - mVScroll->getWidth(), mHScroll->getHeight());
46
47 // если показали вертикальный скрол бар, уменьшилось вью по горизонтали,
48 // пересчитываем горизонтальный скрол на предмет показа
49 if ((contentSize.width > viewSize.width) && (!mHScroll->getVisible()) && (mVisibleHScroll))
50 {
51 mHScroll->setVisible(true);
52 mScrollViewClient->setSize(
53 mScrollViewClient->getWidth(),
54 mScrollViewClient->getHeight() - mHScroll->getHeight());
55 mVScroll->setSize(mVScroll->getWidth(), mVScroll->getHeight() - mHScroll->getHeight());
56
57 // размер может измениться
58 if (mChangeContentByResize)
59 {
60 eraseContent();
61 contentSize = getContentSize();
62 viewSize = getViewSize();
63 }
64 }
65 }
66 }
67 }
68 }
69 // вертикальный контент помещается
70 else
71 {

Callers

nothing calls this directly

Calls 10

setScrollPageMethod · 0.80
setScrollViewPageMethod · 0.80
setScrollRangeMethod · 0.80
setTrackSizeMethod · 0.80
getLineSizeMethod · 0.80
getVisibleMethod · 0.45
setVisibleMethod · 0.45
setSizeMethod · 0.45
getWidthMethod · 0.45
getHeightMethod · 0.45

Tested by

no test coverage detected