aboutsummaryrefslogtreecommitdiff
path: root/src/ui/controls/StackLayout.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-05-24 01:40:02 +0800
committercrupest <crupest@outlook.com>2020-05-24 01:40:02 +0800
commitd86a71f79afe0e4dac768f61d6bff690567aca5b (patch)
tree4957e9a64c77680deb07201fbd879bf036616dae /src/ui/controls/StackLayout.cpp
parentf3a8fd608a9776ef0a5f547da918a32cf6074060 (diff)
downloadcru-d86a71f79afe0e4dac768f61d6bff690567aca5b.tar.gz
cru-d86a71f79afe0e4dac768f61d6bff690567aca5b.tar.bz2
cru-d86a71f79afe0e4dac768f61d6bff690567aca5b.zip
...
Diffstat (limited to 'src/ui/controls/StackLayout.cpp')
-rw-r--r--src/ui/controls/StackLayout.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/ui/controls/StackLayout.cpp b/src/ui/controls/StackLayout.cpp
new file mode 100644
index 00000000..ce500b79
--- /dev/null
+++ b/src/ui/controls/StackLayout.cpp
@@ -0,0 +1,27 @@
+#include "cru/ui/controls/StackLayout.hpp"
+
+#include "cru/ui/render/StackLayoutRenderObject.hpp"
+
+namespace cru::ui::controls {
+using render::StackLayoutRenderObject;
+
+StackLayout::StackLayout() : render_object_(new StackLayoutRenderObject()) {
+ render_object_->SetAttachedControl(this);
+}
+
+StackLayout::~StackLayout() = default;
+
+render::RenderObject* StackLayout::GetRenderObject() const {
+ return render_object_.get();
+}
+
+void StackLayout::OnAddChild(Control* child, const Index position) {
+ render_object_->AddChild(child->GetRenderObject(), position);
+}
+
+void StackLayout::OnRemoveChild(Control* child, const Index position) {
+ CRU_UNUSED(child)
+
+ render_object_->RemoveChild(position);
+}
+} // namespace cru::ui::controls