Fix ui::scroller size constraints

This commit is contained in:
Nikita Lisitsa 2022-05-29 11:59:30 +03:00
parent ccfe940448
commit 14d7dda788

View file

@ -253,19 +253,22 @@ namespace psemek::ui
{ {
auto child_constraints = child_->size_constraints(); auto child_constraints = child_->size_constraints();
result[0].min = child_constraints[0].min;
result[1].min = child_constraints[1].min;
if (!horizontal_scroll()) if (!horizontal_scroll())
result[0] = child_constraints[0]; result[0].max = child_constraints[0].max;
if (!vertical_scroll()) if (!vertical_scroll())
result[1] = child_constraints[1]; result[1].max = child_constraints[1].max;
} }
auto st = merged_own_style(); auto st = merged_own_style();
if (horizontal_scroll()) if (horizontal_scroll())
result[1].min = std::max<float>(result[1].min, width() * *st->scale); result[1] += width() * *st->scale;
if (vertical_scroll()) if (vertical_scroll())
result[0].min = std::max<float>(result[0].min, width() * *st->scale); result[0] += width() * *st->scale;
return result; return result;
} }