From 8f8b7dfd056dfa23dd1989d3f3dfd3d5d91d0168 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Sat, 22 Nov 2025 21:24:18 +0800 Subject: Clean measure requirement codes. --- include/cru/ui/render/CanvasRenderObject.h | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) (limited to 'include/cru/ui/render/CanvasRenderObject.h') diff --git a/include/cru/ui/render/CanvasRenderObject.h b/include/cru/ui/render/CanvasRenderObject.h index 63da9cd9..2e44fcc2 100644 --- a/include/cru/ui/render/CanvasRenderObject.h +++ b/include/cru/ui/render/CanvasRenderObject.h @@ -9,9 +9,6 @@ class CanvasPaintEventArgs { CanvasPaintEventArgs(platform::graphics::IPainter* painter, const Size& paint_size) : painter_(painter), paint_size_(paint_size) {} - CRU_DEFAULT_COPY(CanvasPaintEventArgs) - CRU_DEFAULT_MOVE(CanvasPaintEventArgs) - ~CanvasPaintEventArgs() = default; platform::graphics::IPainter* GetPainter() const { return painter_; } Size GetPaintSize() const { return paint_size_; } @@ -21,9 +18,12 @@ class CanvasPaintEventArgs { Size paint_size_; }; -// Layout logic: -// If no preferred size is set. Then (100, 100) is used and then coerced to -// required range. +/** + * Layout logic: + * Preferred + * If no preferred size is set. Then (100, 100) is used and then coerced to + * required range. + */ class CRU_UI_API CanvasRenderObject : public RenderObject { public: static constexpr auto kRenderObjectName = "CanvasRenderObject"; @@ -33,20 +33,12 @@ class CRU_UI_API CanvasRenderObject : public RenderObject { public: RenderObject* HitTest(const Point& point) override; - Size GetDesiredSize() { return desired_size_; } - - IEvent* PaintEvent() { return &paint_event_; } - void Draw(platform::graphics::IPainter* painter) override; + CRU_DEFINE_EVENT(Paint, const CanvasPaintEventArgs&) + protected: - Size OnMeasureContent(const MeasureRequirement& requirement, - const MeasureSize& preferred_size) override; + Size OnMeasureContent(const MeasureRequirement& requirement) override; void OnLayoutContent(const Rect& content_rect) override; - - private: - Size desired_size_{}; - - Event paint_event_; }; } // namespace cru::ui::render -- cgit v1.2.3