aboutsummaryrefslogtreecommitdiff
path: root/src/ui/render/RenderObject.cpp
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 /src/ui/render/RenderObject.cpp
parent1e1170a89330881c5fad60988bc27c824dfcf454 (diff)
downloadcru-9c2f860ea80310f87b62a2947b4ddea5e7d85587.tar.gz
cru-9c2f860ea80310f87b62a2947b4ddea5e7d85587.tar.bz2
cru-9c2f860ea80310f87b62a2947b4ddea5e7d85587.zip
feat: Scroll bar. Only collapse state.
Diffstat (limited to 'src/ui/render/RenderObject.cpp')
-rw-r--r--src/ui/render/RenderObject.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/ui/render/RenderObject.cpp b/src/ui/render/RenderObject.cpp
index a40ce9b8..7cf750cd 100644
--- a/src/ui/render/RenderObject.cpp
+++ b/src/ui/render/RenderObject.cpp
@@ -11,6 +11,11 @@
#include <vector>
namespace cru::ui::render {
+void RenderObject::SetAttachedControl(controls::Control* new_control) {
+ control_ = new_control;
+ OnAttachedControlChanged(new_control);
+}
+
void RenderObject::AddChild(RenderObject* render_object, const Index position) {
Expects(child_mode_ != ChildMode::None);
Expects(!(child_mode_ == ChildMode::Single && children_.size() > 0));
@@ -41,6 +46,15 @@ void RenderObject::RemoveChild(const Index position) {
OnRemoveChild(removed_child, position);
}
+RenderObject* RenderObject::GetFirstChild() const {
+ const auto& children = GetChildren();
+ if (children.empty()) {
+ return nullptr;
+ } else {
+ return children.front();
+ }
+}
+
void RenderObject::TraverseDescendants(
const std::function<void(RenderObject*)>& action) {
action(this);