<Type Name="IconSource" FullName="Gtk.IconSource"> <TypeSignature Language="C#" Value="public class IconSource : GLib.Opaque, IWrapper" Maintainer="duncan" /> <AssemblyInfo> <AssemblyName>gtk-sharp</AssemblyName> <AssemblyPublicKey> </AssemblyPublicKey> <AssemblyVersion>0.0.0.0</AssemblyVersion> <AssemblyCulture>neutral</AssemblyCulture> <Attributes /> </AssemblyInfo> <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement> <Docs> <summary> A GtkIconSource contains a <see cref="T:Gdk.Pixbuf" /> (or image filename) that serves as the base image for one or more of the icons in a <see cref="T:Gtk.IconSet" />, along with a specification for which icons in the icon set will be based on that pixbuf or image file. An icon set contains a set of icons that represent the same logical concept in different states, different global text directions, and different sizes. </summary> <remarks> <para> A <see cref="T:Gtk.IconSource" /> contains a <see cref="T:Gdk.Pixbuf" /> (or image filename) that serves as the base image for one or more of the icons in a <see cref="T:Gtk.IconSet" />, along with a specification for which icons in the icon set will be based on that pixbuf or image file. An icon set contains a set of icons that represent the same logical concept in different states, different global text directions, and different sizes. </para> <para> So for example a web browser's "Back to Previous Page" icon might point in a different direction in Hebrew and in English; it might look different when insensitive; and it might change size depending on toolbar mode (small/large icons). So a single icon set would contain all those variants of the icon. <see cref="T:Gtk.IconSet" /> contains a list of <see cref="T:Gtk.IconSource" /> from which it can derive specific icon variants in the set. </para> <para> In the simplest case, <see cref="T:Gtk.IconSet" /> contains one source pixbuf from which it derives all variants. The <see cref="C:Gtk.IconSet(Gdk.Pixbuf)" /> constructor handles this case; if you only have one source pixbuf, just use that function. </para> <para> If you want to use a different base pixbuf for different icon variants, you create multiple icon sources, mark which variants they'll be used to create, and add them to the icon set with <see cref="M:Gtk.IconSet.AddSource(Gtk.IconSource)" />. </para> <para> By default, the icon source has all parameters wildcarded. That is, the icon source will be used as the base icon for any desired text direction, widget state, or icon size. </para> </remarks> </Docs> <Base> <BaseTypeName>GLib.Opaque</BaseTypeName> </Base> <Interfaces> <Interface> <InterfaceName>GLib.IWrapper</InterfaceName> </Interface> </Interfaces> <Attributes /> <Members> <Member MemberName="Copy"> <MemberSignature Language="C#" Value="public Gtk.IconSource Copy ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>Gtk.IconSource</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary> Creates a copy of the current <see cref="T:Gtk.IconSource" />; mostly useful for language bindings. </summary> <returns> a new GtkIconSource that is a copy of the current one </returns> <remarks /> </Docs> </Member> <Member MemberName="Free"> <MemberSignature Language="C#" Value="public void Free ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Frees a dynamically-allocated icon source, along with its filename, size, and pixbuf fields.</summary> <remarks /> </Docs> </Member> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="public IconSource (IntPtr raw);" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters> <Parameter Name="raw" Type="System.IntPtr" /> </Parameters> <Docs> <summary>Internal constructor</summary> <param name="raw">Pointer to the C object.</param> <returns>An instance of IconSource, wrapping the C object.</returns> <remarks> <para>This is an internal constructor, and should not be used by user code.</para> </remarks> </Docs> </Member> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="public IconSource ();" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters /> <Docs> <summary>Creates a new <see cref="T:Gtk.IconSource" />.</summary> <returns>a new <see cref="T:Gtk.IconSource" />.</returns> <remarks /> </Docs> </Member> <Member MemberName="StateWildcarded"> <MemberSignature Language="C#" Value="public bool StateWildcarded { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>System.Boolean</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary> If the widget state is wildcarded, this source can be used as the base image for an icon in any <see cref="T:Gtk.StateType" />. </summary> <returns> Whether or not the widget is wildcarded. </returns> <remarks> <para> If the widget state is wildcarded, this source can be used as the base image for an icon in any <see cref="T:Gtk.StateType" />. If the widget state is not wildcarded, then the state the source applies to should be set with <see cref="P:Gtk.IconSource.State" /> and the icon source will only be used with that specific state. </para> <para> <see cref="T:Gtk.IconSet" /> prefers non-wildcarded sources (exact matches) over wildcarded sources, and will use an exact match when possible. </para> <para> <see cref="T:Gtk.IconSet" /> will normally transform wildcarded source images to produce an appropriate icon for a given state, for example lightening an image on prelight, but will not modify source images that match exactly. </para> </remarks> </Docs> </Member> <Member MemberName="SizeWildcarded"> <MemberSignature Language="C#" Value="public bool SizeWildcarded { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>System.Boolean</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary> If the icon size is wildcarded, this source can be used as the base image for an icon of any size. If the size is not wildcarded, then the size the source applies to should be set with <see cref="P:Gtk.IconSource.Size" /> and the icon source will only be used with that specific size. </summary> <param name="value"> <see langword="true" /> if the size is wildcarded, <see langword="false" /> otherwise. </param> <returns>Whether the size is wildcarded or not</returns> <remarks> <para> If the icon size is wildcarded, this source can be used as the base image for an icon of any size. If the size is not wildcarded, then the size the source applies to should be set with <see cref="P:Gtk.IconSource.Size" /> and the icon source will only be used with that specific size. </para> <para> <see cref="T:Gtk.IconSet" /> prefers non-wildcarded sources (exact matches) over wildcarded sources, and will use an exact match when possible. </para> <para> <see cref="T:Gtk.IconSet" /> will normally scale wildcarded source images to produce an appropriate icon at a given size, but will not change the size of source images that match exactly. </para> </remarks> </Docs> </Member> <Member MemberName="Pixbuf"> <MemberSignature Language="C#" Value="public Gdk.Pixbuf Pixbuf { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gdk.Pixbuf</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary> The base image used when creating icon variants of a <see cref="T:Gtk.IconSet" /></summary> <param name="value">An object of type <see cref="T:Gdk.Pixbuf" /></param> <returns>the source pixbuf, or <see langword="null" /> if none is set.</returns> <remarks> <para> If an icon source has both a filename and a pixbuf set, the pixbuf will take priority. </para> </remarks> </Docs> </Member> <Member MemberName="Direction"> <MemberSignature Language="C#" Value="public Gtk.TextDirection Direction { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gtk.TextDirection</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary> The text direction this icon source applies to. </summary> <param name="value">The text direction this source applies to</param> <returns> Obtains the text direction this icon source applies to. The return value is only useful/meaningful if the text direction is not wildcarded. </returns> <remarks> Setting the text direction on an icon source makes no difference if the text direction is wildcarded. Therefore, you should usually set the <see cref="P:Gtk.IconSource.DirectionWildcarded" /> property to un-wildcard it in addition to calling this function. </remarks> </Docs> </Member> <Member MemberName="Size"> <MemberSignature Language="C#" Value="public Gtk.IconSize Size { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gtk.IconSize</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary> The icon size this icon source is intended to be used with. </summary> <param name="value">The icon size this source applies to</param> <returns> Obtains the icon size this source applies to. The return value is only useful/meaningful if the icon size is not wildcarded. </returns> <remarks> Setting the icon size on an icon source makes no difference if the size is wildcarded. Therefore, you should usually set the <see cref="P:Gtk.IconSource.SizeWildcarded" /> property to un-wildcard it in addition to calling this function. </remarks> </Docs> </Member> <Member MemberName="State"> <MemberSignature Language="C#" Value="public Gtk.StateType State { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gtk.StateType</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary> The widget state this icon source applies to. </summary> <param name="value">The widget state this icon source applies to.</param> <returns> Obtains the widget state this icon source applies to. The return value is only useful/meaningful if the widget state is not wildcarded. </returns> <remarks> Setting the widget state on an icon source makes no difference if the state is wildcarded. Therefore, you should usually set the <see cref="P:Gtk.IconSource.StateWildcarded" /> propertyto un-wildcard it in addition to calling this function. </remarks> </Docs> </Member> <Member MemberName="DirectionWildcarded"> <MemberSignature Language="C#" Value="public bool DirectionWildcarded { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>System.Boolean</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary> If the text direction is wildcarded, this source can be used as the base image for an icon in any <see cref="T:Gtk.TextDirection" />. </summary> <param name="value"> <see langword="true" /> if the text direction is wildcarded, <see langword="false" /> otherwise. </param> <returns>Whether the text direction is wildcarded or not</returns> <remarks> <para> If the text direction is wildcarded, this source can be used as the base image for an icon in any <see cref="T:Gtk.TextDirection" />. If the text direction is not wildcarded, then the text direction the icon source applies to should be set with <see cref="P:Gtk.IconSource.Direction" />, and the icon source will only be used with that text direction. </para> <para> <see cref="T:Gtk.IconSet" /> prefers non-wildcarded sources (exact matches) over wildcarded sources, and will use an exact match when possible. </para> </remarks> </Docs> </Member> <Member MemberName="Filename"> <MemberSignature Language="C#" Value="public string Filename { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>System.String</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary> Retrieves the source filename, or <see langword="null" /> if none is set. </summary> <param name="value"> Sets the name of an image file to use as a base image when creating icon variants for <see cref="T:Gtk.IconSet" />. The filename must be absolute. </param> <returns> Retrieves the source filename, or <see langword="null" /> if none is set. The filename is not a copy, and should not be modified or expected to persist beyond the lifetime of the icon source. </returns> <remarks /> </Docs> </Member> <Member MemberName="GType"> <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>GLib.GType</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>GType Property.</summary> <returns>a <see cref="T:GLib.GType" /></returns> <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.IconSource" />.</remarks> </Docs> </Member> <Member MemberName="IconName"> <MemberSignature Language="C#" Value="public string IconName { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>System.String</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary> The name of an icon to look up in the current icon theme to use as a base image when creating icon variants for #GtkIconSet </summary> <returns>a <see cref="T:System.String" /></returns> <remarks></remarks> </Docs> </Member> </Members> </Type>