diff options
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 |