diff options
Diffstat (limited to 'src/ui/controls/button.hpp')
-rw-r--r-- | src/ui/controls/button.hpp | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/src/ui/controls/button.hpp b/src/ui/controls/button.hpp index 010c3f5b..27e7fc7b 100644 --- a/src/ui/controls/button.hpp +++ b/src/ui/controls/button.hpp @@ -1,8 +1,35 @@ #pragma once #include "pre.hpp" -#include "ui/control.hpp" +#include "ui/content_control.hpp" + +namespace cru::ui::render { +class BorderRenderObject; +} namespace cru::ui::controls { +class Button : public ContentControl { + public: + static constexpr auto control_type = L"Button"; -} + static Button* Create(); + + protected: + Button(); + + public: + Button(const Button& other) = delete; + Button(Button&& other) = delete; + Button& operator=(const Button& other) = delete; + Button& operator=(Button&& other) = delete; + ~Button(); + + render::RenderObject* GetRenderObject() const override; + + protected: + void OnChildChanged(Control* old_child, Control* new_child) override; + + private: + render::BorderRenderObject* render_object_; +}; +} // namespace cru::ui::controls |