1 #include "UiScrollable.h"
3 UiScrollable::UiScrollable(std::shared_ptr<UiSelector> selector)
4 : mSelector{selector}, mMaxSearchSwipe{100}, mScrollStep{50}
8 UiScrollable::UiScrollable()
9 : mSelector{nullptr}, mMaxSearchSwipe{1}, mScrollStep{1}
11 // todo : find the top most scrollable object
14 bool UiScrollable::scrollToObject(UiObject *obj)
16 auto sel = obj->getSelector();
18 if (exists(obj)) return true;
20 for (int i = 0 ; i < mMaxSearchSwipe ; ++i) {
21 bool scrolled = scrollForward();
22 if (exists(obj)) return true;
23 if (!scrolled) return false;
28 bool UiScrollable::exists(UiObject *obj)
30 return (obj->isShowing() && obj->isVisible());
33 bool UiScrollable::scrollForward()
35 return scrollForward(mScrollStep);
38 bool UiScrollable::scrollForward(int steps)
50 bool UiScrollable::scrollBackward()
54 bool UiScrollable::scrollBackward(int steps)
59 bool UiScrollable::scrollToBegin()