diff options
Diffstat (limited to 'include/cru/ui/controls/text_box.hpp')
-rw-r--r-- | include/cru/ui/controls/text_box.hpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/cru/ui/controls/text_box.hpp b/include/cru/ui/controls/text_box.hpp index 58179a57..4a4ed6e7 100644 --- a/include/cru/ui/controls/text_box.hpp +++ b/include/cru/ui/controls/text_box.hpp @@ -1,7 +1,11 @@ #pragma once #include "../no_child_control.hpp" +#include "base.hpp" namespace cru::ui::controls { +template <typename TControl> +class TextControlService; + class TextBox : public NoChildControl { public: static constexpr std::string_view control_type = "TextBox"; @@ -17,11 +21,22 @@ class TextBox : public NoChildControl { std::string_view GetControlType() const final { return control_type; } + render::TextRenderObject* GetTextRenderObject(); + render::CanvasRenderObject* GetCaretRenderObject(); + std::shared_ptr<platform::graph::IBrush> GetCaretBrush(); + + const TextBoxBorderStyle& GetBorderStyle(); + void SetBorderStyle(TextBoxBorderStyle border_style); + private: std::unique_ptr<render::BorderRenderObject> border_render_object_; std::unique_ptr<render::StackLayoutRenderObject> stack_layout_render_object_; std::unique_ptr<render::TextRenderObject> text_render_object_; std::unique_ptr<render::CanvasRenderObject> caret_render_object_; + std::shared_ptr<platform::graph::IBrush> caret_brush_; + TextBoxBorderStyle border_style_; + + std::unique_ptr<TextControlService<TextBox>> service_; }; } // namespace cru::ui::controls |