aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui/controls/TextBox.hpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-12-03 22:44:57 +0800
committercrupest <crupest@outlook.com>2020-12-03 22:44:57 +0800
commitb29fb11be2f043a3438a50d8942b4ad7d2af0034 (patch)
tree5847f7b880b43f2596bc10b46fc52c6f028a7a58 /include/cru/ui/controls/TextBox.hpp
parent93a8bf8b967817031cd2798cdaedfa73f867dead (diff)
downloadcru-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.hpp14
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