since: 3.10

Declaration [src]

gtk_icon_theme_load_surface (
  GtkIconTheme* icon_theme,
  const gchar* icon_name,
  gint size,
  gint scale,
  GdkWindow* for_window,
  GtkIconLookupFlags flags,
  GError** error

Description [src]

Looks up an icon in an icon theme for a particular window scale, scales it to the given size and renders it into a cairo surface. This is a convenience function; if more details about the icon are needed, use gtk_icon_theme_lookup_icon() followed by gtk_icon_info_load_surface().

Note that you probably want to listen for icon theme changes and update the icon. This is usually done by connecting to the GtkWidget::style-set signal.

Available since: 3.10



Type: const gchar*

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.

Type: gint

The desired icon size. The resulting icon may not be exactly this size; see gtk_icon_info_load_icon().


Type: gint

Desired scale.


Type: GdkWindow

GdkWindow to optimize drawing for, or NULL.

The argument can be NULL.
The data is owned by the caller of the method.

Type: GtkIconLookupFlags

Flags modifying the behavior of the icon lookup.


Type: GError **

The return location for a recoverable error.

The argument can be NULL.
If the return location is not NULL, then you must initialize it to a NULL GError*.
The argument will be left initialized to NULL by the method if there are no errors.
In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.

Return value

Type: cairo_surface_t

The rendered icon; this may be a newly created icon or a new reference to an internal icon, so you must not modify the icon. Use cairo_surface_destroy() to release your reference to the icon. NULL if the icon isn’t found.

The caller of the method takes ownership of the returned data, and is responsible for freeing it.
The return value can be NULL.