-
Notifications
You must be signed in to change notification settings - Fork 143
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
Use large program icons on Windows #1014
Use large program icons on Windows #1014
Conversation
@deepika-u fyi, since you first pointed to the missing usage of large icons in #409 (comment). |
@HeikoKlare |
@HeikoKlare My master as of now is upto date and swt workspace works fine. But after applying your pr, my workspace starts reporting all these problems Child workspace doesnt launch atall and creates a .log file which i have attached for reference here -> Now to resume old state of workspace, i need to delete whole windows fragment and reimport again, set .classpath for windows and do a clean. I am good to go again(sometimes though some errors are there i am able to proceed sometimes no errors atall. Behavior all the times is not the same). Not sure what is the problem behind this. Can anyone else test this pr please? are they successful? |
6914e97
to
f5ed487
Compare
Thanks for trying @deepika-u! |
@HeikoKlare |
@HeikoKlare The icons at 200% look broken (but yeah icons at 175% look good after the patch are more clear) and they are better without the patch so. The overall impact at 200% is making me say a "NO" to this fix. But yeah please do let me know if you have further comments on my observations. |
f5ed487
to
c3e52f3
Compare
Thanks for that verification, @deepika-u! I agree that based your observations we should not merge this PR as is. The Windows operation The large icon retrieved via So in summary, retrieving the large icon is not necessary or even bad when the small one will already fit the needs without rescaling. Still, it is relevant when the icon is required with higher scaling than the native one of the primary monitor. This will be the case once we support adapting the window scaling when moving it to a monitor with a different scale value. For example, starting the application on the primary monitor with 100% scaling and then moving the window to a monitor with 200% scaling, it makes sense to then use the large icon as the one delivered by |
f3f9058
to
239e3ca
Compare
Icons for files associated with an external program area always loaded in small size using the Windows API. The API also provides an option to load large icons, which have twice the size of the small ones. In order to improve the icon sharpness when retrieving the icon for (monitor) scale value of more than 100%, this change ensures that the higher resolution icon is used and scaled appropriately.
239e3ca
to
b1ddf05
Compare
I close this PR for now as I did not find a proper way to consider large program icons when it makes sense to. The reason is that at those places where program icons are used (within the Eclipse IDE product), they are always retrieved at 200% scaling and then scaled to the required value by the consumer (in particular, Java element image descriptors). So unless the consumers retrieve the icon in the scaling they really require, there will be two many cases in which the icon is badly, see, e.g., #1014 (comment) Still, I updated the PR to reflect the recent changes of #1138 to be able to revive the PR if required, e.g., for providing proper/sharp icons in multi-monitor HiDPI setups (like introduced with #1064 and follow-ups). |
Icons for files associated with an external program area always loaded in small size using the Windows API. The API also provides an option to load large icons, which have twice the size of the small ones.
In order to improve the icon sharpness when retrieving the icon for (monitor) scale value of more than 100%, this change ensures that the higher resolution icon is used and scaled appropriately.
This is a follow-up to #409, in which proper scaling support for icons was first added. The missing retrieval of large icons has been identified there (#409 (comment)) and deferred to follow-up work (#409 (comment)).
Example at 150% scaling (
swt.autoScale=quarter
) before (left) and after (right) this PR.Example at 225% scaling (
swt.autoScale=quarter
) before (left) and after (right) this PR.