eclipse / gef-classic

Eclipse GEF(tm) Classic code
Eclipse Public License 2.0
25 stars 48 forks source link

Convert gif images to png format #465

Closed Phillipus closed 1 month ago

Phillipus commented 2 months ago

GEF uses several gif images -

https://github.com/eclipse/gef-classic/tree/master/org.eclipse.gef/icons https://github.com/eclipse/gef-classic/tree/master/org.eclipse.gef/src/org/eclipse/gef/internal/icons

Some distributions of Linux might not have support to load gif files. See https://github.com/eclipse-platform/eclipse.platform.swt/issues/1307

Perhaps these could be converted to png format in both standard and @2x sizes? (I don't have the artistic skill to do this)

azoitl commented 2 months ago

I can give it a try. Especially some of the internal icons would also be available in the platform. Maybe we can take some of theirs and reduce ours.

ptziegler commented 2 months ago

It's still wild to me that projects plan on dropping something as widespread as gifs...

Just as a note: From my experience, pngs tend to be much larger than gifs, unless you crank the compression level to the limit.

I also remember it being possible to request funding from the EF. Perhaps it makes sense to commission a new set of icons instead? Especially since some icons (prominently the cursors) did not age gracefully. Though I wouldn't even know where to start there...

azoitl commented 2 months ago

The biggest problem I see with gifs is that AFAIK there is no alpha channel. PNG icons blend here much nicer in and this is a plus for dark mode.

merks commented 2 months ago

Yes, there is one "color" that can be 100% transparent, but definitely no alpha.

azoitl commented 2 months ago

In the last two days I started working on migrating the align icons to pngs and also added 2x versions. Not fully done yet but you can see where it is going here: https://github.com/eclipse/gef-classic/commit/5cf918ec254c839c9beb5dffac34a9a2063feb19

I think for most icons I will be able to produce nice versions for the 2024-09 release.

One thing I noticed where pngs are also better is that you can get nicer gradients as png allow full 8 bit rgba colors. This is especially helpful for making icons fitting to the Eclipse UI guidelines.

Phillipus commented 2 months ago

@azoitl Thanks! They look good. :-)

ptziegler commented 1 month ago

A quick search resulted in the following list of GIFs that still need to be converted. @azoitl What, if any, icons are you currently working on? Most of the icons belong to the GEF bundle and I'd like to avoid both of us working on the same files.

azoitl commented 1 month ago

I just experimented with the paragraph style icons. I would like to try looking into the marque select icons. But there I'm not yet sure which gradient to use.

ptziegler commented 1 month ago

But there I'm not yet sure which gradient to use.

To get the colors right, I usually have the original GIF open in GIMP and then take the colors via the Color Picker. So for the marquee icons, the outer rectangle in e.g. marquee16.gif, the gradient start with #09569f at the bottom and end with #8f7728 at the top.

azoitl commented 1 month ago

But there I'm not yet sure which gradient to use.

To get the colors right, I usually have the original GIF open in GIMP and then take the colors via the Color Picker. So for the marquee icons, the outer rectangle in e.g. marquee16.gif, the gradient start with #09569f at the bottom and end with #8f7728 at the top.

My point was more about what colors to use. I have the feeling that in respect to the (Eclipse UI guidelines)[https://eclipse-platform.github.io/ui-best-practices/#design] the current colors seems a bit of.

azoitl commented 1 month ago

By now I have svgs of the marquee icons. I must admit working with inkscape has its advantages. Really like it. No I only have to correctly generated the 4 pngs I need for the tools. but we are getting there.

azoitl commented 1 month ago

The code which uses the images from org.eclipse.gef.ui.console.icons is deprecated. I don't think it is worth the effort to redo this icons. Should we mark that API for removal in the second next release?

The same holds for the icons in org.eclipse.gef.ui.stackview.icons.

ptziegler commented 1 month ago

I noticed that as well and agree. It's not really worth the effort refactoring them when they shouldn't be used in the first place. I'm not even sure if both still work, in the first place...