aboutsummaryrefslogtreecommitdiff
path: root/src/ui/controls/text_box.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/controls/text_box.cpp')
-rw-r--r--src/ui/controls/text_box.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ui/controls/text_box.cpp b/src/ui/controls/text_box.cpp
index 07b70b94..9c6fcbe5 100644
--- a/src/ui/controls/text_box.cpp
+++ b/src/ui/controls/text_box.cpp
@@ -2,16 +2,19 @@
#include "cru/ui/render/border_render_object.hpp"
#include "cru/ui/render/canvas_render_object.hpp"
+#include "cru/ui/render/stack_layout_render_object.hpp"
#include "cru/ui/render/text_render_object.hpp"
#include "cru/ui/ui_manager.hpp"
namespace cru::ui::controls {
using render::BorderRenderObject;
using render::CanvasRenderObject;
+using render::StackLayoutRenderObject;
using render::TextRenderObject;
TextBox::TextBox()
: border_render_object_(new BorderRenderObject()),
+ stack_layout_render_object_(new StackLayoutRenderObject()),
text_render_object_(),
caret_render_object_(new CanvasRenderObject()) {
const auto theme_resources = UiManager::GetInstance()->GetThemeResources();
@@ -20,7 +23,12 @@ TextBox::TextBox()
theme_resources->text_brush, theme_resources->default_font,
theme_resources->text_selection_brush);
+ border_render_object_->AddChild(stack_layout_render_object_.get(), 0);
+ stack_layout_render_object_->AddChild(text_render_object_.get(), 0);
+ stack_layout_render_object_->AddChild(caret_render_object_.get(), 1);
+
border_render_object_->SetAttachedControl(this);
+ stack_layout_render_object_->SetAttachedControl(this);
text_render_object_->SetAttachedControl(this);
caret_render_object_->SetAttachedControl(this);
}