[gtk/wip/otte/icontheme: 26/26] Rename GtkIcon to GtkIconPaintable



commit 410541f82b920b4a3a7b699c3e7f9ba4b5f4ea0d
Author: Alexander Larsson <alexl redhat com>
Date:   Tue Feb 4 17:19:22 2020 +0100

    Rename GtkIcon to GtkIconPaintable

 demos/gtk-demo/clipboard.c           |   2 +-
 demos/gtk-demo/textview.c            |   4 +-
 demos/icon-browser/iconbrowserwin.c  |   6 +-
 docs/reference/gtk/gtk4-sections.txt |  16 +--
 gtk/gtk-autocleanups.h               |   2 +-
 gtk/gtkapplication-quartz-menu.c     |   4 +-
 gtk/gtkbuilder.c                     |   4 +-
 gtk/gtkcalendar.c                    |   2 +-
 gtk/gtkcssimageicontheme.c           |  16 +--
 gtk/gtkcssimageiconthemeprivate.h    |   2 +-
 gtk/gtkiconhelper.c                  |   4 +-
 gtk/gtkicontheme.c                   | 244 +++++++++++++++++------------------
 gtk/gtkicontheme.h                   |  95 +++++++-------
 gtk/gtkiconthemeprivate.h            |  26 ++--
 gtk/gtkmountoperation.c              |   4 +-
 gtk/gtkwindow.c                      |   6 +-
 tests/testclipboard2.c               |   4 +-
 tests/testdnd2.c                     |   6 +-
 tests/testicontheme.c                |   6 +-
 testsuite/gtk/check-icon-names.c     |   2 +-
 testsuite/gtk/icontheme.c            |  20 +--
 21 files changed, 237 insertions(+), 238 deletions(-)
---
diff --git a/demos/gtk-demo/clipboard.c b/demos/gtk-demo/clipboard.c
index 7b2705c3f8..e71fb47047 100644
--- a/demos/gtk-demo/clipboard.c
+++ b/demos/gtk-demo/clipboard.c
@@ -98,7 +98,7 @@ get_image_paintable (GtkImage *image)
 {
   const gchar *icon_name;
   GtkIconTheme *icon_theme;
-  GtkIcon *icon;
+  GtkIconPaintable *icon;
 
   switch (gtk_image_get_storage_type (image))
     {
diff --git a/demos/gtk-demo/textview.c b/demos/gtk-demo/textview.c
index d69163389a..b7c5b514bf 100644
--- a/demos/gtk-demo/textview.c
+++ b/demos/gtk-demo/textview.c
@@ -132,7 +132,7 @@ insert_text (GtkTextView *view)
   GtkTextIter start, end;
   GdkTexture *texture;
   GtkIconTheme *icon_theme;
-  GtkIcon *icon;
+  GtkIconPaintable *icon;
 
   icon_theme = gtk_icon_theme_get_for_display (gtk_widget_get_display (widget));
   icon = gtk_icon_theme_lookup_icon (icon_theme,
@@ -141,7 +141,7 @@ insert_text (GtkTextView *view)
                                      32, 1,
                                      gtk_widget_get_direction (widget),
                                      0);
-  texture = gtk_icon_download_texture (icon, NULL);
+  texture = gtk_icon_paintable_download_texture (icon, NULL);
   g_object_unref (icon);
   g_assert (texture);
 
diff --git a/demos/icon-browser/iconbrowserwin.c b/demos/icon-browser/iconbrowserwin.c
index b8dce9357d..fc10a82020 100644
--- a/demos/icon-browser/iconbrowserwin.c
+++ b/demos/icon-browser/iconbrowserwin.c
@@ -356,7 +356,7 @@ get_image_paintable (GtkImage *image)
 {
   const gchar *icon_name;
   GtkIconTheme *icon_theme;
-  GtkIcon *icon;
+  GtkIconPaintable *icon;
   int size;
 
   switch (gtk_image_get_storage_type (image))
@@ -418,7 +418,7 @@ get_file (GValue   *value,
 {
   GtkIconTheme *icon_theme;
   const char *name;
-  GtkIcon *info;
+  GtkIconPaintable *info;
   GFile *file;
 
   name = gtk_image_get_icon_name (GTK_IMAGE (data));
@@ -430,7 +430,7 @@ get_file (GValue   *value,
                                      32, 1,
                                      gtk_widget_get_direction (GTK_WIDGET (data)),
                                      0);
-  file = g_file_new_for_path (gtk_icon_get_filename (info));
+  file = g_file_new_for_path (gtk_icon_paintable_get_filename (info));
   g_value_set_object (value, file);
   g_object_unref (file);
   g_object_unref (info);
diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt
index 61023e0186..a72d0614d9 100644
--- a/docs/reference/gtk/gtk4-sections.txt
+++ b/docs/reference/gtk/gtk4-sections.txt
@@ -4987,7 +4987,7 @@ GtkIconSize
 <SECTION>
 <FILE>gtkicontheme</FILE>
 <TITLE>GtkIconTheme</TITLE>
-GtkIcon
+GtkIconPaintable
 GtkIconTheme
 GtkIconLookupFlags
 GTK_ICON_THEME_ERROR
@@ -5010,9 +5010,9 @@ gtk_icon_theme_choose_icon_finish
 gtk_icon_theme_lookup_by_gicon
 gtk_icon_theme_list_icons
 gtk_icon_theme_get_icon_sizes
-gtk_icon_get_filename
-gtk_icon_is_symbolic
-gtk_icon_download_texture
+gtk_icon_paintable_get_filename
+gtk_icon_paintable_is_symbolic
+gtk_icon_paintable_download_texture
 <SUBSECTION Standard>
 GtkIconClass
 GTK_ICON_THEME
@@ -5022,12 +5022,12 @@ gtk_icon_theme_get_type
 GTK_ICON_THEME_CLASS
 GTK_IS_ICON_THEME_CLASS
 GTK_ICON_THEME_GET_CLASS
-gtk_icon_get_type
-GTK_ICON
+gtk_icon_paintable_get_type
+GTK_ICON_PAINTABLE
 GTK_IS_ICON
 GTK_TYPE_ICON
-GTK_ICON_CLASS
-GTK_ICON_GET_CLASS
+GTK_ICON_PAINTABLE_CLASS
+GTK_ICON_PAINTABLE_GET_CLASS
 GTK_IS_ICON_CLASS
 <SUBSECTION Private>
 GtkIconThemePrivate
diff --git a/gtk/gtk-autocleanups.h b/gtk/gtk-autocleanups.h
index 1ed3d765b1..c0a07ffcaf 100644
--- a/gtk/gtk-autocleanups.h
+++ b/gtk/gtk-autocleanups.h
@@ -95,7 +95,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkHeaderBar, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkIMContext, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkIMContextSimple, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkIMMulticontext, g_object_unref)
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkIcon, g_object_unref)
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkIconPaintable, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkIconTheme, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkIconView, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkImage, g_object_unref)
diff --git a/gtk/gtkapplication-quartz-menu.c b/gtk/gtkapplication-quartz-menu.c
index bf6b5ed425..4a8a135c0e 100644
--- a/gtk/gtkapplication-quartz-menu.c
+++ b/gtk/gtkapplication-quartz-menu.c
@@ -103,7 +103,7 @@ icon_loaded (GObject      *object,
              GAsyncResult *result,
              gpointer      user_data)
 {
-  GtkIcon *icon = GTK_ICON (object);
+  GtkIconPaintable *icon = GTK_ICON (object);
   GNSMenuItem *item = user_data;
   GError *error = NULL;
   GdkPixbuf *pixbuf;
@@ -278,7 +278,7 @@ icon_loaded (GObject      *object,
       static GdkRGBA error;
 
       GtkIconTheme *theme;
-      GtkIcon *icon;
+      GtkIconPaintable *icon;
       gint scale = 1;
 
       if (!parsed)
diff --git a/gtk/gtkbuilder.c b/gtk/gtkbuilder.c
index 91da927da3..cd65388649 100644
--- a/gtk/gtkbuilder.c
+++ b/gtk/gtkbuilder.c
@@ -2160,7 +2160,7 @@ gtk_builder_value_from_string_type (GtkBuilder   *builder,
           if (pixbuf == NULL)
             {
               GtkIconTheme *theme;
-              GtkIcon *icon;
+              GtkIconPaintable *icon;
               GdkTexture *texture;
 
               g_warning ("Could not load image '%s': %s",
@@ -2174,7 +2174,7 @@ gtk_builder_value_from_string_type (GtkBuilder   *builder,
               icon = gtk_icon_theme_lookup_icon (theme, "image-missing", NULL, 16, 1,
                                                  GTK_TEXT_DIR_NONE,
                                                  0);
-              texture = gtk_icon_download_texture (icon, NULL);
+              texture = gtk_icon_paintable_download_texture (icon, NULL);
               pixbuf = gdk_pixbuf_get_from_texture (texture);
               g_object_unref (icon);
               g_object_unref (texture);
diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c
index 1c01906f23..d59e606ee9 100644
--- a/gtk/gtkcalendar.c
+++ b/gtk/gtkcalendar.c
@@ -2585,7 +2585,7 @@ gtk_calendar_drag_update (GtkGestureDrag *gesture,
   GdkDevice *device;
   GdkDrag *drag;
   GtkIconTheme *theme;
-  GtkIcon *icon;
+  GtkIconPaintable *icon;
   GdkSurface *surface;
 
   if (!priv->in_drag)
diff --git a/gtk/gtkcssimageicontheme.c b/gtk/gtkcssimageicontheme.c
index d9a5df4b24..4a3ea9ce1b 100644
--- a/gtk/gtkcssimageicontheme.c
+++ b/gtk/gtkcssimageicontheme.c
@@ -45,7 +45,7 @@ gtk_css_image_icon_theme_snapshot (GtkCssImage *image,
                                    double       height)
 {
   GtkCssImageIconTheme *icon_theme = GTK_CSS_IMAGE_ICON_THEME (image);
-  GtkIcon *icon;
+  GtkIconPaintable *icon;
   double icon_width, icon_height;
   gint size;
   double x, y;
@@ -95,13 +95,13 @@ gtk_css_image_icon_theme_snapshot (GtkCssImage *image,
       gtk_snapshot_save (snapshot);
       gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (x, y));
     }
-  gtk_icon_snapshot_with_colors (icon, snapshot,
-                                 icon_width,
-                                 icon_height,
-                                 &icon_theme->color,
-                                 &icon_theme->success,
-                                 &icon_theme->warning,
-                                 &icon_theme->error);
+  gtk_icon_paintable_snapshot_with_colors (icon, snapshot,
+                                           icon_width,
+                                           icon_height,
+                                           &icon_theme->color,
+                                           &icon_theme->success,
+                                           &icon_theme->warning,
+                                           &icon_theme->error);
   if (x != 0 || y != 0)
     gtk_snapshot_restore (snapshot);
 }
diff --git a/gtk/gtkcssimageiconthemeprivate.h b/gtk/gtkcssimageiconthemeprivate.h
index 325f58998a..02fd2046fd 100644
--- a/gtk/gtkcssimageiconthemeprivate.h
+++ b/gtk/gtkcssimageiconthemeprivate.h
@@ -49,7 +49,7 @@ struct _GtkCssImageIconTheme
 
   int cached_size;
   gboolean cached_symbolic;
-  GtkIcon *cached_icon;
+  GtkIconPaintable *cached_icon;
 };
 
 struct _GtkCssImageIconThemeClass
diff --git a/gtk/gtkiconhelper.c b/gtk/gtkiconhelper.c
index 0ec8746abb..21e6def09a 100644
--- a/gtk/gtkiconhelper.c
+++ b/gtk/gtkiconhelper.c
@@ -96,7 +96,7 @@ ensure_paintable_for_gicon (GtkIconHelper    *self,
 {
   GtkIconTheme *icon_theme;
   gint width, height;
-  GtkIcon *icon;
+  GtkIconPaintable *icon;
   GtkIconLookupFlags flags;
 
   icon_theme = gtk_css_icon_theme_value_get_icon_theme (style->core->icon_theme);
@@ -117,7 +117,7 @@ ensure_paintable_for_gicon (GtkIconHelper    *self,
                                        dir,
                                        flags);
 
-  *symbolic = gtk_icon_is_symbolic (icon);
+  *symbolic = gtk_icon_paintable_is_symbolic (icon);
   return GDK_PAINTABLE (icon);
 }
 
diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c
index 43878db5e6..9820aacb6a 100644
--- a/gtk/gtkicontheme.c
+++ b/gtk/gtkicontheme.c
@@ -83,7 +83,7 @@
  * looking up icons.
  * |[<!-- language="C" -->
  * GtkIconTheme *icon_theme;
- * GtkIcon *icon;
+ * GtkIconPaintable *icon;
  *
  * icon_theme = gtk_icon_theme_get_for_display (gtk_widget_get_display (my_widget));
  * icon = gtk_icon_theme_lookup_icon (icon_theme,
@@ -175,8 +175,8 @@ typedef enum
 #define LRU_CACHE_SIZE 100
 #define MAX_LRU_TEXTURE_SIZE 128
 
-typedef struct _GtkIconClass    GtkIconClass;
-typedef struct _GtkIconThemeClass   GtkIconThemeClass;
+typedef struct _GtkIconPaintableClass GtkIconPaintableClass;
+typedef struct _GtkIconThemeClass     GtkIconThemeClass;
 
 
 typedef struct _GtkIconThemeRef GtkIconThemeRef;
@@ -197,10 +197,10 @@ struct _GtkIconTheme
   GObject parent_instance;
   GtkIconThemeRef *ref;
 
-  GHashTable *icon_cache;              /* Protected by icon_cache lock */
+  GHashTable *icon_cache;                       /* Protected by icon_cache lock */
 
-  GtkIcon *lru_cache[LRU_CACHE_SIZE];  /* Protected by icon_cache lock */
-  int lru_cache_current;               /* Protected by icon_cache lock */
+  GtkIconPaintable *lru_cache[LRU_CACHE_SIZE];  /* Protected by icon_cache lock */
+  int lru_cache_current;                        /* Protected by icon_cache lock */
 
   gchar *current_theme;
   gchar **search_path;
@@ -243,7 +243,7 @@ typedef struct {
   GtkIconLookupFlags flags;
 } IconKey;
 
-struct _GtkIconClass
+struct _GtkIconPaintableClass
 {
   GObjectClass parent_class;
 };
@@ -253,12 +253,12 @@ struct _GtkIconClass
 G_LOCK_DEFINE_STATIC(icon_cache);
 
 /**
- * GtkIcon:
+ * GtkIconPaintable:
  *
  * Contains information found when looking up an icon in
  * an icon theme and supports painting it as a #GdkPaintable.
  */
-struct _GtkIcon
+struct _GtkIconPaintable
 {
   GObject parent_instance;
 
@@ -360,40 +360,40 @@ typedef struct
   gboolean exists;
 } IconThemeDirMtime;
 
-static void          gtk_icon_theme_finalize               (GObject          *object);
-static void          gtk_icon_theme_dispose                (GObject          *object);
-static IconTheme *   theme_new                             (const char       *theme_name,
-                                                            GKeyFile         *theme_file);
-static void          theme_dir_size_destroy                (IconThemeDirSize *dir_size);
-static void          theme_dir_destroy                     (IconThemeDir     *dir);
-static void          theme_destroy                         (IconTheme        *theme);
-static GtkIcon *     theme_lookup_icon                     (IconTheme        *theme,
-                                                            const gchar      *icon_name,
-                                                            gint              size,
-                                                            gint              scale,
-                                                            gboolean          allow_svg);
-static void          theme_list_icons                      (IconTheme        *theme,
-                                                            GHashTable       *icons);
-static gboolean      theme_has_icon                        (IconTheme        *theme,
-                                                            const gchar      *icon_name);
-static void          theme_subdir_load                     (GtkIconTheme     *self,
-                                                            IconTheme        *theme,
-                                                            GKeyFile         *theme_file,
-                                                            gchar            *subdir);
-static void          do_theme_change                       (GtkIconTheme     *self);
-static void          blow_themes                           (GtkIconTheme     *self);
-static gboolean      rescan_themes                         (GtkIconTheme     *self);
-static GtkIcon *     icon_new                              (IconThemeDirType  type,
-                                                            gint              dir_size,
-                                                            gint              dir_scale);
-static void          icon_compute_rendered_size            (GtkIcon          *icon);
-static IconCacheFlag suffix_from_name                      (const gchar      *name);
-static gboolean      icon_ensure_scale_and_texture__locked (GtkIcon          *icon,
-                                                            gboolean          in_thread);
-static void          unset_display                         (GtkIconTheme     *self);
-static void          update_current_theme__mainthread      (GtkIconTheme     *self);
-static gboolean      ensure_valid_themes                   (GtkIconTheme     *self,
-                                                            gboolean          non_blocking);
+static void              gtk_icon_theme_finalize               (GObject          *object);
+static void              gtk_icon_theme_dispose                (GObject          *object);
+static IconTheme *       theme_new                             (const char       *theme_name,
+                                                                GKeyFile         *theme_file);
+static void              theme_dir_size_destroy                (IconThemeDirSize *dir_size);
+static void              theme_dir_destroy                     (IconThemeDir     *dir);
+static void              theme_destroy                         (IconTheme        *theme);
+static GtkIconPaintable *theme_lookup_icon                     (IconTheme        *theme,
+                                                                const gchar      *icon_name,
+                                                                gint              size,
+                                                                gint              scale,
+                                                                gboolean          allow_svg);
+static void              theme_list_icons                      (IconTheme        *theme,
+                                                                GHashTable       *icons);
+static gboolean          theme_has_icon                        (IconTheme        *theme,
+                                                                const gchar      *icon_name);
+static void              theme_subdir_load                     (GtkIconTheme     *self,
+                                                                IconTheme        *theme,
+                                                                GKeyFile         *theme_file,
+                                                                gchar            *subdir);
+static void              do_theme_change                       (GtkIconTheme     *self);
+static void              blow_themes                           (GtkIconTheme     *self);
+static gboolean          rescan_themes                         (GtkIconTheme     *self);
+static GtkIconPaintable *icon_paintable_new                    (IconThemeDirType  type,
+                                                                gint              dir_size,
+                                                                gint              dir_scale);
+static void              icon_compute_rendered_size            (GtkIconPaintable *icon);
+static IconCacheFlag     suffix_from_name                      (const gchar      *name);
+static gboolean          icon_ensure_scale_and_texture__locked (GtkIconPaintable *icon,
+                                                                gboolean          in_thread);
+static void              unset_display                         (GtkIconTheme     *self);
+static void              update_current_theme__mainthread      (GtkIconTheme     *self);
+static gboolean          ensure_valid_themes                   (GtkIconTheme     *self,
+                                                                gboolean          non_blocking);
 
 static guint signal_changed = 0;
 
@@ -538,18 +538,18 @@ icon_key_equal (gconstpointer _a,
 
 /* This is called with icon_cache lock held so must not take any locks */
 static gboolean
-_icon_cache_should_lru_cache (GtkIcon *icon)
+_icon_cache_should_lru_cache (GtkIconPaintable *icon)
 {
   return icon->desired_size <= MAX_LRU_TEXTURE_SIZE;
 }
 
 /* This returns the old lru element because we can't unref it with
  * the lock held */
-static GtkIcon *
-_icon_cache_add_to_lru_cache (GtkIconTheme *theme,
-                              GtkIcon      *icon)
+static GtkIconPaintable *
+_icon_cache_add_to_lru_cache (GtkIconTheme     *theme,
+                              GtkIconPaintable *icon)
 {
-  GtkIcon *old_icon = NULL;
+  GtkIconPaintable *old_icon = NULL;
 
   /* Avoid storing the same info multiple times in a row */
   if (theme->lru_cache[theme->lru_cache_current] != icon)
@@ -562,12 +562,12 @@ _icon_cache_add_to_lru_cache (GtkIconTheme *theme,
   return old_icon;
 }
 
-static GtkIcon *
+static GtkIconPaintable *
 icon_cache_lookup (GtkIconTheme *theme,
                    IconKey      *key)
 {
-  GtkIcon *old_icon = NULL;
-  GtkIcon *icon;
+  GtkIconPaintable *old_icon = NULL;
+  GtkIconPaintable *icon;
 
   G_LOCK (icon_cache);
 
@@ -600,7 +600,7 @@ icon_cache_lookup (GtkIconTheme *theme,
  * This is a callback from the icon_cache hashtable, so the icon_cache lock is already held.
  */
 static void
-icon_uncached_cb (GtkIcon *icon)
+icon_uncached_cb (GtkIconPaintable *icon)
 {
   DEBUG_CACHE (("removing %p (%s %d 0x%x) from cache (icon_them: %p)  (cache size %d)\n",
                 icon,
@@ -613,9 +613,9 @@ icon_uncached_cb (GtkIcon *icon)
 }
 
 static void
-icon_cache_mark_used_if_cached (GtkIcon *icon)
+icon_cache_mark_used_if_cached (GtkIconPaintable *icon)
 {
-  GtkIcon *old_icon = NULL;
+  GtkIconPaintable *old_icon = NULL;
 
   if (!_icon_cache_should_lru_cache (icon))
     return;
@@ -631,10 +631,10 @@ icon_cache_mark_used_if_cached (GtkIcon *icon)
 }
 
 static void
-icon_cache_add (GtkIconTheme *theme,
-                GtkIcon      *icon)
+icon_cache_add (GtkIconTheme     *theme,
+                GtkIconPaintable *icon)
 {
-  GtkIcon *old_icon = NULL;
+  GtkIconPaintable *old_icon = NULL;
 
   G_LOCK (icon_cache);
   icon->in_cache = theme;
@@ -655,7 +655,7 @@ icon_cache_add (GtkIconTheme *theme,
 }
 
 static void
-icon_cache_remove (GtkIcon *icon)
+icon_cache_remove (GtkIconPaintable *icon)
 {
   G_LOCK (icon_cache);
   if (icon->in_cache)
@@ -667,7 +667,7 @@ static void
 icon_cache_clear (GtkIconTheme *theme)
 {
   int i;
-  GtkIcon *old_icons[LRU_CACHE_SIZE];
+  GtkIconPaintable *old_icons[LRU_CACHE_SIZE];
 
   G_LOCK (icon_cache);
   g_hash_table_remove_all (theme->icon_cache);
@@ -1809,7 +1809,7 @@ icon_uri_is_symbolic (const gchar *icon_name,
   return FALSE;
 }
 
-static GtkIcon *
+static GtkIconPaintable *
 real_choose_icon (GtkIconTheme      *self,
                   const gchar       *icon_names[],
                   gint               size,
@@ -1819,8 +1819,8 @@ real_choose_icon (GtkIconTheme      *self,
                   gboolean           *would_block)
 {
   GList *l;
-  GtkIcon *icon = NULL;
-  GtkIcon *unscaled_icon;
+  GtkIconPaintable *icon = NULL;
+  GtkIconPaintable *unscaled_icon;
   UnthemedIcon *unthemed_icon = NULL;
   const gchar *icon_name = NULL;
   IconTheme *theme = NULL;
@@ -1905,7 +1905,7 @@ real_choose_icon (GtkIconTheme      *self,
 
       if (hIcon)
         {
-          icon = icon_new (ICON_THEME_DIR_UNTHEMED, size, 1);
+          icon = icon_paintable_new (ICON_THEME_DIR_UNTHEMED, size, 1);
           icon->cache_pixbuf = gdk_win32_icon_to_pixbuf_libgtk_only (hIcon, NULL, NULL);
           DestroyIcon (hIcon);
         }
@@ -1915,7 +1915,7 @@ real_choose_icon (GtkIconTheme      *self,
 
   if (unthemed_icon)
     {
-      icon = icon_new (ICON_THEME_DIR_UNTHEMED, size, 1);
+      icon = icon_paintable_new (ICON_THEME_DIR_UNTHEMED, size, 1);
 
       /* A SVG icon, when allowed, beats out a XPM icon, but not a PNG icon */
       if (self->pixbuf_supports_svg &&
@@ -2020,7 +2020,7 @@ icon_name_list_add_icon (GPtrArray   *icons,
   g_ptr_array_add (icons, icon_name);
 }
 
-static GtkIcon *
+static GtkIconPaintable *
 choose_icon (GtkIconTheme      *self,
              const gchar       *icon_names[],
              gint               size,
@@ -2031,7 +2031,7 @@ choose_icon (GtkIconTheme      *self,
              gboolean           *would_block)
 {
   gboolean has_regular = FALSE, has_symbolic = FALSE;
-  GtkIcon *icon;
+  GtkIconPaintable *icon;
   GPtrArray *new_names;
   const gchar *dir_suffix;
   guint i;
@@ -2157,7 +2157,7 @@ choose_icon (GtkIconTheme      *self,
  * Looks up a named icon for a desired size and window scale, returning a
  * #GtkIcon. The icon can then be rendered by using it as a #GdkPaintable,
  * or you can get information such as the filename and size. The pixels
- * of the texture can be access by using gtk_icon_download_texture().
+ * of the texture can be access by using gtk_icon_paintable_download_texture().
  *
  * The icon icon size will be based on the requested @size, but may
  * not be exactly this size; an icon theme may have icons that differ
@@ -2175,10 +2175,10 @@ choose_icon (GtkIconTheme      *self,
  * update the icon. This is usually done by connecting to the
  * GtkWidget::style-updated signal.
  *
- * Returns: (nullable) (transfer full): a #GtkIcon object
+ * Returns: (nullable) (transfer full): a #GtkIconPaintable object
  *     containing the icon, or %NULL if the icon wasn’t found.
  */
-GtkIcon *
+GtkIconPaintable *
 gtk_icon_theme_lookup_icon (GtkIconTheme       *self,
                             const char         *icon_name,
                             const char         *fallbacks[],
@@ -2187,7 +2187,7 @@ gtk_icon_theme_lookup_icon (GtkIconTheme       *self,
                             GtkTextDirection    direction,
                             GtkIconLookupFlags  flags)
 {
-  GtkIcon *icon;
+  GtkIconPaintable *icon;
 
   g_return_val_if_fail (GTK_IS_ICON_THEME (self), NULL);
   g_return_val_if_fail (icon_name != NULL, NULL);
@@ -2710,7 +2710,7 @@ compare_dir_size_matches (IconThemeDirSize *dir_a, gint difference_a,
   return diff_a <= diff_b;
 }
 
-static GtkIcon *
+static GtkIconPaintable *
 theme_lookup_icon (IconTheme   *theme,
                    const gchar *icon_name,
                    gint         size,
@@ -2768,11 +2768,11 @@ theme_lookup_icon (IconTheme   *theme,
 
   if (min_dir_size)
     {
-      GtkIcon *icon;
+      GtkIconPaintable *icon;
       IconThemeDir *dir = &g_array_index (theme->dirs, IconThemeDir, min_file->dir_index);
       gchar *filename;
 
-      icon = icon_new (min_dir_size->type, min_dir_size->size, min_dir_size->scale);
+      icon = icon_paintable_new (min_dir_size->type, min_dir_size->size, min_dir_size->scale);
       icon->min_size = min_dir_size->min_size;
       icon->max_size = min_dir_size->max_size;
 
@@ -3144,25 +3144,25 @@ theme_subdir_load (GtkIconTheme *self,
 static void icon_paintable_init (GdkPaintableInterface *iface);
 
 
-G_DEFINE_TYPE_WITH_CODE (GtkIcon, gtk_icon, G_TYPE_OBJECT,
+G_DEFINE_TYPE_WITH_CODE (GtkIconPaintable, gtk_icon_paintable, G_TYPE_OBJECT,
                          G_IMPLEMENT_INTERFACE (GDK_TYPE_PAINTABLE,
                                                 icon_paintable_init))
 
 static void
-gtk_icon_init (GtkIcon *icon)
+gtk_icon_paintable_init (GtkIconPaintable *icon)
 {
   icon->scale = -1.;
   g_mutex_init (&icon->texture_lock);
 }
 
-static GtkIcon *
-icon_new (IconThemeDirType type,
-               gint             dir_size,
-               gint             dir_scale)
+static GtkIconPaintable *
+icon_paintable_new (IconThemeDirType type,
+                    gint             dir_size,
+                    gint             dir_scale)
 {
-  GtkIcon *icon;
+  GtkIconPaintable *icon;
 
-  icon = g_object_new (GTK_TYPE_ICON, NULL);
+  icon = g_object_new (GTK_TYPE_ICON_PAINTABLE, NULL);
 
   icon->dir_type = type;
   icon->dir_size = dir_size;
@@ -3176,7 +3176,7 @@ icon_new (IconThemeDirType type,
 }
 
 static void
-icon_compute_rendered_size (GtkIcon *icon)
+icon_compute_rendered_size (GtkIconPaintable *icon)
 {
   int rendered_size;
 
@@ -3215,9 +3215,9 @@ icon_compute_rendered_size (GtkIcon *icon)
 }
 
 static void
-gtk_icon_finalize (GObject *object)
+gtk_icon_paintable_finalize (GObject *object)
 {
-  GtkIcon *icon = (GtkIcon *) object;
+  GtkIconPaintable *icon = (GtkIconPaintable *) object;
 
   icon_cache_remove (icon);
 
@@ -3232,19 +3232,19 @@ gtk_icon_finalize (GObject *object)
 
   g_mutex_clear (&icon->texture_lock);
 
-  G_OBJECT_CLASS (gtk_icon_parent_class)->finalize (object);
+  G_OBJECT_CLASS (gtk_icon_paintable_parent_class)->finalize (object);
 }
 
 static void
-gtk_icon_class_init (GtkIconClass *klass)
+gtk_icon_paintable_class_init (GtkIconPaintableClass *klass)
 {
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
-  gobject_class->finalize = gtk_icon_finalize;
+  gobject_class->finalize = gtk_icon_paintable_finalize;
 }
 
 /**
- * gtk_icon_get_filename:
+ * gtk_icon_paintable_get_filename:
  * @self: a #GtkIcon
  *
  * Gets the filename for the icon.
@@ -3253,7 +3253,7 @@ gtk_icon_class_init (GtkIconClass *klass)
  *     if the icon is not represented by a filename.
  */
 const gchar *
-gtk_icon_get_filename (GtkIcon *icon)
+gtk_icon_paintable_get_filename (GtkIconPaintable *icon)
 {
   g_return_val_if_fail (icon != NULL, NULL);
 
@@ -3261,7 +3261,7 @@ gtk_icon_get_filename (GtkIcon *icon)
 }
 
 /**
- * gtk_icon_is_symbolic:
+ * gtk_icon_paintable_is_symbolic:
  * @self: a #GtkIcon
  *
  * Checks if the icon is symbolic or not. This currently uses only
@@ -3271,16 +3271,16 @@ gtk_icon_get_filename (GtkIcon *icon)
  * Returns: %TRUE if the icon is symbolic, %FALSE otherwise
  */
 gboolean
-gtk_icon_is_symbolic (GtkIcon *icon)
+gtk_icon_paintable_is_symbolic (GtkIconPaintable *icon)
 {
-  g_return_val_if_fail (GTK_IS_ICON (icon), FALSE);
+  g_return_val_if_fail (GTK_IS_ICON_PAINTABLE (icon), FALSE);
 
   return icon->filename != NULL &&
          icon_uri_is_symbolic (icon->filename, -1);
 }
 
 static GLoadableIcon *
-icon_get_loadable (GtkIcon *icon)
+icon_get_loadable (GtkIconPaintable *icon)
 {
   GFile *file;
   GLoadableIcon *loadable;
@@ -3309,7 +3309,7 @@ icon_get_loadable (GtkIcon *icon)
  * that size.
  */
 static gboolean
-icon_ensure_scale_and_texture__locked (GtkIcon *icon,
+icon_ensure_scale_and_texture__locked (GtkIconPaintable *icon,
                                        gboolean in_thread)
 {
   gint image_width, image_height, image_size;
@@ -3378,7 +3378,7 @@ icon_ensure_scale_and_texture__locked (GtkIcon *icon,
           else
             size = icon->dir_size * dir_scale * icon->scale;
 
-          if (gtk_icon_is_symbolic (icon))
+          if (gtk_icon_paintable_is_symbolic (icon))
             source_pixbuf = gtk_make_symbolic_pixbuf_from_resource (icon->filename,
                                                                     size, size,
                                                                     icon->desired_scale,
@@ -3425,7 +3425,7 @@ icon_ensure_scale_and_texture__locked (GtkIcon *icon,
               else
                 size = icon->dir_size * dir_scale * icon->scale;
 
-              if (gtk_icon_is_symbolic (icon))
+              if (gtk_icon_paintable_is_symbolic (icon))
                 source_pixbuf = gtk_make_symbolic_pixbuf_from_path (icon->filename,
                                                                     size, size,
                                                                     icon->desired_scale,
@@ -3524,7 +3524,7 @@ icon_ensure_scale_and_texture__locked (GtkIcon *icon,
 }
 
 /**
- * gtk_icon_download_texture:
+ * gtk_icon_paintable_download_texture:
  * @self: a #GtkIcon
  * @error: (allow-none): location to store error information on failure,
  *     or %NULL.
@@ -3535,7 +3535,7 @@ icon_ensure_scale_and_texture__locked (GtkIcon *icon,
  * Returns: (transfer full): An texture with the contents of the icon, or %NULL on failure.
  */
 GdkTexture *
-gtk_icon_download_texture (GtkIcon *self,
+gtk_icon_paintable_download_texture (GtkIconPaintable *self,
                            GError **error)
 {
   GdkTexture *texture = NULL;
@@ -3601,10 +3601,10 @@ icon_paintable_snapshot (GdkPaintable *paintable,
                          double        width,
                          double        height)
 {
-  GtkIcon *icon = GTK_ICON (paintable);
+  GtkIconPaintable *icon = GTK_ICON_PAINTABLE (paintable);
   GdkTexture *texture;
 
-  texture = gtk_icon_download_texture (icon, NULL);
+  texture = gtk_icon_paintable_download_texture (icon, NULL);
   if (texture)
     {
       if (icon->desired_scale != 1)
@@ -3624,7 +3624,7 @@ icon_paintable_snapshot (GdkPaintable *paintable,
 }
 
 /**
- * gtk_icon_snapshot_with_colors:
+ * gtk_icon_paintable_snapshot_with_colors:
  * @icon: a #GtkIcon
  * @snapshot: a #GdkSnapshot to snapshot to
  * @width: width to snapshot in
@@ -3642,7 +3642,7 @@ icon_paintable_snapshot (GdkPaintable *paintable,
  * symbolic it will be recolored with the specified colors (which ususally comes from the theme).
  */
 void
-gtk_icon_snapshot_with_colors (GtkIcon *icon,
+gtk_icon_paintable_snapshot_with_colors (GtkIconPaintable *icon,
                                GtkSnapshot  *snapshot,
                                double        width,
                                double        height,
@@ -3653,10 +3653,10 @@ gtk_icon_snapshot_with_colors (GtkIcon *icon,
 {
   GdkTexture *texture;
 
-  texture = gtk_icon_download_texture (icon, NULL);
+  texture = gtk_icon_paintable_download_texture (icon, NULL);
   if (texture)
     {
-      gboolean symbolic = gtk_icon_is_symbolic (icon);
+      gboolean symbolic = gtk_icon_paintable_is_symbolic (icon);
 
       if (icon->desired_scale != 1)
         {
@@ -3699,7 +3699,7 @@ icon_paintable_get_flags (GdkPaintable *paintable)
 static int
 icon_paintable_get_intrinsic_width (GdkPaintable *paintable)
 {
-  GtkIcon *icon = GTK_ICON (paintable);
+  GtkIconPaintable *icon = GTK_ICON_PAINTABLE (paintable);
 
   return icon->rendered_size;
 }
@@ -3707,7 +3707,7 @@ icon_paintable_get_intrinsic_width (GdkPaintable *paintable)
 static int
 icon_paintable_get_intrinsic_height (GdkPaintable *paintable)
 {
-  GtkIcon *icon = GTK_ICON (paintable);
+  GtkIconPaintable *icon = GTK_ICON_PAINTABLE (paintable);
 
   return icon->rendered_size;
 }
@@ -3721,14 +3721,14 @@ icon_paintable_init (GdkPaintableInterface *iface)
   iface->get_intrinsic_height = icon_paintable_get_intrinsic_height;
 }
 
-static GtkIcon *
-gtk_icon_new_for_file (GFile *file,
+static GtkIconPaintable *
+gtk_icon_paintable_new_for_file (GFile *file,
                        gint   size,
                        gint   scale)
 {
-  GtkIcon *icon;
+  GtkIconPaintable *icon;
 
-  icon = icon_new (ICON_THEME_DIR_UNTHEMED, size, 1);
+  icon = icon_paintable_new (ICON_THEME_DIR_UNTHEMED, size, 1);
   icon->loadable = G_LOADABLE_ICON (g_file_icon_new (file));
   icon->is_resource = g_file_has_uri_scheme (file, "resource");
 
@@ -3756,18 +3756,18 @@ gtk_icon_new_for_file (GFile *file,
   return icon;
 }
 
-static GtkIcon *
-gtk_icon_new_for_pixbuf (GtkIconTheme *icon_theme,
+static GtkIconPaintable *
+gtk_icon_paintable_new_for_pixbuf (GtkIconTheme *icon_theme,
                          GdkPixbuf    *pixbuf)
 {
-  GtkIcon *icon;
+  GtkIconPaintable *icon;
   gint width, height, max;
 
   width = gdk_pixbuf_get_width (pixbuf);
   height = gdk_pixbuf_get_height (pixbuf);
   max = MAX (width, height);
 
-  icon = icon_new (ICON_THEME_DIR_UNTHEMED, 0, 1);
+  icon = icon_paintable_new (ICON_THEME_DIR_UNTHEMED, 0, 1);
   icon->texture = gdk_texture_new_for_pixbuf (pixbuf);
   icon->desired_size = max;
   icon->desired_scale = 1.0;
@@ -3790,11 +3790,11 @@ gtk_icon_new_for_pixbuf (GtkIconTheme *icon_theme,
  * #GtkIcon. The icon can then be rendered by using it as a #GdkPaintable,
  * or you can get information such as the filename and size.
  *
- * Returns: (nullable) (transfer full): a #GtkIcon containing
+ * Returns: (nullable) (transfer full): a #GtkIconPaintable containing
  *     information about the icon, or %NULL if the icon wasn’t
  *     found. Unref with g_object_unref()
  */
-GtkIcon *
+GtkIconPaintable *
 gtk_icon_theme_lookup_by_gicon (GtkIconTheme       *self,
                                 GIcon              *gicon,
                                 gint                size,
@@ -3802,7 +3802,7 @@ gtk_icon_theme_lookup_by_gicon (GtkIconTheme       *self,
                                 GtkTextDirection    direction,
                                 GtkIconLookupFlags  flags)
 {
-  GtkIcon *icon;
+  GtkIconPaintable *icon;
 
   g_return_val_if_fail (GTK_IS_ICON_THEME (self), NULL);
   g_return_val_if_fail (G_IS_ICON (gicon), NULL);
@@ -3831,17 +3831,17 @@ gtk_icon_theme_lookup_by_gicon (GtkIconTheme       *self,
                                                 0.5 + height * pixbuf_scale,
                                                 GDK_INTERP_BILINEAR);
 
-              icon = gtk_icon_new_for_pixbuf (self, scaled);
+              icon = gtk_icon_paintable_new_for_pixbuf (self, scaled);
               g_object_unref (scaled);
              }
            else
              {
-              icon = gtk_icon_new_for_pixbuf (self, pixbuf);
+              icon = gtk_icon_paintable_new_for_pixbuf (self, pixbuf);
              }
         }
       else
         {
-          icon = gtk_icon_new_for_pixbuf (self, pixbuf);
+          icon = gtk_icon_paintable_new_for_pixbuf (self, pixbuf);
         }
 
       return icon;
@@ -3850,14 +3850,14 @@ gtk_icon_theme_lookup_by_gicon (GtkIconTheme       *self,
     {
       GFile *file = g_file_icon_get_file (G_FILE_ICON (gicon));
 
-      icon = gtk_icon_new_for_file (file, size, scale);
+      icon = gtk_icon_paintable_new_for_file (file, size, scale);
       icon->forced_size = (flags & GTK_ICON_LOOKUP_FORCE_SIZE) != 0;
 
       return icon;
     }
   else if (G_IS_LOADABLE_ICON (gicon))
     {
-      icon = icon_new (ICON_THEME_DIR_UNTHEMED, size, 1);
+      icon = icon_paintable_new (ICON_THEME_DIR_UNTHEMED, size, 1);
       icon->loadable = G_LOADABLE_ICON (g_object_ref (gicon));
       icon->is_svg = FALSE;
       icon->desired_size = size;
diff --git a/gtk/gtkicontheme.h b/gtk/gtkicontheme.h
index 739bc832ba..97e69d9dfb 100644
--- a/gtk/gtkicontheme.h
+++ b/gtk/gtkicontheme.h
@@ -27,16 +27,16 @@
 
 G_BEGIN_DECLS
 
-#define GTK_TYPE_ICON              (gtk_icon_get_type ())
-#define GTK_ICON(obj)              (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ICON, GtkIcon))
-#define GTK_IS_ICON(obj)           (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ICON))
+#define GTK_TYPE_ICON_PAINTABLE    (gtk_icon_paintable_get_type ())
+#define GTK_ICON_PAINTABLE(obj)    (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ICON_PAINTABLE, 
GtkIconPaintable))
+#define GTK_IS_ICON_PAINTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ICON_PAINTABLE))
 
 #define GTK_TYPE_ICON_THEME        (gtk_icon_theme_get_type ())
 #define GTK_ICON_THEME(obj)        (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ICON_THEME, GtkIconTheme))
 #define GTK_IS_ICON_THEME(obj)     (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ICON_THEME))
 
-typedef struct _GtkIcon         GtkIcon;
-typedef struct _GtkIconTheme    GtkIconTheme;
+typedef struct _GtkIconPaintable  GtkIconPaintable;
+typedef struct _GtkIconTheme      GtkIconTheme;
 
 /**
  * GtkIconLookupFlags:
@@ -79,74 +79,73 @@ GDK_AVAILABLE_IN_ALL
 GQuark gtk_icon_theme_error_quark (void);
 
 GDK_AVAILABLE_IN_ALL
-GType         gtk_icon_theme_get_type              (void) G_GNUC_CONST;
+GType            gtk_icon_theme_get_type             (void) G_GNUC_CONST;
 
 GDK_AVAILABLE_IN_ALL
-GtkIconTheme *gtk_icon_theme_new                   (void);
+GtkIconTheme    *gtk_icon_theme_new                  (void);
 GDK_AVAILABLE_IN_ALL
-GtkIconTheme *gtk_icon_theme_get_for_display       (GdkDisplay                  *display);
+GtkIconTheme    *gtk_icon_theme_get_for_display      (GdkDisplay                  *display);
 GDK_AVAILABLE_IN_ALL
-void          gtk_icon_theme_set_display           (GtkIconTheme                *self,
-                                                    GdkDisplay                  *display);
+void             gtk_icon_theme_set_display          (GtkIconTheme                *self,
+                                                      GdkDisplay                  *display);
 
 GDK_AVAILABLE_IN_ALL
-void          gtk_icon_theme_set_search_path       (GtkIconTheme                *self,
-                                                    const gchar                 *path[],
-                                                    gint                         n_elements);
+void             gtk_icon_theme_set_search_path      (GtkIconTheme                *self,
+                                                      const gchar                 *path[],
+                                                      gint                         n_elements);
 GDK_AVAILABLE_IN_ALL
-void          gtk_icon_theme_get_search_path       (GtkIconTheme                *self,
-                                                    gchar                      **path[],
-                                                    gint                        *n_elements);
+void             gtk_icon_theme_get_search_path      (GtkIconTheme                *self,
+                                                      gchar                      **path[],
+                                                      gint                        *n_elements);
 GDK_AVAILABLE_IN_ALL
-void          gtk_icon_theme_append_search_path    (GtkIconTheme                *self,
-                                                    const gchar                 *path);
+void             gtk_icon_theme_append_search_path   (GtkIconTheme                *self,
+                                                      const gchar                 *path);
 GDK_AVAILABLE_IN_ALL
-void          gtk_icon_theme_prepend_search_path   (GtkIconTheme                *self,
-                                                    const gchar                 *path);
+void             gtk_icon_theme_prepend_search_path  (GtkIconTheme                *self,
+                                                      const gchar                 *path);
 
 GDK_AVAILABLE_IN_ALL
-void          gtk_icon_theme_add_resource_path     (GtkIconTheme                *self,
-                                                    const gchar                 *path);
+void             gtk_icon_theme_add_resource_path    (GtkIconTheme                *self,
+                                                      const gchar                 *path);
 
 GDK_AVAILABLE_IN_ALL
-void          gtk_icon_theme_set_custom_theme      (GtkIconTheme                *self,
-                                                    const gchar                 *theme_name);
+void             gtk_icon_theme_set_custom_theme     (GtkIconTheme                *self,
+                                                      const gchar                 *theme_name);
 
 GDK_AVAILABLE_IN_ALL
-gboolean      gtk_icon_theme_has_icon              (GtkIconTheme                *self,
-                                                    const gchar                 *icon_name);
+gboolean         gtk_icon_theme_has_icon             (GtkIconTheme                *self,
+                                                      const gchar                 *icon_name);
 GDK_AVAILABLE_IN_ALL
-gint         *gtk_icon_theme_get_icon_sizes        (GtkIconTheme                *self,
-                                                    const gchar                 *icon_name);
+gint             *gtk_icon_theme_get_icon_sizes      (GtkIconTheme                *self,
+                                                      const gchar                 *icon_name);
 GDK_AVAILABLE_IN_ALL
-GtkIcon *    gtk_icon_theme_lookup_icon            (GtkIconTheme                *self,
-                                                    const char                  *icon_name,
-                                                    const char                  *fallbacks[],
-                                                    gint                         size,
-                                                    gint                         scale,
-                                                    GtkTextDirection             direction,
-                                                    GtkIconLookupFlags           flags);
+GtkIconPaintable *gtk_icon_theme_lookup_icon         (GtkIconTheme                *self,
+                                                      const char                  *icon_name,
+                                                      const char                  *fallbacks[],
+                                                      gint                         size,
+                                                      gint                         scale,
+                                                      GtkTextDirection             direction,
+                                                      GtkIconLookupFlags           flags);
 GDK_AVAILABLE_IN_ALL
-GtkIcon *   gtk_icon_theme_lookup_by_gicon         (GtkIconTheme                *self,
-                                                    GIcon                       *icon,
-                                                    gint                         size,
-                                                    gint                         scale,
-                                                    GtkTextDirection             direction,
-                                                    GtkIconLookupFlags           flags);
+GtkIconPaintable *gtk_icon_theme_lookup_by_gicon     (GtkIconTheme                *self,
+                                                      GIcon                       *icon,
+                                                      gint                         size,
+                                                      gint                         scale,
+                                                      GtkTextDirection             direction,
+                                                      GtkIconLookupFlags           flags);
 GDK_AVAILABLE_IN_ALL
-GList *       gtk_icon_theme_list_icons            (GtkIconTheme                *self);
-
+GList *       gtk_icon_theme_list_icons              (GtkIconTheme                *self);
 
 GDK_AVAILABLE_IN_ALL
-GType                 gtk_icon_get_type           (void) G_GNUC_CONST;
+GType                 gtk_icon_paintable_get_type         (void) G_GNUC_CONST;
 
 GDK_AVAILABLE_IN_ALL
-const gchar *         gtk_icon_get_filename       (GtkIcon   *self);
+const gchar *         gtk_icon_paintable_get_filename     (GtkIconPaintable  *self);
 GDK_AVAILABLE_IN_ALL
-gboolean              gtk_icon_is_symbolic        (GtkIcon   *self);
+gboolean              gtk_icon_paintable_is_symbolic      (GtkIconPaintable  *self);
 GDK_AVAILABLE_IN_ALL
-GdkTexture *          gtk_icon_download_texture   (GtkIcon   *self,
-                                                   GError       **error);
+GdkTexture *          gtk_icon_paintable_download_texture (GtkIconPaintable  *self,
+                                                           GError           **error);
 
 G_END_DECLS
 
diff --git a/gtk/gtkiconthemeprivate.h b/gtk/gtkiconthemeprivate.h
index 6b3d71b4ca..53bef46d44 100644
--- a/gtk/gtkiconthemeprivate.h
+++ b/gtk/gtkiconthemeprivate.h
@@ -21,18 +21,18 @@
 #include <gtk/gtkicontheme.h>
 #include <gtk/gtkcssstyleprivate.h>
 
-void        gtk_icon_theme_lookup_symbolic_colors       (GtkCssStyle    *style,
-                                                         GdkRGBA        *color_out,
-                                                         GdkRGBA        *success_out,
-                                                         GdkRGBA        *warning_out,
-                                                         GdkRGBA        *error_out);
-void        gtk_icon_snapshot_with_colors               (GtkIcon        *icon,
-                                                         GtkSnapshot    *snapshot,
-                                                         double          width,
-                                                         double          height,
-                                                         const GdkRGBA   *foreground_color,
-                                                         const GdkRGBA   *success_color,
-                                                         const GdkRGBA   *warning_color,
-                                                         const GdkRGBA   *error_color);
+void gtk_icon_theme_lookup_symbolic_colors   (GtkCssStyle      *style,
+                                              GdkRGBA          *color_out,
+                                              GdkRGBA          *success_out,
+                                              GdkRGBA          *warning_out,
+                                              GdkRGBA          *error_out);
+void gtk_icon_paintable_snapshot_with_colors (GtkIconPaintable *icon,
+                                              GtkSnapshot      *snapshot,
+                                              double            width,
+                                              double            height,
+                                              const GdkRGBA    *foreground_color,
+                                              const GdkRGBA    *success_color,
+                                              const GdkRGBA    *warning_color,
+                                              const GdkRGBA    *error_color);
 
 #endif /* __GTK_ICON_THEME_PRIVATE_H__ */
diff --git a/gtk/gtkmountoperation.c b/gtk/gtkmountoperation.c
index 722415a6b8..273b950ab8 100644
--- a/gtk/gtkmountoperation.c
+++ b/gtk/gtkmountoperation.c
@@ -1169,7 +1169,7 @@ add_pid_to_process_list_store (GtkMountOperation              *mount_operation,
   if (texture == NULL)
     {
       GtkIconTheme *theme;
-      GtkIcon *icon;
+      GtkIconPaintable *icon;
 
       theme = gtk_css_icon_theme_value_get_icon_theme
         (_gtk_style_context_peek_property (gtk_widget_get_style_context (GTK_WIDGET 
(mount_operation->priv->dialog)),
@@ -1180,7 +1180,7 @@ add_pid_to_process_list_store (GtkMountOperation              *mount_operation,
                                          24, 1,
                                          gtk_widget_get_direction (GTK_WIDGET 
(mount_operation->priv->dialog)),
                                          0);
-      texture = gtk_icon_download_texture (icon, NULL);
+      texture = gtk_icon_paintable_download_texture (icon, NULL);
       g_object_unref (icon);
     }
 
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 0a030ade36..9c998ec2dc 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -4008,7 +4008,7 @@ icon_list_from_theme (GtkWindow   *window,
   GtkStyleContext *context;
   GtkCssValue *value;
   GtkIconTheme *icon_theme;
-  GtkIcon *info;
+  GtkIconPaintable *info;
   gint *sizes;
   gint i;
 
@@ -4038,7 +4038,7 @@ icon_list_from_theme (GtkWindow   *window,
                                            0);
       if (info)
         {
-          GdkTexture *texture = gtk_icon_download_texture (info, NULL);
+          GdkTexture *texture = gtk_icon_paintable_download_texture (info, NULL);
           if (texture)
             list = g_list_insert_sorted (list, texture, (GCompareFunc) icon_size_compare);
 
@@ -4104,7 +4104,7 @@ gtk_window_get_icon_for_size (GtkWindow *window,
 {
   GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
   const char *name;
-  GtkIcon *info;
+  GtkIconPaintable *info;
 
   name = gtk_window_get_icon_name (window);
 
diff --git a/tests/testclipboard2.c b/tests/testclipboard2.c
index 7f9f381712..e4ed34db37 100644
--- a/tests/testclipboard2.c
+++ b/tests/testclipboard2.c
@@ -272,7 +272,7 @@ get_button_list (GdkClipboard *clipboard,
                                          0xc9, 'g', 'a', 'l', 'i', 't', 0xe9, ',', ' ',
                                           'F', 'r', 'a', 't', 'e', 'r', 'n', 'i', 't', 0xe9, 0 };
   GtkWidget *box;
-  GtkIcon *icon;
+  GtkIconPaintable *icon;
   GdkTexture *texture;
   GValue value = G_VALUE_INIT;
 
@@ -292,7 +292,7 @@ get_button_list (GdkClipboard *clipboard,
                                      48, 1,
                                      gtk_widget_get_direction (box),
                                      0);
-  texture = gtk_icon_download_texture (icon, NULL);
+  texture = gtk_icon_paintable_download_texture (icon, NULL);
   g_value_take_object (&value, gdk_pixbuf_get_from_texture (texture));
   g_object_unref (texture);
   g_object_unref (icon);
diff --git a/tests/testdnd2.c b/tests/testdnd2.c
index 615964ac9e..dd375802b3 100644
--- a/tests/testdnd2.c
+++ b/tests/testdnd2.c
@@ -10,7 +10,7 @@ get_image_texture (GtkImage *image,
   int width = 48;
   GdkPaintable *paintable;
   GdkTexture *texture = NULL;
-  GtkIcon *icon;
+  GtkIconPaintable *icon;
 
   switch (gtk_image_get_storage_type (image))
     {
@@ -32,7 +32,7 @@ get_image_texture (GtkImage *image,
                                          gtk_widget_get_direction (GTK_WIDGET (image)),
                                          0);
       if (icon)
-        texture = gtk_icon_download_texture (icon, NULL);
+        texture = gtk_icon_paintable_download_texture (icon, NULL);
       g_object_unref (icon);
     default:
       g_warning ("Image storage type %d not handled",
@@ -229,7 +229,7 @@ update_source_icon (GtkDragSource *source,
                     int hotspot)
 {
   GtkWidget *widget = gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (source));
-  GtkIcon *icon;
+  GtkIconPaintable *icon;
   int hot_x, hot_y;
   int size = 48;
 
diff --git a/tests/testicontheme.c b/tests/testicontheme.c
index 8964bc6875..d4b330d664 100644
--- a/tests/testicontheme.c
+++ b/tests/testicontheme.c
@@ -36,7 +36,7 @@ int
 main (int argc, char *argv[])
 {
   GtkIconTheme *icon_theme;
-  GtkIcon *icon;
+  GtkIconPaintable *icon;
   char *themename;
   GList *list;
   int size = 48;
@@ -69,7 +69,7 @@ main (int argc, char *argv[])
 
   if (strcmp (argv[1], "display") == 0)
     {
-      GtkIcon *icon;
+      GtkIconPaintable *icon;
       GtkWidget *window, *image;
 
       if (argc < 4)
@@ -129,7 +129,7 @@ main (int argc, char *argv[])
 
       icon = gtk_icon_theme_lookup_icon (icon_theme, argv[3], NULL, size, scale, direction, flags);
       g_print ("icon for %s at %dx%d@%dx is %s\n", argv[3], size, size, scale,
-               icon ? gtk_icon_get_filename (icon) : "<none>");
+               icon ? gtk_icon_paintable_get_filename (icon) : "<none>");
 
       if (icon)
        {
diff --git a/testsuite/gtk/check-icon-names.c b/testsuite/gtk/check-icon-names.c
index eb0c2f4094..4f752b95eb 100644
--- a/testsuite/gtk/check-icon-names.c
+++ b/testsuite/gtk/check-icon-names.c
@@ -74,7 +74,7 @@ static void
 test_icon_existence (gconstpointer icon_name)
 {
   GtkIconTheme *icon_theme = gtk_icon_theme_get_for_display (gdk_display_get_default ());
-  GtkIcon *info;
+  GtkIconPaintable *info;
 
   /* Not using generic fallback and builtins here, as we explicitly want to check the
    * icon theme.
diff --git a/testsuite/gtk/icontheme.c b/testsuite/gtk/icontheme.c
index 19d64e975c..a61324e6e1 100644
--- a/testsuite/gtk/icontheme.c
+++ b/testsuite/gtk/icontheme.c
@@ -57,7 +57,7 @@ assert_icon_lookup_size (const char         *icon_name,
                          const char         *filename,
                          gint                pixbuf_size)
 {
-  GtkIcon *info;
+  GtkIconPaintable *info;
 
   if (fallbacks)
     {
@@ -80,17 +80,17 @@ assert_icon_lookup_size (const char         *icon_name,
 
   if (filename)
     {
-      if (!g_str_has_suffix (gtk_icon_get_filename (info), filename))
+      if (!g_str_has_suffix (gtk_icon_paintable_get_filename (info), filename))
         {
           g_error ("Icon for \"%s\" with flags %s at size %d should be \"...%s\" but is \"...%s\"",
                    icon_name, lookup_flags_to_string (flags), size,
-                   filename, gtk_icon_get_filename (info) + strlen (g_get_current_dir ()));
+                   filename, gtk_icon_paintable_get_filename (info) + strlen (g_get_current_dir ()));
           return;
         }
     }
   else
     {
-      g_assert (gtk_icon_get_filename (info) == NULL);
+      g_assert (gtk_icon_paintable_get_filename (info) == NULL);
     }
 
   if (pixbuf_size > 0)
@@ -98,7 +98,7 @@ assert_icon_lookup_size (const char         *icon_name,
       GdkTexture *texture;
       GError *error = NULL;
 
-      texture = gtk_icon_download_texture (info, &error);
+      texture = gtk_icon_paintable_download_texture (info, &error);
       g_assert_no_error (error);
       g_assert_cmpint (gdk_texture_get_width (texture), ==, pixbuf_size);
       g_object_unref (texture);
@@ -124,14 +124,14 @@ assert_icon_lookup_fails (const char         *icon_name,
                           GtkTextDirection    direction,
                           GtkIconLookupFlags  flags)
 {
-  GtkIcon *info;
+  GtkIconPaintable *info;
 
   info = gtk_icon_theme_lookup_icon (get_test_icontheme (FALSE), icon_name, NULL, size, 1, direction, flags);
 
   if (info != NULL)
     {
       g_error ("Should not find an icon for \"%s\" with flags %s at size %d, but found \"%s\"",
-               icon_name, lookup_flags_to_string (flags), size, gtk_icon_get_filename (info) + strlen 
(g_get_current_dir ()));
+               icon_name, lookup_flags_to_string (flags), size, gtk_icon_paintable_get_filename (info) + 
strlen (g_get_current_dir ()));
       g_object_unref (info);
       return;
     }
@@ -182,7 +182,7 @@ assert_lookup_order (const char         *icon_name,
   guint debug_flags;
   va_list args;
   const gchar *s;
-  GtkIcon *info;
+  GtkIconPaintable *info;
   GList *l;
 
   debug_flags = gtk_get_debug_flags ();
@@ -747,7 +747,7 @@ test_nonsquare_symbolic (void)
 {
   gint width, height;
   GtkIconTheme *icon_theme;
-  GtkIcon *info;
+  GtkIconPaintable *info;
   GFile *file;
   GIcon *icon;
   GError *error = NULL;
@@ -776,7 +776,7 @@ test_nonsquare_symbolic (void)
   g_assert_nonnull (info);
 
   g_object_unref (pixbuf);
-  texture = gtk_icon_download_texture (info, &error);
+  texture = gtk_icon_paintable_download_texture (info, &error);
 
   /* we are loaded successfully */
   g_assert_no_error (error);


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