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();
result[0].min = child_constraints[0].min;
result[1].min = child_constraints[1].min;
if (!horizontal_scroll())
result[0] = child_constraints[0];
result[0].max = child_constraints[0].max;
if (!vertical_scroll())
result[1] = child_constraints[1];
result[1].max = child_constraints[1].max;
}
auto st = merged_own_style();
if (horizontal_scroll())
result[1].min = std::max<float>(result[1].min, width() * *st->scale);
result[1] += width() * *st->scale;
if (vertical_scroll())
result[0].min = std::max<float>(result[0].min, width() * *st->scale);
result[0] += width() * *st->scale;
return result;
}