## GThemedIcon GThemedIcon — Icon theming support |

## Synopsis

    #include <gio/gio.h>

                        GThemedIcon;
    GIcon*              g_themed_icon_new                   (const char *iconname);
    GIcon*              g_themed_icon_new_from_names        (char **iconnames,
                                                             int len);
    GIcon*              g_themed_icon_new_with_default_fallbacks
                                                            (const char *iconname);
    void                g_themed_icon_append_name           (GThemedIcon *icon,
                                                             const char *iconname);

## Object Hierarchy

      GObject
       +----GThemedIcon

## Implemented Interfaces

GThemedIcon implements GIcon.

## Description

GThemedIcon is an implementation of GIcon that supports icon themes. GThemedIcon contains a list of all of the icons present in an icon theme, so that icons can be looked up quickly. GThemedIcon does not provide actual pixmaps for icons, just the icon names. Ideally something like `gtk_icon_theme_choose_icon()` should be used to resolve the list of names so that fallback icons work nicely with themes that inherit other themes.

## Details

### GThemedIcon

    typedef struct _GThemedIcon GThemedIcon;

An implementation of GIcon for themed icons.

### g_themed_icon_new ()

    GIcon*              g_themed_icon_new                   (const char *iconname);

Creates a new themed icon for `iconname`.

`iconname` : | a string containing an icon name.
Returns : | a new GThemedIcon.

### g_themed_icon_new_from_names ()

    GIcon*              g_themed_icon_new_from_names        (char **iconnames,
                                                             int len);

Creates a new themed icon for `iconnames`.

`iconnames` : | an array of strings containing icon names.
`len` : | the number of elements in the `iconnames` array.
Returns : | a new GThemedIcon.

### g_themed_icon_new_with_default_fallbacks ()

    GIcon*              g_themed_icon_new_with_default_fallbacks
                                                            (const char *iconname);

Creates a new themed icon for `iconname`, and all the names that can be created by shortening `iconname` at '-' characters.

In the following example, `icon1` and `icon2` are equivalent:

    const char *names[] = {
      "gnome-dev-cdrom-audio",
      "gnome-dev-cdrom",
      "gnome-dev",
      "gnome"
    };

    icon1 = g_themed_icon_new_from_names (names, 4);
    icon2 = g_themed_icon_new_with_default_fallbacks ("gnome-dev-cdrom-audio");

`iconname` : | a string containing an icon name
Returns : | a new GThemedIcon.

### g_themed_icon_append_name ()

    void                g_themed_icon_append_name           (GThemedIcon *icon,
                                                             const char *iconname);

Append a name to the list of icons from within `icon`.

`icon` : | a GThemedIcon
`iconname` : | name of icon to append to list of icons from within `icon`.

## See Also

GIcon, GLoadableIcon