aboutsummaryrefslogtreecommitdiff
path: root/src/ui/render/StackLayoutRenderObject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/render/StackLayoutRenderObject.cpp')
-rw-r--r--src/ui/render/StackLayoutRenderObject.cpp26
1 files changed, 8 insertions, 18 deletions
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 <algorithm>
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) {