From af2e38b320905bf3b1e5d0969d0811c47289bbfe Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 17 Mar 2021 15:04:16 +0800 Subject: ... --- src/ui/render/StackLayoutRenderObject.cpp | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) (limited to 'src/ui/render/StackLayoutRenderObject.cpp') diff --git a/src/ui/render/StackLayoutRenderObject.cpp b/src/ui/render/StackLayoutRenderObject.cpp index 75ab0ee3..753612af 100644 --- a/src/ui/render/StackLayoutRenderObject.cpp +++ b/src/ui/render/StackLayoutRenderObject.cpp @@ -2,37 +2,27 @@ #include "cru/common/Logger.hpp" #include "cru/ui/render/LayoutHelper.hpp" +#include "cru/ui/render/MeasureRequirement.hpp" #include namespace cru::ui::render { Size StackLayoutRenderObject::OnMeasureContent( const MeasureRequirement& requirement, const MeasureSize& preferred_size) { - Size max_size; + Size child_max_size; for (const auto child : GetChildren()) { child->Measure( - MeasureRequirement{ - MeasureSize{StackLayoutCalculateChildMaxLength( - preferred_size.width, requirement.max.width, - child->GetMinSize().width, log_tag, - u"(Measure) Child's min width is bigger than " - u"parent's max width."), - StackLayoutCalculateChildMaxLength( - preferred_size.height, requirement.max.height, - child->GetMinSize().height, log_tag, - u"(Measure) Child's min height is bigger than " - u"parent's max height.")}, - MeasureSize::NotSpecified()}, + MeasureRequirement(requirement.max, MeasureSize::NotSpecified()), MeasureSize::NotSpecified()); const auto size = child->GetSize(); - max_size.width = std::max(max_size.width, size.width); - max_size.height = std::max(max_size.height, size.height); + child_max_size.width = std::max(child_max_size.width, size.width); + child_max_size.height = std::max(child_max_size.height, size.height); } - max_size = Max(preferred_size.GetSizeOr0(), max_size); - max_size = Max(requirement.min.GetSizeOr0(), max_size); + child_max_size = Max(preferred_size.GetSizeOr0(), child_max_size); + child_max_size = Max(requirement.min.GetSizeOr0(), child_max_size); - return max_size; + return child_max_size; } void StackLayoutRenderObject::OnLayoutContent(const Rect& content_rect) { -- cgit v1.2.3