aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui/render/ScrollRenderObject.hpp
diff options
context:
space:
mode:
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