Fix DPI scaling for debugging overlay highlights #15479
Draft
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.
Description
The DevTools overlay receives element coordinates in DIPs (Device Independent Pixels) from JavaScript, but the composition layer draws visuals in physical pixels. Without converting the coordinates using the scale factor, the overlay positions and sizes are incorrect on high-DPI displays.
Type of Change
Why
Fixes RN devtools debugging experience on windows.
Resolves #15468
What
Apply PointScaleFactor() to convert DIP coordinates to physical pixels before drawing the overlay visuals.
Screenshots
This is captured on scale factor (150%), which is default scale factor on Windows surface devices.
fix_debugger_overlay.mp4
Testing
Tested using playground and devtools.
Changelog
Should this change be included in the release notes: yes
Add a brief summary of the change to use in the release notes for the next release.
Fixed DevTools element highlighting appearing at wrong positions on high-DPI displays by converting coordinates from DIPs to physical pixels.
Microsoft Reviewers: Open in CodeFlow