diff options
author | crupest <crupest@outlook.com> | 2022-02-09 23:00:49 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-02-09 23:00:49 +0800 |
commit | d18b5453d7ffd19667ee8ac125b34ab5328f0dc3 (patch) | |
tree | 10b969c744dd0ef90a183e4ffacddc818b86534e /include/cru/ui/render/SingleChildRenderObject.h | |
parent | e18c4fb46d7913f337cc25b9a6e3a25359c3f10a (diff) | |
download | cru-d18b5453d7ffd19667ee8ac125b34ab5328f0dc3.tar.gz cru-d18b5453d7ffd19667ee8ac125b34ab5328f0dc3.tar.bz2 cru-d18b5453d7ffd19667ee8ac125b34ab5328f0dc3.zip |
...
Diffstat (limited to 'include/cru/ui/render/SingleChildRenderObject.h')
-rw-r--r-- | include/cru/ui/render/SingleChildRenderObject.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/cru/ui/render/SingleChildRenderObject.h b/include/cru/ui/render/SingleChildRenderObject.h new file mode 100644 index 00000000..cc9e4126 --- /dev/null +++ b/include/cru/ui/render/SingleChildRenderObject.h @@ -0,0 +1,23 @@ +#pragma once +#include "RenderObject.h" + +namespace cru::ui::render { +class CRU_UI_API SingleChildRenderObject : public RenderObject { + CRU_DEFINE_CLASS_LOG_TAG(u"cru::ui::render::SingleChildRenderObject") + + public: + SingleChildRenderObject() = default; + CRU_DELETE_COPY(SingleChildRenderObject) + CRU_DELETE_MOVE(SingleChildRenderObject) + ~SingleChildRenderObject() override = default; + + RenderObject* GetChild() const { return child_; } + void SetChild(RenderObject* new_child); + + protected: + virtual void OnChildChanged(RenderObject* old_child, RenderObject* new_child); + + private: + RenderObject* child_ = nullptr; +}; +} // namespace cru::ui::render |