aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-10-28 20:51:55 +0800
committercrupest <crupest@outlook.com>2020-10-28 20:51:55 +0800
commit6ce70ed4b08c7db20b6b384be26c7fc4e11c98de (patch)
tree208ca80036c186d18e0ec25491881a760075ae83 /include
parent8f27c928c2ce4f3617c9113582a93da10721114c (diff)
downloadcru-6ce70ed4b08c7db20b6b384be26c7fc4e11c98de.tar.gz
cru-6ce70ed4b08c7db20b6b384be26c7fc4e11c98de.tar.bz2
cru-6ce70ed4b08c7db20b6b384be26c7fc4e11c98de.zip
...
Diffstat (limited to 'include')
-rw-r--r--include/cru/ui/Base.hpp2
-rw-r--r--include/cru/ui/Control.hpp12
-rw-r--r--include/cru/ui/Window.hpp6
-rw-r--r--include/cru/ui/WindowHost.hpp (renamed from include/cru/ui/UiHost.hpp)26
-rw-r--r--include/cru/ui/render/RenderObject.hpp6
-rw-r--r--include/cru/ui/render/WindowRenderObject.hpp2
6 files changed, 27 insertions, 27 deletions
diff --git a/include/cru/ui/Base.hpp b/include/cru/ui/Base.hpp
index 6be359ab..dd93f187 100644
--- a/include/cru/ui/Base.hpp
+++ b/include/cru/ui/Base.hpp
@@ -29,7 +29,7 @@ namespace colors = cru::platform::colors;
class Window;
class Control;
class ClickDetector;
-class UiHost;
+class WindowHost;
namespace render {
class RenderObject;
diff --git a/include/cru/ui/Control.hpp b/include/cru/ui/Control.hpp
index bd86bc2f..692dcc9b 100644
--- a/include/cru/ui/Control.hpp
+++ b/include/cru/ui/Control.hpp
@@ -9,7 +9,7 @@
namespace cru::ui {
class Control : public Object {
- friend UiHost;
+ friend WindowHost;
protected:
Control();
@@ -27,7 +27,7 @@ class Control : public Object {
//*************** region: tree ***************
public:
// Get the ui host if attached, otherwise, return nullptr.
- UiHost* GetUiHost() const { return ui_host_; }
+ WindowHost* GetWindowHost() const { return ui_host_; }
Control* GetParent() const { return parent_; }
@@ -37,7 +37,7 @@ class Control : public Object {
void TraverseDescendants(const std::function<void(Control*)>& predicate);
void _SetParent(Control* parent);
- void _SetDescendantUiHost(UiHost* host);
+ void _SetDescendantWindowHost(WindowHost* host);
private:
static void _TraverseDescendants(
@@ -135,13 +135,13 @@ class Control : public Object {
//*************** region: tree ***************
protected:
virtual void OnParentChanged(Control* old_parent, Control* new_parent);
- virtual void OnAttachToHost(UiHost* host);
- virtual void OnDetachFromHost(UiHost* host);
+ virtual void OnAttachToHost(WindowHost* host);
+ virtual void OnDetachFromHost(WindowHost* host);
virtual void OnMouseHoverChange(bool newHover) { CRU_UNUSED(newHover) }
private:
- UiHost* ui_host_ = nullptr;
+ WindowHost* ui_host_ = nullptr;
Control* parent_ = nullptr;
private:
diff --git a/include/cru/ui/Window.hpp b/include/cru/ui/Window.hpp
index 450ea97b..5ea24855 100644
--- a/include/cru/ui/Window.hpp
+++ b/include/cru/ui/Window.hpp
@@ -3,7 +3,7 @@
namespace cru::ui {
class Window final : public ContentControl {
- friend UiHost;
+ friend WindowHost;
public:
static constexpr std::u16string_view control_type = u"Window";
@@ -32,9 +32,9 @@ class Window final : public ContentControl {
void OnChildChanged(Control* old_child, Control* new_child) override;
private:
- std::unique_ptr<UiHost> managed_ui_host_;
+ std::unique_ptr<WindowHost> managed_ui_host_;
- // UiHost is responsible to take care of lifetime of this.
+ // WindowHost is responsible to take care of lifetime of this.
render::WindowRenderObject* render_object_;
};
} // namespace cru::ui
diff --git a/include/cru/ui/UiHost.hpp b/include/cru/ui/WindowHost.hpp
index 2437b967..64116590 100644
--- a/include/cru/ui/UiHost.hpp
+++ b/include/cru/ui/WindowHost.hpp
@@ -15,35 +15,35 @@ struct AfterLayoutEventArgs {};
// 1. Native window destroyed, IsRetainAfterDestroy: false:
// OnNativeDestroy(set native_window_destroyed_ to true, call ~Window due to
// deleting_ is false and IsRetainAfterDestroy is false) -> ~Window ->
-// ~UiHost(not destroy native window repeatedly due to native_window_destroyed_
+// ~WindowHost(not destroy native window repeatedly due to native_window_destroyed_
// is true)
// 2. Native window destroyed, IsRetainAfterDestroy: true:
// OnNativeDestroy(set native_window_destroyed_ to true, not call ~Window
// because deleting_ is false and IsRetainAfterDestroy is true)
-// then, ~Window -> ~UiHost(not destroy native window repeatedly due to
+// then, ~Window -> ~WindowHost(not destroy native window repeatedly due to
// native_window_destroyed_ is true)
// 3. Native window not destroyed, ~Window is called:
-// ~Window -> ~UiHost(set deleting_ to true, destroy native window
+// ~Window -> ~WindowHost(set deleting_ to true, destroy native window
// due to native_window_destroyed is false) -> OnNativeDestroy(not call ~Window
// due to deleting_ is true and IsRetainAfterDestroy is whatever)
// In conclusion:
// 1. Set native_window_destroyed_ to true at the beginning of OnNativeDestroy.
-// 2. Set deleting_ to true at the beginning of ~UiHost.
+// 2. Set deleting_ to true at the beginning of ~WindowHost.
// 3. Destroy native window when native_window_destroy_ is false in ~Window.
// 4. Delete Window when deleting_ is false and IsRetainAfterDestroy is false in
// OnNativeDestroy.
-class UiHost : public Object, public SelfResolvable<UiHost> {
- CRU_DEFINE_CLASS_LOG_TAG(u"cru::ui::UiHost")
+class WindowHost : public Object, public SelfResolvable<WindowHost> {
+ CRU_DEFINE_CLASS_LOG_TAG(u"cru::ui::WindowHost")
public:
// This will create root window render object and attach it to window.
// It will also create and manage a native window.
- UiHost(Window* window);
+ WindowHost(Window* window);
- CRU_DELETE_COPY(UiHost)
- CRU_DELETE_MOVE(UiHost)
+ CRU_DELETE_COPY(WindowHost)
+ CRU_DELETE_MOVE(WindowHost)
- ~UiHost() override;
+ ~WindowHost() override;
public:
// Mark the layout as invalid, and arrange a re-layout later.
@@ -158,15 +158,15 @@ class UiHost : public Object, public SelfResolvable<UiHost> {
std::shared_ptr<platform::native::INativeWindowResolver>
native_window_resolver_;
- // See remarks of UiHost.
+ // See remarks of WindowHost.
bool retain_after_destroy_ = false;
- // See remarks of UiHost.
+ // See remarks of WindowHost.
bool deleting_ = false;
// We need this because calling Resolve on resolver in handler of destroy
// event is bad and will always get the dying window. But we need to label the
// window as destroyed so the destructor will not destroy native window
- // repeatedly. See remarks of UiHost.
+ // repeatedly. See remarks of WindowHost.
bool native_window_destroyed_ = false;
std::vector<EventRevokerGuard> event_revoker_guards_;
diff --git a/include/cru/ui/render/RenderObject.hpp b/include/cru/ui/render/RenderObject.hpp
index 57251e3a..f052221e 100644
--- a/include/cru/ui/render/RenderObject.hpp
+++ b/include/cru/ui/render/RenderObject.hpp
@@ -64,7 +64,7 @@ class RenderObject : public Object {
Control* GetAttachedControl() const { return control_; }
void SetAttachedControl(Control* new_control) { control_ = new_control; }
- UiHost* GetUiHost() const { return ui_host_; }
+ WindowHost* GetWindowHost() const { return ui_host_; }
RenderObject* GetParent() const { return parent_; }
@@ -198,11 +198,11 @@ class RenderObject : public Object {
private:
void SetParent(RenderObject* new_parent);
- void SetRenderHostRecursive(UiHost* host);
+ void SetRenderHostRecursive(WindowHost* host);
private:
Control* control_ = nullptr;
- UiHost* ui_host_ = nullptr;
+ WindowHost* ui_host_ = nullptr;
RenderObject* parent_ = nullptr;
std::vector<RenderObject*> children_{};
diff --git a/include/cru/ui/render/WindowRenderObject.hpp b/include/cru/ui/render/WindowRenderObject.hpp
index d2ca5526..23fd8748 100644
--- a/include/cru/ui/render/WindowRenderObject.hpp
+++ b/include/cru/ui/render/WindowRenderObject.hpp
@@ -6,7 +6,7 @@
namespace cru::ui::render {
class WindowRenderObject : public RenderObject {
public:
- WindowRenderObject(UiHost* host);
+ WindowRenderObject(WindowHost* host);
WindowRenderObject(const WindowRenderObject& other) = delete;
WindowRenderObject(WindowRenderObject&& other) = delete;
WindowRenderObject& operator=(const WindowRenderObject& other) = delete;