diff options
Diffstat (limited to 'src/ui/controls')
-rw-r--r-- | src/ui/controls/flex_layout.cpp | 4 | ||||
-rw-r--r-- | src/ui/controls/flex_layout.hpp | 10 | ||||
-rw-r--r-- | src/ui/controls/text_block.cpp | 4 | ||||
-rw-r--r-- | src/ui/controls/text_block.hpp | 10 |
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); |