Replace pre-generated disabled icon with on-the-fly generated ones#2190
Merged
jjohnstn merged 2 commits intoeclipse-jdt:masterfrom Apr 29, 2025
Merged
Replace pre-generated disabled icon with on-the-fly generated ones#2190jjohnstn merged 2 commits intoeclipse-jdt:masterfrom
jjohnstn merged 2 commits intoeclipse-jdt:masterfrom
Conversation
Contributor
|
This pull request changes some projects for the first time in this development cycle. An additional commit containing all the necessary changes was pushed to the top of this PR's branch. To obtain these changes (for example if you want to push more changes) either fetch from your fork or apply the git patch. Git patchFurther information are available in Common Build Issues - Missing version increments. |
This was referenced Apr 28, 2025
Contributor
|
@HeikoKlare Please resolve conflicts and resubmit. |
80efe3e to
34193ce
Compare
Contributor
Author
Contributor
|
/rebase |
jjohnstn
requested changes
Apr 29, 2025
SWT's algorithm to calculate disabled icons on the fly has been enhanced to produce results that are equal to the existing, pre-generated disabled icons being used. This makes the usage of pre-generated disabled icons obsolete. This is particularly important for the introduction of SVG icons, as the quality of on-the-fly generated disabled icons based on the original SVGs is better for arbitrary zooms than the scaled up or scaled downs versions of the PNG-based disabled icons. This change removes all explicit specifications of disabled image descriptors or replaces them with image descriptors derived from their enabled version.
34193ce to
6dcab57
Compare
jjohnstn
approved these changes
Apr 29, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
❗ This now includes the changes of and should thus be merged after #2189
What it does
SWT's algorithm to calculate disabled icons on the fly has been enhanced to produce results that are equal to the existing, pre-generated disabled icons being used. This makes the usage of pre-generated disabled icons obsolete. This is particularly important for the introduction of SVG icons, as the quality of on-the-fly generated disabled icons based on the original SVGs is better for arbitrary zooms than the scaled up or scaled downs versions of the PNG-based disabled icons.
This change removes all explicit specifications of disabled image descriptors or replaces them with image descriptors derived from their enabled version.
This can be merged independent from the PRs introducing SVGs but might make sense to merge before as otherwise the enabled (SVG-based) and disabled (PNG-based) icons may be of different sharpness as specific monitor zoom values:
How to test
Start a product and check whether the disabled versions of the affected icons still look the same.
Since those disabled version are not generated on the fly and since that algorithm is configurable, it will be possible to notice different kinds of disablement when using flags like
-Dorg.eclipse.swt.image.disablement=desaturatedor-Dorg.eclipse.swt.image.disablement=gtk. Without any flag, the result should be just the same as the original, pre-generated icons.One rather special place is the usage of icons in the

FormatterModifyDialog, where the disabled icons are manually embedded in menu items showing different kinds of, e.g., line wrapping styles. In most other cases, those icons are referenced via image descriptors inActionContributionsItemsresulting in ToolItems.The formatter modify dialog still shows proper enabled and disabled icons.
This is how it looked before the change (and after the change if none of the above options is specified):
And this is how it looks like with

-Dorg.eclipse.swt.image.disablement=desaturated:Author checklist