diff options
author | crupest <crupest@outlook.com> | 2020-12-03 22:44:57 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2020-12-03 22:44:57 +0800 |
commit | b29fb11be2f043a3438a50d8942b4ad7d2af0034 (patch) | |
tree | 5847f7b880b43f2596bc10b46fc52c6f028a7a58 /include/cru/ui/controls/TextBox.hpp | |
parent | 93a8bf8b967817031cd2798cdaedfa73f867dead (diff) | |
download | cru-b29fb11be2f043a3438a50d8942b4ad7d2af0034.tar.gz cru-b29fb11be2f043a3438a50d8942b4ad7d2af0034.tar.bz2 cru-b29fb11be2f043a3438a50d8942b4ad7d2af0034.zip |
...
Diffstat (limited to 'include/cru/ui/controls/TextBox.hpp')
-rw-r--r-- | include/cru/ui/controls/TextBox.hpp | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/include/cru/ui/controls/TextBox.hpp b/include/cru/ui/controls/TextBox.hpp index 91d38c61..75e7cb65 100644 --- a/include/cru/ui/controls/TextBox.hpp +++ b/include/cru/ui/controls/TextBox.hpp @@ -1,5 +1,6 @@ #pragma once #include "NoChildControl.hpp" +#include "IBorderControl.hpp" #include <memory> @@ -7,7 +8,7 @@ namespace cru::ui::controls { template <typename TControl> class TextControlService; -class TextBox : public NoChildControl { +class TextBox : public NoChildControl, public IBorderControl { public: static constexpr std::u16string_view control_type = u"TextBox"; @@ -29,22 +30,13 @@ class TextBox : public NoChildControl { gsl::not_null<render::TextRenderObject*> GetTextRenderObject(); render::ScrollRenderObject* GetScrollRenderObject(); - const TextBoxBorderStyle& GetBorderStyle(); - void SetBorderStyle(TextBoxBorderStyle border_style); - - protected: - void OnMouseHoverChange(bool newHover) override; - - private: - void UpdateBorderStyle(); + void ApplyBorderStyle(const style::ApplyBorderStyleInfo& style) override; private: std::unique_ptr<render::BorderRenderObject> border_render_object_; std::unique_ptr<render::ScrollRenderObject> scroll_render_object_; std::unique_ptr<render::TextRenderObject> text_render_object_; - TextBoxBorderStyle border_style_; - std::unique_ptr<TextControlService<TextBox>> service_; }; } // namespace cru::ui::controls |