Code::Blocks

Developer forums (C::B DEVELOPMENT STRICTLY!) => Development => Topic started by: darmar on June 10, 2018, 01:03:58 pm

Title: Problem with icons on HiDPI displays
Post by: darmar on June 10, 2018, 01:03:58 pm
Icons in C::B are too small on HiDPI displays. I am experiencing it myself and others do too (e.g. http://forums.codeblocks.org/index.php/topic,21724.msg147764.html#msg147764 )
 
Are there any changes on this matter? Do somebody has already started to implement required changes?

If not, I could put some of my efforts for solving this problem.

Maybe somebody could advise what steps should be taken?
I was thinking about (a) the making icons with different sizes and (2) implementing in C::B the possibility to choose these icon sets.
Title: Re: Problem with icons on HiDPI displays
Post by: oBFusCATed on June 10, 2018, 07:45:12 pm
As a start we need bigger icons.
I'm agitating a person to do the work, but the progress is really slow there.
I've not looked what we need to do after we have the bigger icons.
I'm running at 160dpi and 22x22 icons aren't too small. :)
Title: Re: Problem with icons on HiDPI displays
Post by: darmar on June 11, 2018, 08:35:21 am
Quote
As a start we need bigger icons.

Which icons are needed? How big they should be? Maybe I will be more successful in agitating somebody  ;).
Title: Re: Problem with icons on HiDPI displays
Post by: oBFusCATed on June 11, 2018, 08:51:45 am
All of them. :) I think to be safe we need sizes as big as 64x64 or even 128x128 for toolbar icons.
Title: Re: Problem with icons on HiDPI displays
Post by: headkase on June 11, 2018, 02:45:08 pm
All of them. :) I think to be safe we need sizes as big as 64x64 or even 128x128 for toolbar icons.

With the caveat that I'm a noob, if it has to be done then how about doing it once: create scalable vector graphic files, SVGs, for the icons.  Then those definitions can, even on the fly, be used to create whatever size to your heart's content?

https://en.wikipedia.org/wiki/Scalable_Vector_Graphics
Title: Re: Problem with icons on HiDPI displays
Post by: oBFusCATed on June 11, 2018, 04:54:01 pm
SVGs aren't 100% suitable for the task, because the anti-aliasing algorithms have troubles producing sharp images for the smallest sizes.
So, even if SVG is used as a base for the icons, a manual pass is still required in order to make the icons look really good.
Title: Re: Problem with icons on HiDPI displays
Post by: BlueHazzard on June 11, 2018, 11:57:16 pm
SVGs aren't 100% suitable for the task, because the anti-aliasing algorithms have troubles producing sharp images for the smallest sizes.
So, even if SVG is used as a base for the icons, a manual pass is still required in order to make the icons look really good.
i can only confirm this. Converting svg images to low resolution does not work at all... Maybe starting from 128x128 svgs are acceptable, but i have not tested this. Nerveless I would recommend to rework all icons to svg , so for future use they are in a nice scalable format...
Title: Re: Problem with icons on HiDPI displays
Post by: darmar on June 20, 2018, 08:50:39 am
Work progress

There was created a project called "cb-icons" on github ( https://github.com/specialmart/cb-icons (https://github.com/specialmart/cb-icons) ).
Currently were created only icons used by Debugger plugin.
Icons are created in SVG format using Inkscape and are exported to PNGs. Normaly are created two SVG files for each icon. "*32.svg" are used for export to 32, 36, 128 size PNG files. "*24.svg" or "*48.svg" are used to export to 48 size PNG files. Lines in SVG files are drawn on pixel locations to make PNG look sharp.

Please write your suggestions about the icons.

Questions:
1) Icons are created in 32, 48, 64, 128 size. Icons of 16 size and 22 (for toolbars only) size are already shipped with C::B. Is it OK?
2) It seems to me, that some icons in the image directory "trunk/src/src/resources/images/" are unused. E.g. "compile.png", "compilerun.png" etc. I think, that the Compiler plugin has its own icon set. Am I wrong? Perhaps, can somebody remove unused icons from the C::B repository? Or just write me a list with the unused icons?


Title: Re: Problem with icons on HiDPI displays
Post by: oBFusCATed on June 20, 2018, 09:23:50 am
1. What about the 24 and 28? I'm currently using size 22 on a 160dpi monitor and they look almost right. The pngs for size 32 looked blurry in firefox, but the svg looked sharper.
2. You'll have to search the source for every icon. :(
Title: Re: Problem with icons on HiDPI displays
Post by: darmar on June 20, 2018, 09:32:46 am
Do we need 24 icons, when 22 already exist?

Note: If you look icons directly from a browser, make sure that the zoom level is at 100%. Otherwise, any image is blurred.
Title: Re: Problem with icons on HiDPI displays
Post by: oBFusCATed on June 20, 2018, 10:13:16 am
Not sure about 24.
It would probably be good if we support scales like 1.25, 1.5, 1.75, 2.0. If we select 16 as base. We get 20, 24, 28, 32.
Also we need some code to select the size automatically, but I guess this is doable in later wx's and it is a separate issue.

Yes, I'm looking the image at 100%, but the blurriness might be caused because the browser does some scaling due to my higher dpi. I've opened it in an image browser and it looks fine.
Title: Re: Problem with icons on HiDPI displays
Post by: BlueHazzard on June 20, 2018, 11:56:15 pm
They look really good! Good job!