diff options
author | crupest <crupest@outlook.com> | 2020-03-03 00:39:10 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2020-03-03 00:39:10 +0800 |
commit | b0946c0e6dc163fe981f230302a1976449150907 (patch) | |
tree | 3786417609ec00e42c0e9a102c39238135dfc9b5 /include/cru/ui/render | |
parent | ebb8f7beba71fc0d3cd81f60559e4005e05e48d5 (diff) | |
download | cru-b0946c0e6dc163fe981f230302a1976449150907.tar.gz cru-b0946c0e6dc163fe981f230302a1976449150907.tar.bz2 cru-b0946c0e6dc163fe981f230302a1976449150907.zip |
...
Diffstat (limited to 'include/cru/ui/render')
-rw-r--r-- | include/cru/ui/render/canvas_render_object.hpp | 4 | ||||
-rw-r--r-- | include/cru/ui/render/render_object.hpp | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/include/cru/ui/render/canvas_render_object.hpp b/include/cru/ui/render/canvas_render_object.hpp index fea68576..5fea8755 100644 --- a/include/cru/ui/render/canvas_render_object.hpp +++ b/include/cru/ui/render/canvas_render_object.hpp @@ -37,6 +37,10 @@ class CanvasRenderObject : public RenderObject { IEvent<CanvasPaintEventArgs>* PaintEvent() { return &paint_event_; } + protected: + Size OnMeasureContent(const Size& available_size) override; + void OnLayoutContent(const Rect& content_rect) override; + private: Event<CanvasPaintEventArgs> paint_event_; }; diff --git a/include/cru/ui/render/render_object.hpp b/include/cru/ui/render/render_object.hpp index b0a65819..0f0cb8df 100644 --- a/include/cru/ui/render/render_object.hpp +++ b/include/cru/ui/render/render_object.hpp @@ -32,6 +32,9 @@ struct IRenderHost : Interface { virtual IEvent<AfterLayoutEventArgs>* AfterLayoutEvent() = 0; }; +// Render object will not destroy its children when destroyed. Control must +// manage lifecycle of its render objects. Since control will destroy its +// children when destroyed, render objects will be destroyed along with it. class RenderObject : public Object { protected: enum class ChildMode { |