Fix ui::scroller size constraints
This commit is contained in:
parent
ccfe940448
commit
14d7dda788
1 changed files with 7 additions and 4 deletions
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue