diff options
author | crupest <crupest@outlook.com> | 2021-02-28 15:57:47 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2021-02-28 15:57:47 +0800 |
commit | e19d42f2f89ad6670e6b9a226bcf7abc12003bb5 (patch) | |
tree | 45a1221d6254233de127506f1b85a00f0bf7e989 /include/cru/ui | |
parent | a64ace1b09cb3c8594f510075ceffee17d8b7cfb (diff) | |
download | cru-e19d42f2f89ad6670e6b9a226bcf7abc12003bb5.tar.gz cru-e19d42f2f89ad6670e6b9a226bcf7abc12003bb5.tar.bz2 cru-e19d42f2f89ad6670e6b9a226bcf7abc12003bb5.zip |
...
Diffstat (limited to 'include/cru/ui')
-rw-r--r-- | include/cru/ui/render/ScrollBar.hpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/include/cru/ui/render/ScrollBar.hpp b/include/cru/ui/render/ScrollBar.hpp index e3dabb57..fc2910c4 100644 --- a/include/cru/ui/render/ScrollBar.hpp +++ b/include/cru/ui/render/ScrollBar.hpp @@ -4,6 +4,7 @@ #include "cru/common/Event.hpp" #include "cru/platform/graphics/Base.hpp" #include "cru/platform/graphics/Painter.hpp" +#include "cru/platform/gui/Cursor.hpp" #include "cru/platform/gui/UiApplication.hpp" #include "cru/ui/Base.hpp" #include "cru/ui/controls/Control.hpp" @@ -40,7 +41,7 @@ class ScrollBar : public Object { CRU_DELETE_COPY(ScrollBar) CRU_DELETE_MOVE(ScrollBar) - ~ScrollBar() override = default; + ~ScrollBar() override; public: Direction GetDirection() const { return direction_; } @@ -89,6 +90,10 @@ class ScrollBar : public Object { virtual float CalculateNewScrollPosition(const Rect& thumb_original_rect, const Point& mouse_offset) = 0; + private: + void SetCursor(); + void RestoreCursor(); + protected: gsl::not_null<ScrollRenderObject*> render_object_; @@ -111,6 +116,8 @@ class ScrollBar : public Object { EventRevokerListGuard event_guard_; Event<Scroll> scroll_attempt_event_; + + std::optional<std::shared_ptr<platform::gui::ICursor>> old_cursor_; }; class HorizontalScrollBar : public ScrollBar { |