diff options
author | crupest <crupest@outlook.com> | 2020-07-05 18:13:10 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2020-07-05 18:13:10 +0800 |
commit | ce56ab59a6d68c220fcc47c6977c618eaa43de7a (patch) | |
tree | d6775d0ffa6f4fde00e69ed82192bc6c5b25d45b /include | |
parent | e10ef322e5f6268aec5d7717a82fceb42607a000 (diff) | |
download | cru-ce56ab59a6d68c220fcc47c6977c618eaa43de7a.tar.gz cru-ce56ab59a6d68c220fcc47c6977c618eaa43de7a.tar.bz2 cru-ce56ab59a6d68c220fcc47c6977c618eaa43de7a.zip |
...
Diffstat (limited to 'include')
-rw-r--r-- | include/cru/ui/UiEvent.hpp | 4 | ||||
-rw-r--r-- | include/cru/ui/controls/TextBlock.hpp | 3 | ||||
-rw-r--r-- | include/cru/ui/controls/TextBox.hpp | 4 | ||||
-rw-r--r-- | include/cru/ui/render/Base.hpp | 1 |
4 files changed, 9 insertions, 3 deletions
diff --git a/include/cru/ui/UiEvent.hpp b/include/cru/ui/UiEvent.hpp index 29292d75..79d0f7e3 100644 --- a/include/cru/ui/UiEvent.hpp +++ b/include/cru/ui/UiEvent.hpp @@ -52,7 +52,9 @@ class RoutedEvent { static_assert(!std::is_reference_v<TEventArgs>, "TEventArgs must not be reference."); - using EventArgs = TEventArgs; + using RawEventArgs = TEventArgs; + using IEventType = IEvent<TEventArgs&>; + using EventArgs = typename IEventType::EventArgs; RoutedEvent() = default; RoutedEvent(const RoutedEvent& other) = delete; diff --git a/include/cru/ui/controls/TextBlock.hpp b/include/cru/ui/controls/TextBlock.hpp index dd8b40b4..1b1b4a5c 100644 --- a/include/cru/ui/controls/TextBlock.hpp +++ b/include/cru/ui/controls/TextBlock.hpp @@ -28,7 +28,8 @@ class TextBlock : public NoChildControl { std::string GetText() const; void SetText(std::string text); - render::TextRenderObject* GetTextRenderObject(); + gsl::not_null<render::TextRenderObject*> GetTextRenderObject(); + render::ScrollRenderObject* GetScrollRenderObject() { return nullptr; } private: std::unique_ptr<render::TextRenderObject> text_render_object_; diff --git a/include/cru/ui/controls/TextBox.hpp b/include/cru/ui/controls/TextBox.hpp index 2f7a12b6..3d4de7c0 100644 --- a/include/cru/ui/controls/TextBox.hpp +++ b/include/cru/ui/controls/TextBox.hpp @@ -27,7 +27,8 @@ class TextBox : public NoChildControl { render::RenderObject* GetRenderObject() const override; - render::TextRenderObject* GetTextRenderObject(); + gsl::not_null<render::TextRenderObject*> GetTextRenderObject(); + render::ScrollRenderObject* GetScrollRenderObject(); const TextBoxBorderStyle& GetBorderStyle(); void SetBorderStyle(TextBoxBorderStyle border_style); @@ -40,6 +41,7 @@ class TextBox : public NoChildControl { 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_; diff --git a/include/cru/ui/render/Base.hpp b/include/cru/ui/render/Base.hpp index c2af5e99..801d58bd 100644 --- a/include/cru/ui/render/Base.hpp +++ b/include/cru/ui/render/Base.hpp @@ -6,6 +6,7 @@ class RenderObject; class BorderRenderObject; class CanvasRenderObject; class FlexLayoutRenderObject; +class ScrollRenderObject; class StackLayoutRenderObject; class TextRenderObject; class WindowRenderObject; |