Date: prev next · Thread: first prev next last
2017 Archives by date, by thread · List index


Hi,

On Fri, Dec 22, 2017 at 12:52 AM, Michael Meeks
<michael.meeks@collabora.com> wrote:

* Blurry icons (Heiko)
    + a PNG issue for hidpi screens.
    + why not use SVG icons instead ?
    + quikee wrote some code to render SVG icons (Kendy)
       + need to look into what the state is

There are 2 issues currently:
- SVG import doesn't correctly interpret what should happen when
"height" and "width" aren't set but just "viewBox", so many SVG icons
aren't rendered correctly. I have a fix for that, but need to write a
test too.

- When using GTK3 we use the cairo HiDPI scaling instead of handling
that ourselves. The issue is that rendering bitmaps need to support
that too, which we don't. For example if we have an icon 24x24 px
which is rendered to 48x48 actual px from SVG (2x HiDPI scaling) must
still pretend to be 24x24 px and drawn to a 24x24 px area on a cairo
surface (cairo surface uses non-scaled size and just internally scales
them to 2x the size) . So our "Image" class must know something about
scaling to draw the icons correctly in this case. I have made a crude
POC and it worked, but not yet ready for production.

       + adds some startup-time potentially.
       + need to measure startup impact.

SVG icons are on demand rendered and then cached to PNG in profile
"cache" folder. So the rendering impact would only be for the first
time an icon is used, after that the impact is the same as using a PNG
icon - until the cache is cleared  (which is currently never - users
must do it themselves).

    + SVG renderer we have is not the fastest in the world (Thorsten)
       + with some caching – in a good shape.
    + thought it was solved ? Just switching.
    => ask quikee what he recommends.

When those 2 bugs are solved, all we need to do is package the SVG
icons. At least breeze_svg icons work as they are very simple. Others
(elementary for example) could render wrongly, I didn't try it yet.
OTOH some Tango SVG icons did crash the renderer so currently we
always prefer PNG icon over SVG if both are present (like in Tango)
and the icon theme must be a pure SVG themes (with no PNG present in
the zip file) if SVG would be used.

Regards, Tomaž

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.