diff options
author | crupest <crupest@outlook.com> | 2020-12-09 23:14:48 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2020-12-09 23:14:48 +0800 |
commit | a7b2a80edb224e3e1371571ab46ffad252e2e252 (patch) | |
tree | 4ddebbbc61fba75c72e4dbb9ae5ca7341e07f292 /include/cru/ui/components/Component.hpp | |
parent | a9cd77f9af0a3541f31460981cb0515ba43f5a1e (diff) | |
download | cru-a7b2a80edb224e3e1371571ab46ffad252e2e252.tar.gz cru-a7b2a80edb224e3e1371571ab46ffad252e2e252.tar.bz2 cru-a7b2a80edb224e3e1371571ab46ffad252e2e252.zip |
...
Diffstat (limited to 'include/cru/ui/components/Component.hpp')
-rw-r--r-- | include/cru/ui/components/Component.hpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/cru/ui/components/Component.hpp b/include/cru/ui/components/Component.hpp new file mode 100644 index 00000000..0dfc587b --- /dev/null +++ b/include/cru/ui/components/Component.hpp @@ -0,0 +1,19 @@ +#pragma once +#include "../Base.hpp" + +namespace cru::ui::components { +// In destructor, component should check all owned controls whether it is +// attached to window, if not, destroy them, otherwise it is host's duty to +// destroy them. +class Component : public Object { + public: + Component() = default; + + CRU_DELETE_COPY(Component) + CRU_DELETE_MOVE(Component) + + ~Component() = default; + + virtual controls::Control* GetRootControl() = 0; +}; +} // namespace cru::ui::components |