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.
Simplified
GetWindowScaleDPI()
so it does not fetch the wrong DPI scale some times (Windows or GLFW looks at center of window while the old raylib code looked on upper left corner of window, now it just uses theglfwGetWindowContentScale
function to fetch the window's current scaling). The old behavior caused problems when having a system with multiple monitors where one monitor had different scaling than the other. When you moved the window back and forth between the monitors, thenWindowSizeCallback
happened since the window size changes due to the scaling. But since the upper left corner was still on the other monitor (when pulling the window to a new monitor that is to the right of the old one), thenGetWindowScaleDPI()
reported the wrong scale and used that to update the screen.height and screen.width, giving them incorrect values.Also introduced a callback to update the
CORE.Window.screenScaling
when the content scaling updates, previously it was never updated, so scaling did not work correctly on systems with multiple monitors that have different DPI scaling.Note: I have only tested this on Windows. I did the same changes to the web platform, but I have not tested those.
I wrote about this on the Discord server, for reference here's my initial message: https://discord.com/channels/426912293134270465/426912293956222978/1192401955025334313 and my final message: https://discord.com/channels/426912293134270465/426912293956222978/1192503638267003011