<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
<!ENTITY pi "&#960;">
<!ENTITY solidus "&#8260;">
]>
<refentry id="GtkIconTheme">
<refmeta>
<refentrytitle role="top_of_page" id="GtkIconTheme.top_of_page">GtkIconTheme</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK4 Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>GtkIconTheme</refname>
<refpurpose>Looking up icons by name</refpurpose>
</refnamediv>

<refsect1 id="GtkIconTheme.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row><entry role="function_type"><link linkend="GtkIconTheme"><returnvalue>GtkIconTheme</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-icon-theme-new">gtk_icon_theme_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkIconTheme"><returnvalue>GtkIconTheme</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-icon-theme-get-for-display">gtk_icon_theme_get_for_display</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-icon-theme-set-search-path">gtk_icon_theme_set_search_path</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="char"><returnvalue>char</returnvalue></link>&#160;**
</entry><entry role="function_name"><link linkend="gtk-icon-theme-get-search-path">gtk_icon_theme_get_search_path</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-icon-theme-add-search-path">gtk_icon_theme_add_search_path</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-icon-theme-set-resource-path">gtk_icon_theme_set_resource_path</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="char"><returnvalue>char</returnvalue></link>&#160;**
</entry><entry role="function_name"><link linkend="gtk-icon-theme-get-resource-path">gtk_icon_theme_get_resource_path</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-icon-theme-add-resource-path">gtk_icon_theme_add_resource_path</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-icon-theme-set-theme-name">gtk_icon_theme_set_theme_name</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-icon-theme-get-theme-name">gtk_icon_theme_get_theme_name</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-icon-theme-has-icon">gtk_icon_theme_has_icon</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkIconPaintable"><returnvalue>GtkIconPaintable</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-icon-theme-lookup-icon">gtk_icon_theme_lookup_icon</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkIconPaintable"><returnvalue>GtkIconPaintable</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-icon-theme-lookup-by-gicon">gtk_icon_theme_lookup_by_gicon</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="char"><returnvalue>char</returnvalue></link>&#160;**
</entry><entry role="function_name"><link linkend="gtk-icon-theme-get-icon-names">gtk_icon_theme_get_icon_names</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-icon-theme-get-icon-sizes">gtk_icon_theme_get_icon_sizes</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkIconPaintable"><returnvalue>GtkIconPaintable</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-icon-paintable-new-for-file">gtk_icon_paintable_new_for_file</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GFile"><returnvalue>GFile</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-icon-paintable-get-file">gtk_icon_paintable_get_file</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-icon-paintable-get-icon-name">gtk_icon_paintable_get_icon_name</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-icon-paintable-is-symbolic">gtk_icon_paintable_is_symbolic</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkIconTheme.properties" role="properties">
<title role="properties.title">Properties</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="properties_type" colwidth="150px"/>
<colspec colname="properties_name" colwidth="300px"/>
<colspec colname="properties_flags" colwidth="200px"/>
<tbody>
<row><entry role="property_type"><link linkend="GdkDisplay"><type>GdkDisplay</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkIconTheme--display">display</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GStrv"><type>GStrv</type></link></entry><entry role="property_name"><link linkend="GtkIconTheme--icon-names">icon-names</link></entry><entry role="property_flags">Read</entry></row>
<row><entry role="property_type"><link linkend="GStrv"><type>GStrv</type></link></entry><entry role="property_name"><link linkend="GtkIconTheme--resource-path">resource-path</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GStrv"><type>GStrv</type></link></entry><entry role="property_name"><link linkend="GtkIconTheme--search-path">search-path</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gchar"><type>gchar</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkIconTheme--theme-name">theme-name</link></entry><entry role="property_flags">Read / Write</entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkIconTheme.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="signal_proto_type" colwidth="150px"/>
<colspec colname="signal_proto_name" colwidth="300px"/>
<colspec colname="signal_proto_flags" colwidth="200px"/>
<tbody>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkIconTheme-changed">changed</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkIconTheme.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="other_proto_type" colwidth="150px"/>
<colspec colname="other_proto_name"/>
<tbody>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GtkIconPaintable">GtkIconPaintable</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GtkIconTheme-struct">GtkIconTheme</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GtkIconLookupFlags">GtkIconLookupFlags</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="GTK-ICON-THEME-ERROR:CAPS">GTK_ICON_THEME_ERROR</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="GTK-TYPE-ICON-THEME-ERROR:CAPS">GTK_TYPE_ICON_THEME_ERROR</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="GTK-TYPE-ICON-LOOKUP-FLAGS:CAPS">GTK_TYPE_ICON_LOOKUP_FLAGS</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GtkIconThemeError">GtkIconThemeError</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkIconTheme.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GObject">GObject</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> GtkIconTheme
</screen>
</refsect1>

<refsect1 id="GtkIconTheme.includes"><title>Includes</title><synopsis>#include &lt;gtk/gtk.h&gt;
</synopsis></refsect1>

<refsect1 id="GtkIconTheme.description" role="desc">
<title role="desc.title">Description</title>
<para><link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> provides a facility for looking up icons by name
and size. The main reason for using a name rather than simply
providing a filename is to allow different icons to be used
depending on what “icon theme” is selected
by the user. The operation of icon themes on Linux and Unix
follows the <ulink url="http://www.freedesktop.org/Standards/icon-theme-spec">Icon Theme Specification</ulink>
There is a fallback icon theme, named <literal>hicolor</literal>, where applications
should install their icons, but additional icon themes can be installed
as operating system vendors and users choose.</para>
<para>In many cases, named themes are used indirectly, via <link linkend="GtkImage"><type>GtkImage</type></link>
rather than directly, but looking up icons
directly is also simple. The <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> object acts
as a database of all the icons in the current theme. You
can create new <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> objects, but it’s much more
efficient to use the standard icon theme of the <link linkend="GtkWidget"><type>GtkWidget</type></link>
so that the icon information is shared with other people
looking up icons.</para>
<informalexample><programlisting role="example"><![CDATA[
GtkIconTheme *icon_theme;
GtkIconPaintable *icon;
GdkPaintable *paintable;

icon_theme = gtk_icon_theme_get_for_display (gtk_widget_get_display (my_widget));
icon = gtk_icon_theme_lookup_icon (icon_theme,
                                   "my-icon-name", // icon name
                                   48, // icon size
                                   1,  // scale
                                   0,  // flags);
 paintable = GDK_PAINTABLE (icon);
 // Use the paintable
 g_object_unref (icon);
]]></programlisting></informalexample>
<para></para>

</refsect1>
<refsect1 id="GtkIconTheme.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="gtk-icon-theme-new" role="function">
<title>gtk_icon_theme_new&#160;()</title>
<indexterm zone="gtk-icon-theme-new"><primary>gtk_icon_theme_new</primary></indexterm>
<programlisting language="C"><link linkend="GtkIconTheme"><returnvalue>GtkIconTheme</returnvalue></link>&#160;*
gtk_icon_theme_new (<parameter><type>void</type></parameter>);</programlisting>
<para>Creates a new icon theme object. Icon theme objects are used
to lookup up an icon by name in a particular icon theme.
Usually, you’ll want to use <link linkend="gtk-icon-theme-get-for-display"><function>gtk_icon_theme_get_for_display()</function></link>
rather than creating a new icon theme object for scratch.</para>
<refsect3 id="gtk-icon-theme-new.returns" role="returns">
<title>Returns</title>
<para> the newly created <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> object.</para>
</refsect3></refsect2>
<refsect2 id="gtk-icon-theme-get-for-display" role="function">
<title>gtk_icon_theme_get_for_display&#160;()</title>
<indexterm zone="gtk-icon-theme-get-for-display"><primary>gtk_icon_theme_get_for_display</primary></indexterm>
<programlisting language="C"><link linkend="GtkIconTheme"><returnvalue>GtkIconTheme</returnvalue></link>&#160;*
gtk_icon_theme_get_for_display (<parameter><link linkend="GdkDisplay"><type>GdkDisplay</type></link> *display</parameter>);</programlisting>
<para>Gets the icon theme object associated with <parameter>display</parameter>
; if this
function has not previously been called for the given
display, a new icon theme object will be created and
associated with the display. Icon theme objects are
fairly expensive to create, so using this function
is usually a better choice than calling than <link linkend="gtk-icon-theme-new"><function>gtk_icon_theme_new()</function></link>
and setting the display yourself; by using this function
a single icon theme object will be shared between users.</para>
<refsect3 id="gtk-icon-theme-get-for-display.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>display</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkDisplay"><type>GdkDisplay</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-icon-theme-get-for-display.returns" role="returns">
<title>Returns</title>
<para>A unique <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> associated with
the given display. This icon theme is associated with
the display and can be used as long as the display
is open. Do not ref or unref it. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-icon-theme-set-search-path" role="function">
<title>gtk_icon_theme_set_search_path&#160;()</title>
<indexterm zone="gtk-icon-theme-set-search-path"><primary>gtk_icon_theme_set_search_path</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_icon_theme_set_search_path (<parameter><link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> *self</parameter>,
                                <parameter>const <link linkend="char"><type>char</type></link> * const *path</parameter>);</programlisting>
<para>Sets the search path for the icon theme object. When looking
for an icon theme, GTK will search for a subdirectory of
one or more of the directories in <parameter>path</parameter>
 with the same name
as the icon theme containing an index.theme file. (Themes from
multiple of the path elements are combined to allow themes to be
extended by adding icons in the user’s home directory.)</para>
<para>In addition if an icon found isn’t found either in the current
icon theme or the default icon theme, and an image file with
the right name is found directly in one of the elements of
<parameter>path</parameter>
, then that image will be used for the icon name.
(This is legacy feature, and new icons should be put
into the fallback icon theme, which is called hicolor,
rather than directly on the icon path.)</para>
<refsect3 id="gtk-icon-theme-set-search-path.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>NULL-terminated
array of directories that are searched for icon themes. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>array</acronym> zero-terminated=1][<acronym>element-type</acronym> filename][<acronym>nullable</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-icon-theme-get-search-path" role="function">
<title>gtk_icon_theme_get_search_path&#160;()</title>
<indexterm zone="gtk-icon-theme-get-search-path"><primary>gtk_icon_theme_get_search_path</primary></indexterm>
<programlisting language="C"><link linkend="char"><returnvalue>char</returnvalue></link>&#160;**
gtk_icon_theme_get_search_path (<parameter><link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> *self</parameter>);</programlisting>
<para>Gets the current search path. See <link linkend="gtk-icon-theme-set-search-path"><function>gtk_icon_theme_set_search_path()</function></link>.</para>
<refsect3 id="gtk-icon-theme-get-search-path.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-icon-theme-get-search-path.returns" role="returns">
<title>Returns</title>
<para>a list of icon theme path directories or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.
The returned value should be freed with <link linkend="g-strfreev"><function>g_strfreev()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>array</acronym> zero-terminated=1][<acronym>element-type</acronym> filename][<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-icon-theme-add-search-path" role="function">
<title>gtk_icon_theme_add_search_path&#160;()</title>
<indexterm zone="gtk-icon-theme-add-search-path"><primary>gtk_icon_theme_add_search_path</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_icon_theme_add_search_path (<parameter><link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> *self</parameter>,
                                <parameter>const <link linkend="char"><type>char</type></link> *path</parameter>);</programlisting>
<para>Appends a directory to the search path.
See <link linkend="gtk-icon-theme-set-search-path"><function>gtk_icon_theme_set_search_path()</function></link>.</para>
<refsect3 id="gtk-icon-theme-add-search-path.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>directory name to append to the icon path. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> filename]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-icon-theme-set-resource-path" role="function">
<title>gtk_icon_theme_set_resource_path&#160;()</title>
<indexterm zone="gtk-icon-theme-set-resource-path"><primary>gtk_icon_theme_set_resource_path</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_icon_theme_set_resource_path (<parameter><link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> *self</parameter>,
                                  <parameter>const <link linkend="char"><type>char</type></link> * const *path</parameter>);</programlisting>
<para>Sets the resource paths that will be looked at when
looking for icons, similar to search paths.</para>
<para>The resources are considered as part of the hicolor icon theme
and must be located in subdirectories that are defined in the
hicolor icon theme, such as <literal>@path/16x16/actions/run.png</literal>.
Icons that are directly placed in the resource path instead
of a subdirectory are also considered as ultimate fallback.</para>
<refsect3 id="gtk-icon-theme-set-resource-path.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>NULL-terminated array of resource paths
that are searched for icons</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-icon-theme-get-resource-path" role="function">
<title>gtk_icon_theme_get_resource_path&#160;()</title>
<indexterm zone="gtk-icon-theme-get-resource-path"><primary>gtk_icon_theme_get_resource_path</primary></indexterm>
<programlisting language="C"><link linkend="char"><returnvalue>char</returnvalue></link>&#160;**
gtk_icon_theme_get_resource_path (<parameter><link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> *self</parameter>);</programlisting>
<para>Gets the current resource path.</para>
<para>See <link linkend="gtk-icon-theme-set-resource-path"><function>gtk_icon_theme_set_resource_path()</function></link>.</para>
<refsect3 id="gtk-icon-theme-get-resource-path.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-icon-theme-get-resource-path.returns" role="returns">
<title>Returns</title>
<para>A list of resource paths or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.
The returned value should be freed with <link linkend="g-strfreev"><function>g_strfreev()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>array</acronym> zero-terminated=1][<acronym>element-type</acronym> utf8][<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-icon-theme-add-resource-path" role="function">
<title>gtk_icon_theme_add_resource_path&#160;()</title>
<indexterm zone="gtk-icon-theme-add-resource-path"><primary>gtk_icon_theme_add_resource_path</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_icon_theme_add_resource_path (<parameter><link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> *self</parameter>,
                                  <parameter>const <link linkend="char"><type>char</type></link> *path</parameter>);</programlisting>
<para>Adds a resource path that will be looked at when looking
for icons, similar to search paths.</para>
<para>See <link linkend="gtk-icon-theme-set-resource-path"><function>gtk_icon_theme_set_resource_path()</function></link>.</para>
<para>This function should be used to make application-specific icons
available as part of the icon theme.</para>
<refsect3 id="gtk-icon-theme-add-resource-path.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>a resource path</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-icon-theme-set-theme-name" role="function">
<title>gtk_icon_theme_set_theme_name&#160;()</title>
<indexterm zone="gtk-icon-theme-set-theme-name"><primary>gtk_icon_theme_set_theme_name</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_icon_theme_set_theme_name (<parameter><link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> *self</parameter>,
                               <parameter>const <link linkend="char"><type>char</type></link> *theme_name</parameter>);</programlisting>
<para>Sets the name of the icon theme that the <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> object uses
overriding system configuration. This function cannot be called
on the icon theme objects returned from <link linkend="gtk-icon-theme-get-for-display"><function>gtk_icon_theme_get_for_display()</function></link>.</para>
<refsect3 id="gtk-icon-theme-set-theme-name.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>theme_name</para></entry>
<entry role="parameter_description"><para>name of icon theme to use instead of
configured theme, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to unset a previously set custom theme. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-icon-theme-get-theme-name" role="function">
<title>gtk_icon_theme_get_theme_name&#160;()</title>
<indexterm zone="gtk-icon-theme-get-theme-name"><primary>gtk_icon_theme_get_theme_name</primary></indexterm>
<programlisting language="C"><link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
gtk_icon_theme_get_theme_name (<parameter><link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> *self</parameter>);</programlisting>
<para>Gets the current icon theme name.</para>
<para>Returns (transfer full): the current icon theme name,</para>
<refsect3 id="gtk-icon-theme-get-theme-name.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-icon-theme-has-icon" role="function">
<title>gtk_icon_theme_has_icon&#160;()</title>
<indexterm zone="gtk-icon-theme-has-icon"><primary>gtk_icon_theme_has_icon</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_icon_theme_has_icon (<parameter><link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> *self</parameter>,
                         <parameter>const <link linkend="gchar"><type>gchar</type></link> *icon_name</parameter>);</programlisting>
<para>Checks whether an icon theme includes an icon
for a particular name.</para>
<refsect3 id="gtk-icon-theme-has-icon.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>icon_name</para></entry>
<entry role="parameter_description"><para>the name of an icon</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-icon-theme-has-icon.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>self</parameter>
includes an
icon for <parameter>icon_name</parameter>
.</para>
</refsect3></refsect2>
<refsect2 id="gtk-icon-theme-lookup-icon" role="function">
<title>gtk_icon_theme_lookup_icon&#160;()</title>
<indexterm zone="gtk-icon-theme-lookup-icon"><primary>gtk_icon_theme_lookup_icon</primary></indexterm>
<programlisting language="C"><link linkend="GtkIconPaintable"><returnvalue>GtkIconPaintable</returnvalue></link>&#160;*
gtk_icon_theme_lookup_icon (<parameter><link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> *self</parameter>,
                            <parameter>const <link linkend="char"><type>char</type></link> *icon_name</parameter>,
                            <parameter>const <link linkend="char"><type>char</type></link> *fallbacks[]</parameter>,
                            <parameter><link linkend="gint"><type>gint</type></link> size</parameter>,
                            <parameter><link linkend="gint"><type>gint</type></link> scale</parameter>,
                            <parameter><link linkend="GtkTextDirection"><type>GtkTextDirection</type></link> direction</parameter>,
                            <parameter><link linkend="GtkIconLookupFlags"><type>GtkIconLookupFlags</type></link> flags</parameter>);</programlisting>
<para>Looks up a named icon for a desired size and window scale, returning a
<link linkend="GtkIconPaintable"><type>GtkIconPaintable</type></link>. The icon can then be rendered by using it as a <link linkend="GdkPaintable"><type>GdkPaintable</type></link>,
or you can get information such as the filename and size.</para>
<para>If the available <parameter>icon_name</parameter>
 is not available and <parameter>fallbacks</parameter>
 are provided,
they will be tried in order.</para>
<para>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 <link linkend="gtk-icon-theme-has-icon"><function>gtk_icon_theme_has_icon()</function></link>.</para>
<para>Note that you probably want to listen for icon theme changes and
update the icon. This is usually done by overriding the
<link linkend="GtkWidgetClass.css-changed"><function>GtkWidgetClass.css-<link linkend="changed"><function>changed()</function></link></function></link> function.</para>
<refsect3 id="gtk-icon-theme-lookup-icon.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>icon_name</para></entry>
<entry role="parameter_description"><para>the name of the icon to lookup</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>fallbacks</para></entry>
<entry role="parameter_description"><para>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>array</acronym> zero-terminated=1]</emphasis></entry></row>
<row><entry role="parameter_name"><para>size</para></entry>
<entry role="parameter_description"><para>desired icon size.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>scale</para></entry>
<entry role="parameter_description"><para>the window scale this will be displayed on</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>direction</para></entry>
<entry role="parameter_description"><para>text direction the icon will be displayed in</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>flags</para></entry>
<entry role="parameter_description"><para>flags modifying the behavior of the icon lookup</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-icon-theme-lookup-icon.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="GtkIconPaintable"><type>GtkIconPaintable</type></link> object
containing the icon. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-icon-theme-lookup-by-gicon" role="function">
<title>gtk_icon_theme_lookup_by_gicon&#160;()</title>
<indexterm zone="gtk-icon-theme-lookup-by-gicon"><primary>gtk_icon_theme_lookup_by_gicon</primary></indexterm>
<programlisting language="C"><link linkend="GtkIconPaintable"><returnvalue>GtkIconPaintable</returnvalue></link>&#160;*
gtk_icon_theme_lookup_by_gicon (<parameter><link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> *self</parameter>,
                                <parameter><link linkend="GIcon"><type>GIcon</type></link> *icon</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> size</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> scale</parameter>,
                                <parameter><link linkend="GtkTextDirection"><type>GtkTextDirection</type></link> direction</parameter>,
                                <parameter><link linkend="GtkIconLookupFlags"><type>GtkIconLookupFlags</type></link> flags</parameter>);</programlisting>
<para>Looks up a icon for a desired size and window scale, returning a
<link linkend="GtkIconPaintable"><type>GtkIconPaintable</type></link>. The icon can then be rendered by using it as a <link linkend="GdkPaintable"><type>GdkPaintable</type></link>,
or you can get information such as the filename and size.</para>
<refsect3 id="gtk-icon-theme-lookup-by-gicon.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>icon</para></entry>
<entry role="parameter_description"><para>the <link linkend="GIcon"><type>GIcon</type></link> to look up</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>size</para></entry>
<entry role="parameter_description"><para>desired icon size</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>scale</para></entry>
<entry role="parameter_description"><para>the desired scale</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>direction</para></entry>
<entry role="parameter_description"><para>text direction the icon will be displayed in</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>flags</para></entry>
<entry role="parameter_description"><para>flags modifying the behavior of the icon lookup</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-icon-theme-lookup-by-gicon.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="GtkIconPaintable"><type>GtkIconPaintable</type></link> containing
information about the icon. Unref with <link linkend="g-object-unref"><function>g_object_unref()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-icon-theme-get-icon-names" role="function">
<title>gtk_icon_theme_get_icon_names&#160;()</title>
<indexterm zone="gtk-icon-theme-get-icon-names"><primary>gtk_icon_theme_get_icon_names</primary></indexterm>
<programlisting language="C"><link linkend="char"><returnvalue>char</returnvalue></link>&#160;**
gtk_icon_theme_get_icon_names (<parameter><link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> *self</parameter>);</programlisting>
<para>Lists the names of icons in the current icon theme.</para>
<refsect3 id="gtk-icon-theme-get-icon-names.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-icon-theme-get-icon-names.returns" role="returns">
<title>Returns</title>
<para>a string array
holding the names of all the icons in the theme. You must
free the array using <link linkend="g-strfreev"><function>g_strfreev()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>element-type</acronym> utf8][<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-icon-theme-get-icon-sizes" role="function">
<title>gtk_icon_theme_get_icon_sizes&#160;()</title>
<indexterm zone="gtk-icon-theme-get-icon-sizes"><primary>gtk_icon_theme_get_icon_sizes</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>&#160;*
gtk_icon_theme_get_icon_sizes (<parameter><link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> *self</parameter>,
                               <parameter>const <link linkend="gchar"><type>gchar</type></link> *icon_name</parameter>);</programlisting>
<para>Returns an array of integers describing the sizes at which
the icon is available without scaling. A size of -1 means
that the icon is available in a scalable format. The array
is zero-terminated.</para>
<refsect3 id="gtk-icon-theme-get-icon-sizes.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>icon_name</para></entry>
<entry role="parameter_description"><para>the name of an icon</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-icon-theme-get-icon-sizes.returns" role="returns">
<title>Returns</title>
<para>A newly
allocated array describing the sizes at which the icon is
available. The array should be freed with <link linkend="g-free"><function>g_free()</function></link> when it is no
longer needed. </para>
<para><emphasis role="annotation">[<acronym>array</acronym> zero-terminated=1][<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-icon-paintable-new-for-file" role="function">
<title>gtk_icon_paintable_new_for_file&#160;()</title>
<indexterm zone="gtk-icon-paintable-new-for-file"><primary>gtk_icon_paintable_new_for_file</primary></indexterm>
<programlisting language="C"><link linkend="GtkIconPaintable"><returnvalue>GtkIconPaintable</returnvalue></link>&#160;*
gtk_icon_paintable_new_for_file (<parameter><link linkend="GFile"><type>GFile</type></link> *file</parameter>,
                                 <parameter><link linkend="gint"><type>gint</type></link> size</parameter>,
                                 <parameter><link linkend="gint"><type>gint</type></link> scale</parameter>);</programlisting>
<para>Creates a <link linkend="GtkIconPaintable"><type>GtkIconPaintable</type></link> for a file with a given size and scale
<link linkend="GtkIconPaintable"><type>GtkIconPaintable</type></link>. The icon can then be rendered by using it as a <link linkend="GdkPaintable"><type>GdkPaintable</type></link>.</para>
<refsect3 id="gtk-icon-paintable-new-for-file.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>file</para></entry>
<entry role="parameter_description"><para>a <link linkend="GFile"><type>GFile</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>size</para></entry>
<entry role="parameter_description"><para>desired icon size</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>scale</para></entry>
<entry role="parameter_description"><para>the desired scale</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-icon-paintable-new-for-file.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="GtkIconPaintable"><type>GtkIconPaintable</type></link> containing
for the icon. Unref with <link linkend="g-object-unref"><function>g_object_unref()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-icon-paintable-get-file" role="function">
<title>gtk_icon_paintable_get_file&#160;()</title>
<indexterm zone="gtk-icon-paintable-get-file"><primary>gtk_icon_paintable_get_file</primary></indexterm>
<programlisting language="C"><link linkend="GFile"><returnvalue>GFile</returnvalue></link>&#160;*
gtk_icon_paintable_get_file (<parameter><link linkend="GtkIconPaintable"><type>GtkIconPaintable</type></link> *self</parameter>);</programlisting>
<para>Gets the <link linkend="GFile"><type>GFile</type></link> that was used to load the icon, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the icon was
not loaded from a file.</para>
<refsect3 id="gtk-icon-paintable-get-file.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkIconPaintable"><type>GtkIconPaintable</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-icon-paintable-get-file.returns" role="returns">
<title>Returns</title>
<para>the <link linkend="GFile"><type>GFile</type></link> for the icon, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.
Free with <link linkend="g-object-unref"><function>g_object_unref()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-icon-paintable-get-icon-name" role="function">
<title>gtk_icon_paintable_get_icon_name&#160;()</title>
<indexterm zone="gtk-icon-paintable-get-icon-name"><primary>gtk_icon_paintable_get_icon_name</primary></indexterm>
<programlisting language="C">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
gtk_icon_paintable_get_icon_name (<parameter><link linkend="GtkIconPaintable"><type>GtkIconPaintable</type></link> *self</parameter>);</programlisting>
<para>Get the icon name being used for this icon.</para>
<para>When an icon looked up in the icon theme was not available, the
icon theme may use fallback icons - either those specified to
<link linkend="gtk-icon-theme-lookup-icon"><function>gtk_icon_theme_lookup_icon()</function></link> or the always-available
"image-missing". The icon chosen is returned by this function.</para>
<para>If the icon was created without an icon theme, this function returns <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para>
<refsect3 id="gtk-icon-paintable-get-icon-name.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkIconPaintable"><type>GtkIconPaintable</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-icon-paintable-get-icon-name.returns" role="returns">
<title>Returns</title>
<para>the themed icon-name for the icon, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
if its not a themed icon. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>type</acronym> filename]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-icon-paintable-is-symbolic" role="function">
<title>gtk_icon_paintable_is_symbolic&#160;()</title>
<indexterm zone="gtk-icon-paintable-is-symbolic"><primary>gtk_icon_paintable_is_symbolic</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_icon_paintable_is_symbolic (<parameter><link linkend="GtkIconPaintable"><type>GtkIconPaintable</type></link> *self</parameter>);</programlisting>
<para>Checks if the icon is symbolic or not. This currently uses only
the file name and not the file contents for determining this.
This behaviour may change in the future.</para>
<refsect3 id="gtk-icon-paintable-is-symbolic.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkIconPaintable"><type>GtkIconPaintable</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-icon-paintable-is-symbolic.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the icon is symbolic, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise</para>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkIconTheme.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="GtkIconPaintable" role="struct">
<title>GtkIconPaintable</title>
<indexterm zone="GtkIconPaintable"><primary>GtkIconPaintable</primary></indexterm>
<programlisting language="C">typedef struct _GtkIconPaintable GtkIconPaintable;</programlisting>
<para>Contains information found when looking up an icon in
an icon theme and supports painting it as a <link linkend="GdkPaintable"><type>GdkPaintable</type></link>.</para>
</refsect2>
<refsect2 id="GtkIconTheme-struct" role="struct">
<title>GtkIconTheme</title>
<indexterm zone="GtkIconTheme-struct"><primary>GtkIconTheme</primary></indexterm>
<programlisting language="C">typedef struct _GtkIconTheme GtkIconTheme;</programlisting>
<para>Acts as a database of information about an icon theme.
Normally, you retrieve the icon theme for a particular
display using <link linkend="gtk-icon-theme-get-for-display"><function>gtk_icon_theme_get_for_display()</function></link> and it
will contain information about current icon theme for
that display, but you can also create a new <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link>
object and set the icon theme name explicitly using
<link linkend="gtk-icon-theme-set-theme-name"><function>gtk_icon_theme_set_theme_name()</function></link>.</para>
</refsect2>
<refsect2 id="GtkIconLookupFlags" role="enum">
<title>enum GtkIconLookupFlags</title>
<indexterm zone="GtkIconLookupFlags"><primary>GtkIconLookupFlags</primary></indexterm>
<para>Used to specify options for <link linkend="gtk-icon-theme-lookup-icon"><function>gtk_icon_theme_lookup_icon()</function></link></para>
<refsect3 id="GtkIconLookupFlags.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GTK-ICON-LOOKUP-FORCE-REGULAR:CAPS">GTK_ICON_LOOKUP_FORCE_REGULAR</para></entry>
<entry role="enum_member_description"><para>Try to always load regular icons, even
when symbolic icon names are given</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-ICON-LOOKUP-FORCE-SYMBOLIC:CAPS">GTK_ICON_LOOKUP_FORCE_SYMBOLIC</para></entry>
<entry role="enum_member_description"><para>Try to always load symbolic icons, even
when regular icon names are given</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-ICON-LOOKUP-PRELOAD:CAPS">GTK_ICON_LOOKUP_PRELOAD</para></entry>
<entry role="enum_member_description"><para>Starts loading the texture in the background
so it is ready when later needed.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GTK-ICON-THEME-ERROR:CAPS" role="macro">
<title>GTK_ICON_THEME_ERROR</title>
<indexterm zone="GTK-ICON-THEME-ERROR:CAPS"><primary>GTK_ICON_THEME_ERROR</primary></indexterm>
<programlisting language="C">#define GTK_ICON_THEME_ERROR gtk_icon_theme_error_quark ()
</programlisting>
<para>The <link linkend="GQuark"><type>GQuark</type></link> used for <link linkend="GtkIconThemeError"><type>GtkIconThemeError</type></link> errors.</para>
</refsect2>
<refsect2 id="GTK-TYPE-ICON-THEME-ERROR:CAPS" role="macro">
<title>GTK_TYPE_ICON_THEME_ERROR</title>
<indexterm zone="GTK-TYPE-ICON-THEME-ERROR:CAPS"><primary>GTK_TYPE_ICON_THEME_ERROR</primary></indexterm>
<programlisting language="C">#define GTK_TYPE_ICON_THEME_ERROR (gtk_icon_theme_error_get_type ())
</programlisting>
</refsect2>
<refsect2 id="GTK-TYPE-ICON-LOOKUP-FLAGS:CAPS" role="macro">
<title>GTK_TYPE_ICON_LOOKUP_FLAGS</title>
<indexterm zone="GTK-TYPE-ICON-LOOKUP-FLAGS:CAPS"><primary>GTK_TYPE_ICON_LOOKUP_FLAGS</primary></indexterm>
<programlisting language="C">#define GTK_TYPE_ICON_LOOKUP_FLAGS (gtk_icon_lookup_flags_get_type ())
</programlisting>
</refsect2>
<refsect2 id="GtkIconThemeError" role="enum">
<title>enum GtkIconThemeError</title>
<indexterm zone="GtkIconThemeError"><primary>GtkIconThemeError</primary></indexterm>
<para>Error codes for GtkIconTheme operations.</para>
<refsect3 id="GtkIconThemeError.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GTK-ICON-THEME-NOT-FOUND:CAPS">GTK_ICON_THEME_NOT_FOUND</para></entry>
<entry role="enum_member_description"><para>The icon specified does not exist in the theme</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-ICON-THEME-FAILED:CAPS">GTK_ICON_THEME_FAILED</para></entry>
<entry role="enum_member_description"><para>An unspecified error occurred.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkIconTheme.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkIconTheme--display" role="property"><title>The <literal>“display”</literal> property</title>
<indexterm zone="GtkIconTheme--display"><primary>GtkIconTheme:display</primary></indexterm>
<programlisting>  “display”                  <link linkend="GdkDisplay"><type>GdkDisplay</type></link>&#160;*</programlisting>
<para>The display that this icon theme object is attached to.</para>
<para>Owner: GtkIconTheme</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkIconTheme--icon-names" role="property"><title>The <literal>“icon-names”</literal> property</title>
<indexterm zone="GtkIconTheme--icon-names"><primary>GtkIconTheme:icon-names</primary></indexterm>
<programlisting>  “icon-names”               <link linkend="GStrv"><type>GStrv</type></link></programlisting>
<para>The icon names that are supported by the icon theme.</para>
<para>Owner: GtkIconTheme</para>
<para>Flags: Read</para>
</refsect2>
<refsect2 id="GtkIconTheme--resource-path" role="property"><title>The <literal>“resource-path”</literal> property</title>
<indexterm zone="GtkIconTheme--resource-path"><primary>GtkIconTheme:resource-path</primary></indexterm>
<programlisting>  “resource-path”            <link linkend="GStrv"><type>GStrv</type></link></programlisting>
<para>Resource paths that will be looked at when looking for icons,
similar to search paths.</para>
<para>The resources are considered as part of the hicolor icon theme
and must be located in subdirectories that are defined in the
hicolor icon theme, such as <literal>@path/16x16/actions/run.png</literal>.
Icons that are directly placed in the resource path instead
of a subdirectory are also considered as ultimate fallback.</para>
<para>Owner: GtkIconTheme</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkIconTheme--search-path" role="property"><title>The <literal>“search-path”</literal> property</title>
<indexterm zone="GtkIconTheme--search-path"><primary>GtkIconTheme:search-path</primary></indexterm>
<programlisting>  “search-path”              <link linkend="GStrv"><type>GStrv</type></link></programlisting>
<para>The search path for this icon theme.</para>
<para>When looking for icons, GTK will search for a subdirectory of
one or more of the directories in the search path with the same
name as the icon theme containing an index.theme file. (Themes
from multiple of the path elements are combined to allow themes
to be extended by adding icons in the user’s home directory.)</para>
<para>Owner: GtkIconTheme</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkIconTheme--theme-name" role="property"><title>The <literal>“theme-name”</literal> property</title>
<indexterm zone="GtkIconTheme--theme-name"><primary>GtkIconTheme:theme-name</primary></indexterm>
<programlisting>  “theme-name”               <link linkend="gchar"><type>gchar</type></link>&#160;*</programlisting>
<para>The name of the icon theme that is being used.</para>
<para>Unless set to a different value, this will be the value of
the <link linkend="GtkSettings--gtk-icon-theme-name"><type>“gtk-icon-theme-name”</type></link> property of the <link linkend="GtkSettings"><type>GtkSettings</type></link>
object associated to the display of the icontheme object.</para>
<para>Owner: GtkIconTheme</para>
<para>Flags: Read / Write</para>
<para>Default value: NULL</para>
</refsect2>

</refsect1>
<refsect1 id="GtkIconTheme.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="GtkIconTheme-changed" role="signal"><title>The <literal>“changed”</literal> signal</title>
<indexterm zone="GtkIconTheme-changed"><primary>GtkIconTheme::changed</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> *self,
               <link linkend="gpointer"><type>gpointer</type></link>      user_data)</programlisting>
<para>Emitted when the current icon theme is switched or GTK+ detects
that a change has occurred in the contents of the current
icon theme.</para>
<refsect3 id="GtkIconTheme-changed.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>the icon theme</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2>
</refsect1>

</refentry>
