Fix Portal size constraints.
#1538
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Portalalready hadconstrain_verticalandconstrain_horizontalproperties but these were only used to hide the scrollbar. They didn't actually affect the child layout in any way.Indeed, the
Portallayout implementation had a simple hardcodedlet max_child_size = bc.max(), meaning that the child was always fully constrained.This PR implements actual constrainment logic, configurable with the aforementioned properties. When not set to constrain, the child gets unbounded constraints. After all, that is the main point of
Portal- to be able to scroll over giant children.Also, when an axis is constrained,
Portalnow also ignores mouse wheel scrolling in that direction, in addition to hiding the visual scrollbar.