diff options
Diffstat (limited to 'CruUI/ui/controls/linear_layout.cpp')
-rw-r--r-- | CruUI/ui/controls/linear_layout.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/CruUI/ui/controls/linear_layout.cpp b/CruUI/ui/controls/linear_layout.cpp index 66005b2e..116802ba 100644 --- a/CruUI/ui/controls/linear_layout.cpp +++ b/CruUI/ui/controls/linear_layout.cpp @@ -25,7 +25,7 @@ namespace cru::ui::controls if (!layout_params->Validate()) throw std::runtime_error("LayoutParams is not valid. Please check it."); - auto&& get_available_length_for_child = [](const MeasureLength& layout_length, const float available_length) -> float + auto&& get_available_length_for_child = [](const LayoutLength& layout_length, const float available_length) -> float { switch (layout_length.mode) { @@ -119,7 +119,7 @@ namespace cru::ui::controls actual_size_for_children.height -= rest_available_size_for_children.height; } - auto&& calculate_final_length = [](const MeasureLength& layout_length, const float length_for_children, const float max_child_length) -> float + auto&& calculate_final_length = [](const LayoutLength& layout_length, const float length_for_children, const float max_child_length) -> float { switch (layout_length.mode) { @@ -144,8 +144,9 @@ namespace cru::ui::controls float current_anchor_length = 0; ForeachChild([this, ¤t_anchor_length, rect](Control* control) { + const auto layout_params = control->GetLayoutParams(); const auto size = control->GetDesiredSize(); - const auto alignment = GetAlignment(control); + const auto alignment = orientation_ == Orientation::Horizontal ? layout_params->height.alignment : layout_params->width.alignment; auto&& calculate_anchor = [alignment](const float layout_length, const float control_length) -> float { |