aboutsummaryrefslogtreecommitdiff
path: root/src/ui/controls
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/controls')
-rw-r--r--src/ui/controls/flex_layout.cpp4
-rw-r--r--src/ui/controls/flex_layout.hpp10
-rw-r--r--src/ui/controls/text_block.cpp4
-rw-r--r--src/ui/controls/text_block.hpp10
4 files changed, 20 insertions, 8 deletions
diff --git a/src/ui/controls/flex_layout.cpp b/src/ui/controls/flex_layout.cpp
index ebe61a6d..289df1f1 100644
--- a/src/ui/controls/flex_layout.cpp
+++ b/src/ui/controls/flex_layout.cpp
@@ -9,6 +9,10 @@ FlexLayout::FlexLayout() { render_object_ = new FlexLayoutRenderObject(); }
FlexLayout::~FlexLayout() { delete render_object_; }
+render::RenderObject* FlexLayout::GetRenderObject() const {
+ return render_object_;
+}
+
void FlexLayout::OnAddChild(Control* child, int position) {
render_object_->AddChild(child->GetRenderObject(), position);
}
diff --git a/src/ui/controls/flex_layout.hpp b/src/ui/controls/flex_layout.hpp
index 6acd25dc..682ed8dc 100644
--- a/src/ui/controls/flex_layout.hpp
+++ b/src/ui/controls/flex_layout.hpp
@@ -13,8 +13,12 @@ class FlexLayout : public Layout {
public:
static constexpr auto control_type = L"FlexLayout";
- public:
+ static FlexLayout* Create() { return new FlexLayout(); }
+
+ protected:
FlexLayout();
+
+ public:
FlexLayout(const FlexLayout& other) = delete;
FlexLayout(FlexLayout&& other) = delete;
FlexLayout& operator=(const FlexLayout& other) = delete;
@@ -23,9 +27,7 @@ class FlexLayout : public Layout {
StringView GetControlType() const override final { return control_type; }
- render::RenderObject* GetRenderObject() const override {
- return render_object_;
- }
+ render::RenderObject* GetRenderObject() const override;
protected:
void OnAddChild(Control* child, int position) override;
diff --git a/src/ui/controls/text_block.cpp b/src/ui/controls/text_block.cpp
index 123dbc86..c891b832 100644
--- a/src/ui/controls/text_block.cpp
+++ b/src/ui/controls/text_block.cpp
@@ -17,6 +17,10 @@ TextBlock::TextBlock() {
TextBlock::~TextBlock() { delete render_object_; }
+render::RenderObject* TextBlock::GetRenderObject() const {
+ return render_object_;
+}
+
String TextBlock::GetText() const { return render_object_->GetText(); }
void TextBlock::SetText(const String& text) { render_object_->SetText(text); }
diff --git a/src/ui/controls/text_block.hpp b/src/ui/controls/text_block.hpp
index ce8977a5..c345c5ab 100644
--- a/src/ui/controls/text_block.hpp
+++ b/src/ui/controls/text_block.hpp
@@ -12,8 +12,12 @@ class TextBlock : public NoChildControl {
public:
static constexpr auto control_type = L"TextBlock";
- public:
+ static TextBlock* Create() { return new TextBlock(); }
+
+ protected:
TextBlock();
+
+ public:
TextBlock(const TextBlock& other) = delete;
TextBlock(TextBlock&& other) = delete;
TextBlock& operator=(const TextBlock& other) = delete;
@@ -22,9 +26,7 @@ class TextBlock : public NoChildControl {
StringView GetControlType() const override final { return control_type; }
- render::RenderObject* GetRenderObject() const override {
- return render_object_;
- }
+ render::RenderObject* GetRenderObject() const override;
String GetText() const;
void SetText(const String& text);