lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi] Showing better icons in high DPI


From: Vadim Zeitlin
Subject: [lmi] Showing better icons in high DPI
Date: Wed, 12 Jan 2022 00:05:27 +0100

 Hello,

 One of the important new features in (the still not released but really
close to being to, this time for real) wx 3.1.6 is the possibility to
define bitmaps of different sizes for the same "logical" bitmap in
different resolutions. I.e. instead of scaling up a 16x16 bitmap by a
factor of 2 when using 200% DPI scaling or, worse, scaling it up by a
factor of 1.5, which looks really ugly, when using 150% scaling, the
application can define 16x16 bitmap, 32x32 bitmap and 24x24 bitmap and the
appropriate one will be selected during run-time (in MSW version it will
even be updated if the resolution changes dynamically, e.g. if the user
moves the program window to another monitor with a different DPI scaling).

 This is nice, but requires providing at least 2, and maybe more, versions
of the same bitmap. An alternative solution is to provide a single vector
image instead, in SVG format. In lmi case I think SVG images would be more
appropriate, as the icons being used are not very detailed (this is just an
expression of lmi minimalistic style and I intend no offense here) and so
should rasterize quite well, i.e. without too much blurring.

 So I'd like to extend the code in icon_monger to try to load an SVG file,
if it exists, first, and convert at least a couple (and ideally more, and
maybe even all) icons to this format, so that they will look (much) better
in high DPI. This doesn't have to be done immediately but OTOH it might be
better to do it together with wx submodule update to allow testing both
changes at once.

 What do you think about this, i.e. would you accept such a change at all
and, if you would, should I do it together with the wx update or later?

 Thanks in advance,
VZ

Attachment: pgphW7T6mi4fn.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]