-
Notifications
You must be signed in to change notification settings - Fork 177
[win32] Adapt GC zoom when using plain images #2180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[win32] Adapt GC zoom when using plain images #2180
Conversation
Test Results 539 files - 6 539 suites - 6 33m 28s ⏱️ + 4m 6s For more details on these failures, see this check. Results for commit 7f4f512. ± Comparison against base commit 9d3227d. This pull request removes 37 tests.
♻️ This comment has been updated with latest results. |
336ac03
to
a2bef72
Compare
This commit adapts the zoom passed to the GC when it is initialized for a plain Image created via Image#Image(Device, int, int) with a given width and height. It will fall back to DPIUtil#getDeviceZoom() again to revert to original bevahiour and prevent blurry rescaling of old usages.
a2bef72
to
7f4f512
Compare
The issue was introduced with this PR: It can, e.g., be seen in double-buffering scenarios. One such scenario can be reproduced with the WindowBuilder project when going back to this commit: eclipse-windowbuilder/windowbuilder@f69b7dd Starting the application on Windows without monitor-specific scaling at 175% (or above) and creating a sample projects leads to this wrong scaling: With the proposed fix, it will look like this: With monitor-specific scaling enabled, it will like the above instead of having blurry scaling as before: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change should go in the upcoming release (and also in RC1 to have some remaining time of testing) to preserve the behavior of users of the Image(device, width, height)
constructor on Windows.
I consider this change rather safe to merge as it consistutes a partial revert of the recently merged change:
So the risk that consumers already adapted to the changed behavior is low. At the same time, the risk that consumers that did not adapt will face unintended behavior is probably not that low.
You guys really are the best! ❤️ |
The thanks are yours, Patrick! ❤️ You have pointed us to that potential issue, otherwise we would have probably missed it. |
Go for it. |
IIUC the RC1 is already complete and about to be submitted to SimRel - see https://www.eclipse.org/lists/eclipse-dev/msg12407.html |
Not really, see eclipse-platform/eclipse.platform.releng.aggregator#3055 |
We've been spinning a bit... We should contribute something today, and then we/I can contribute something newer tomorrow. I have to run now though... |
Thank you all! I will merge this now and then trigger another I-Build, which we may then contribute as (an update for) RC1. The failing test is unrelated and already documented: #2098 |
This PR adapts the zoom passed to the GC when it is initialized for a plain Image created via Image#Image(Device, int, int) with a given width and height. It will fall back to DPIUtil#getDeviceZoom() again to revert to original bevahiour and prevent blurry rescaling of old usages.