7#ifndef MYGUI_SCROLL_BAR_H_
8#define MYGUI_SCROLL_BAR_H_
29 void setVerticalAlignment(
bool _value);
31 bool getVerticalAlignment()
const;
34 void setScrollRange(
size_t _range);
36 size_t getScrollRange()
const;
39 void setScrollPosition(
size_t _position);
41 size_t getScrollPosition()
const;
46 void setScrollPage(
size_t _value);
48 size_t getScrollPage()
const;
53 void setScrollViewPage(
size_t _value);
55 size_t getScrollViewPage()
const;
60 void setScrollWheelPage(
size_t _value);
62 size_t getScrollWheelPage()
const;
65 int getLineSize()
const;
70 void setTrackSize(
int _size);
72 int getTrackSize()
const;
75 void setMinTrackSize(
int _value);
77 int getMinTrackSize()
const;
83 void setMoveToClick(
bool _value);
85 bool getMoveToClick()
const;
90 void setRepeatEnabled(
bool enabled);
94 bool getRepeatEnabled()
const;
97 void setRepeatTriggerTime(
float time);
99 float getRepeatTriggerTime(
float time)
const;
102 void setRepeatStepTime(
float time);
104 float getRepeatStepTime(
float time)
const;
107 void setPosition(
const IntPoint& _point)
override;
109 void setSize(
const IntSize& _size)
override;
111 void setCoord(
const IntCoord& _coord)
override;
113 using Widget::setPosition;
114 using Widget::setSize;
115 using Widget::setCoord;
126 void initialiseOverride()
override;
127 void shutdownOverride()
override;
130 void TrackMove(
int _left,
int _top);
132 void onMouseWheel(
int _rel)
override;
137 void notifyMouseWheel(
Widget* _sender,
int _rel);
139 void setPropertyOverride(std::string_view _key, std::string_view _value)
override;
141 int getTrackPlaceLength()
const;
145 void widgetStartPressed();
146 void widgetEndPressed();
147 void widgetFirstPartPressed();
148 void widgetSecondPartPressed();
163 size_t mSkinRangeStart{0};
164 size_t mSkinRangeEnd{0};
166 size_t mScrollRange{0};
167 size_t mScrollPosition{0};
168 size_t mScrollPage{0};
169 size_t mScrollViewPage{0};
170 size_t mScrollWheelPage{0};
172 bool mEnableRepeat{
true};
173 float mRepeatTriggerTime{0.f};
174 float mRepeatStepTime{0.f};
176 int mMinTrackSize{0};
177 bool mMoveToClick{
false};
179 bool mVerticalAlignment{
true};
#define MYGUI_RTTI_DERIVED(DerivedType)