<Type Name="IconInfo" FullName="Gtk.IconInfo">
  <TypeSignature Language="C#" Maintainer="auto" Value="public class IconInfo : GLib.Opaque" />
  <AssemblyInfo>
    <AssemblyName>gtk-sharp</AssemblyName>
    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64 96 A4 7C B4]</AssemblyPublicKey>
    <AssemblyVersion>2.12.0.0</AssemblyVersion>
  </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>Contains information found when looking up an icon in an icon theme.</summary>
    <remarks />
    <since version="Gtk# 2.4" />
  </Docs>
  <Base>
    <BaseTypeName>GLib.Opaque</BaseTypeName>
  </Base>
  <Interfaces>
  </Interfaces>
  <Members>
    <Member MemberName="GetAttachPoints">
      <MemberSignature Language="C#" Value="public bool GetAttachPoints (Gdk.Point points, out int n_points);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="points" Type="Gdk.Point" />
        <Parameter Name="n_points" Type="System.Int32&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <summary>Fetches the set of attach points for an icon.</summary>
        <param name="points">a <see cref="T:Gdk.Point" /></param>
        <param name="n_points">a <see cref="T:System.Int32" /></param>
        <returns>a <see cref="T:System.Boolean" />, <see langword="true" /> if there are any attach points for the icon. </returns>
        <remarks>An attach point is a location in the icon that can be used as anchor points for attaching emblems or overlays to the icon.</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>Free a <see cref="T:Gtk.IconInfo" /> and associated information</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="GetEmbeddedRect">
      <MemberSignature Language="C#" Value="public bool GetEmbeddedRect (Gdk.Rectangle rectangle);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="rectangle" Type="Gdk.Rectangle" />
      </Parameters>
      <Docs>
        <summary>Gets the coordinates of a rectangle within the icon that can be used for display of information such as a preview of the contents of a text file.</summary>
        <param name="rectangle">a <see cref="T:Gdk.Rectangle" /> in which to store embedded rectangle coordinates; coordinates are only stored when this function returns <see langword="true" />.</param>
        <returns>a <see cref="T:System.Boolean" />, <see langword="true" /> if the icon has an embedded rectangle</returns>
        <remarks>See <see cref="P:Gtk.IconInfo.RawCoordinates" /> for further information about the coordinate system.</remarks>
      </Docs>
    </Member>
    <Member MemberName="LoadIcon">
      <MemberSignature Language="C#" Value="public Gdk.Pixbuf LoadIcon ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Pixbuf</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Renders an icon previously looked up in an icon theme using <see cref="M:Gtk.IconTheme.LookupIcon()" /></summary>
        <returns>a <see cref="T:Gdk.Pixbuf" />,  the rendered icon</returns>
        <remarks>The size will be based on the size passed to <see cref="M:Gtk.IconTheme.LookupIcon()" />. Note that the resulting pixbuf may not be exactly this size; an icon theme may have icons that differ slightly from their nominal sizes, and in addition Gtk will avoid scaling icons that it considers sufficiently close to the requested size or for which the source image would have to be scaled up too far. (This maintains sharpness.)</remarks>
      </Docs>
    </Member>
    <Member MemberName="Copy">
      <MemberSignature Language="C#" Value="public Gtk.IconInfo Copy ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.IconInfo</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Make a copy of a <see cref="T:Gtk.IconInfo" />.</summary>
        <returns>a <see cref="T:Gtk.IconInfo" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public IconInfo (IntPtr raw);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>Internal constructor</summary>
        <param name="raw">a <see cref="T:System.IntPtr" /></param>
        <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>
        <value>a <see cref="T:GLib.GType" /></value>
        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.IconInfo" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Filename">
      <MemberSignature Language="C#" Value="public string Filename { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Gets the filename for the icon.</summary>
        <value>a <see cref="T:System.String" />,  the filename for the icon, or <see langword="null" /></value>
        <remarks>If the <see cref="F:Gtk.IconLookupFlags.UseBuiltin" /> flag was passed to <see cref="M:Gtk.IconTheme.LookupIcon()" />, there may be no filename if a builtin icon is returned; in this case, you should use <see cref="P:Gtk.IconInfo.BuiltinPixbuf" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="DisplayName">
      <MemberSignature Language="C#" Value="public string DisplayName { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Gets the display name for an icon.</summary>
        <value>a <see cref="T:System.String" />,  the display name for the icon or <see langword="null" />, if the icon does not have a specified display name.</value>
        <remarks>A display name is a string to be used in place of the icon name in a user visible context like a list of icons.</remarks>
      </Docs>
    </Member>
    <Member MemberName="BuiltinPixbuf">
      <MemberSignature Language="C#" Value="public Gdk.Pixbuf BuiltinPixbuf { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Pixbuf</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Gets the built-in image for this icon, if any.</summary>
        <value>a <see cref="T:Gdk.Pixbuf" />,  the built-in image pixbuf, or <see langword="null" />.</value>
        <remarks>To allow Gtk to use built in icon images, you must pass the <see cref="F:Gtk.IconLookupFlags.UseBuiltin" /> to <see cref="M:Gtk.IconTheme.LookupIcon()" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="BaseSize">
      <MemberSignature Language="C#" Value="public int BaseSize { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Gets the base size for the icon.</summary>
        <value>a <see cref="T:System.Int32" />,  the base size, or 0, if no base size is known for the icon.</value>
        <remarks>The base size is a size for the icon that was specified by the icon theme creator. This may be different than the actual size of image; an example of this is small emblem icons that can be attached to a larger icon. These icons will be given the same base size as the larger icons to which they are attached.</remarks>
      </Docs>
    </Member>
    <Member MemberName="RawCoordinates">
      <MemberSignature Language="C#" Value="public bool RawCoordinates { set; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Sets whether the coordinates returned by <see cref="M:Gtk.IconInfo.GetEmbeddedRect()" /> and <see cref="M:Gtk.IconInfo.GetAttachPoints()" /> should be returned in their original form as specified in the icon theme, instead of scaled appropriately for the pixbuf returned by <see cref="M:Gtk.IconInfo.LoadIcon()" />.</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks>
          <para>
Raw coordinates are somewhat strange; they are specified to be with respect to the unscaled pixmap for PNG and XPM icons, but for SVG icons, they are in a 1000x1000 coordinate space that is scaled to the final size of the icon. You can determine if the icon is an SVG icon by using <see cref="P:Gtk.IconInfo.Filename" />, and seeing if it is non-<see langword="null" /> and ends in '.svg'.
</para>
          <para>
This function is provided primarily to allow compatibility wrappers for older API's, and is not expected to be useful for applications.
</para>
        </remarks>
      </Docs>
    </Member>
  </Members>
</Type>
