Gtk.IconTheme.lookup_icon

### Method

# Gtk IconThemelookup_icon

#### Declaration [src]

    GtkIconPaintable*
    gtk_icon_theme_lookup_icon (
      GtkIconTheme* self,
      const char* icon_name,
      const char** fallbacks,
      int size,
      int scale,
      GtkTextDirection direction,
      GtkIconLookupFlags flags
    )

#### Description [src]

Looks up a named icon for a desired size and window scale, returning a `GtkIconPaintable`.

The icon can then be rendered by using it as a `GdkPaintable`, or you can get information such as the filename and size.

If the available `icon_name` is not available and `fallbacks` are provided, they will be tried in order.

If no matching icon is found, then a paintable that renders the “missing icon” icon is returned. If you need to do something else for missing icons you need to use `gtk_icon_theme_has_icon()`.

Note that you probably want to listen for icon theme changes and update the icon. This is usually done by overriding the GtkWidgetClass.css-changed() function.

#### Parameters

`icon_name`

  Type: `const char*`

  The name of the icon to lookup.

  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`fallbacks`

  Type: An array of `char*`

  Fallback names.

  The argument can be `NULL`.
  The array must be `NULL`-terminated.
  The data is owned by the caller of the method.
  Each element is a NUL terminated UTF-8 string.

`size`

  Type: `int`

  Desired icon size, in application pixels.

`scale`

  Type: `int`

  The window scale this will be displayed on.

`direction`

  Type: `GtkTextDirection`

  Text direction the icon will be displayed in.

`flags`

  Type: `GtkIconLookupFlags`

  Flags modifying the behavior of the icon lookup.

#### Return value

Type: `GtkIconPaintable`

A `GtkIconPaintable` object containing the icon.

The caller of the method takes ownership of the returned data, and is responsible for freeing it.