aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui/render/ScrollRenderObject.hpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-02-24 23:01:15 +0800
committercrupest <crupest@outlook.com>2021-02-24 23:01:15 +0800
commit9c2f860ea80310f87b62a2947b4ddea5e7d85587 (patch)
treee912a13eb2e82b6874340fe2833989d62525c761 /include/cru/ui/render/ScrollRenderObject.hpp
parent1e1170a89330881c5fad60988bc27c824dfcf454 (diff)
downloadcru-9c2f860ea80310f87b62a2947b4ddea5e7d85587.tar.gz
cru-9c2f860ea80310f87b62a2947b4ddea5e7d85587.tar.bz2
cru-9c2f860ea80310f87b62a2947b4ddea5e7d85587.zip
feat: Scroll bar. Only collapse state.
Diffstat (limited to 'include/cru/ui/render/ScrollRenderObject.hpp')
-rw-r--r--include/cru/ui/render/ScrollRenderObject.hpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/cru/ui/render/ScrollRenderObject.hpp b/include/cru/ui/render/ScrollRenderObject.hpp
index 3cc0e4c4..5a431527 100644
--- a/include/cru/ui/render/ScrollRenderObject.hpp
+++ b/include/cru/ui/render/ScrollRenderObject.hpp
@@ -2,7 +2,9 @@
#include "RenderObject.hpp"
#include "cru/platform/graphics/util/Painter.hpp"
+#include "cru/ui/render/ScrollBarDelegate.hpp"
+#include <memory>
#include <optional>
namespace cru::ui::render {
@@ -16,7 +18,7 @@ namespace cru::ui::render {
// Or layout by scroll state.
class ScrollRenderObject : public RenderObject {
public:
- ScrollRenderObject() : RenderObject(ChildMode::Single) {}
+ ScrollRenderObject();
CRU_DELETE_COPY(ScrollRenderObject)
CRU_DELETE_MOVE(ScrollRenderObject)
@@ -54,7 +56,11 @@ class ScrollRenderObject : public RenderObject {
const MeasureSize& preferred_size) override;
void OnLayoutContent(const Rect& content_rect) override;
+ void OnAttachedControlChanged(controls::Control* control) override;
+
private:
Point scroll_offset_;
+
+ std::unique_ptr<ScrollBarDelegate> scroll_bar_delegate_;
};
} // namespace cru::ui::render