Fix clipping of SmartHint when FloatingScale > 1 #3544
Merged
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.
Fixes #3543
The purpose of the "hint clipping grid" is to ensure it does not exceed the available horizontal space. This is currently done using
ClipToBounds=True
which clips the hint along both the X- and Y-axis. However, what is really needed is a clipping which only "clips to bounds" along the X-axis of theRenderSize
.This PR achieves the desired behavior by setting
UIElement.Clip
property on theGrid
and calculating aRectangleGeometry
based on theActualWidth
of the hint, and a non-bounded height (i.e. usingdouble.MaxValue
as the upper bound). This effectively clips the hint along the X-axis as it was before, but still allows the hint to grow indefinitely downwards the Y-axis. It is sufficient to only allow the hint to grow downwards because the scaling of the hint always keepsTopLeft=(0,0)
.Animations slowed down to better see the issue.
Before:
After: