Embed tracker for dragging flyout palette composite into control #869
+2
−3
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.
The tracker for dragging the flyout palette is currently instantiated on the display rather than the control itself. This leads to offsets with monitor-specific scaling on Windows, as the display is lacking the monitor-specific zoom context.
This change adapts the tracker to operate on the flyout palette control rather than the display. It simplifies the implementation as the control/display coordinate conversions can be removed.
Fixes #868
Before
After
My only concern is that I wonder why the implementation used the (more complex) logic via the display at all and did not just embed it into the view.
Very seldom I see that palette is drawn over the tracker border


which then may also leave behind an artifact of the border aftwards
which will just disappear when any redraw is triggered (e.g., by hovering over it).
Maybe that was a reason or maybe the implementation even goes back to a time where trackers did not work (well) on controls.