diff options
Diffstat (limited to 'include/cru/ui/components/Component.h')
-rw-r--r-- | include/cru/ui/components/Component.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/cru/ui/components/Component.h b/include/cru/ui/components/Component.h new file mode 100644 index 00000000..0b871dc4 --- /dev/null +++ b/include/cru/ui/components/Component.h @@ -0,0 +1,19 @@ +#pragma once +#include "../Base.h" + +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 CRU_UI_API 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 |