icontheme: Add support for high resolution icons

Desktop / GNOME / GTK - Carlos Garnacho [lanedo.com] - 3 July 2013 07:39 UTC

An optional OutputScale integer key has been added to index.theme subdirs description, so icon themes may provide icons that are more suitable to render at a (typically 2x) integer upscaled resolution. This way it is possible to make eg. a 16x16@2x icon has a real size of 32x32, but contains a similar level of detail to the 16x16 icon so things don't look any more cluttered on high-dpi screens.

The pixbuf lookup has changed so it prefers a minimal scale change that yields the minimal real size difference, so if looking up for a 16x16 icon at 2x, it would first prefer 16x16@2x, then 32x32, and then any other icon that's closest to match

There is now *_for_scale() variants for all GtkIconTheme ways to directly or indirectly fetch a GdkPixbuf.

This is based on code by Carlos Garnacho with changes by Alexander Larsson

58adb70 icontheme: Add support for high resolution icons
gtk/gtkicontheme.c | 473 +++++++++++++++++++++++++++++++++++++++-------------
gtk/gtkicontheme.h | 28 ++++
2 files changed, 387 insertions(+), 114 deletions(-)

Upstream: git.gnome.org


  • Share