<Type Name="GlyphItem" FullName="Pango.GlyphItem">
  <TypeSignature Language="C#" Maintainer="auto" Value="public struct GlyphItem : IEquatable&lt;Pango.GlyphItem&gt;" />
  <TypeSignature Language="ILAsm" Value=".class public sequential ansi sealed beforefieldinit GlyphItem extends System.ValueType implements class System.IEquatable`1&lt;valuetype Pango.GlyphItem&gt;" />
  <AssemblyInfo>
    <AssemblyName>pango-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
  </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>
  <Base>
    <BaseTypeName>System.ValueType</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.IEquatable&lt;Pango.GlyphItem&gt;</InterfaceName>
    </Interface>
  </Interfaces>
  <Docs>
    <summary>A pair of a <see cref="T:Pango.Item" /> and the glyphs resulting from shaping the text corresponding to an item.</summary>
    <remarks>As an example of the usage of <see cref="T:Pango.GlyphItem" />, the results of shaping text with <see cref="T:Pango.Layout" /> is a list of <see cref="T:Pango.LayoutLine" />, each of which contains a list of <see cref="T:Pango.GlyphItem" />.</remarks>
  </Docs>
  <Members>
    <Member MemberName="ApplyAttrs">
      <MemberSignature Language="C#" Value="public Pango.GlyphItem[] ApplyAttrs (string text, Pango.AttrList list);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Pango.GlyphItem[] ApplyAttrs(string text, class Pango.AttrList list) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Pango.GlyphItem[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="text" Type="System.String" />
        <Parameter Name="list" Type="Pango.AttrList" />
      </Parameters>
      <Docs>
        <param name="text">a <see cref="T:System.String" /></param>
        <param name="list">a <see cref="T:Pango.AttrList" /></param>
        <summary>Splits a shaped item (<see cref="T:Pango.GlyphItem" />) into multiple items based on an attribute list.</summary>
        <returns>a <see cref="T:Pango.GlyphItem[]" /></returns>
        <remarks>
          <para>
The idea is that if you have attributes that do not affect shaping, such as color or underline, to avoid affecting shaping, you filter them out (<see cref="M:Pango.AttrList.Filter()" />), apply the shaping process and then re-apply them to the result using this function.
</para>
          <para>
All attributes that start or end inside a cluster are applied to that cluster; for instance, if half of a cluster is underlined and the other-half strikethough, then the cluster will end up with both underline and strikethrough attributes. In these cases, it may happen that item-&gt;extra_attrs for some of the result items can have multiple attributes of the same type. 
</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Equals">
      <MemberSignature Language="C#" Value="public bool Equals (Pango.GlyphItem other);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equals(valuetype Pango.GlyphItem other) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="other" Type="Pango.GlyphItem" />
      </Parameters>
      <Docs>
        <param name="other">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="Equals">
      <MemberSignature Language="C#" Value="public override bool Equals (object other);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object other) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="other" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="other">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="Free">
      <MemberSignature Language="C#" Value="public Pango.GlyphItem Free ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Pango.GlyphItem Free() cil managed" />
      <MemberType>Method</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete("This is a no-op")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>Pango.GlyphItem</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="GetHashCode">
      <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="GetLogicalWidths">
      <MemberSignature Language="C#" Value="public int GetLogicalWidths (string text);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int32 GetLogicalWidths(string text) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="text" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="text">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="glyphs">
      <MemberSignature Language="C#" Value="public Pango.GlyphString glyphs { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class Pango.GlyphString glyphs" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete("Replaced by Glyphs property")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>Pango.GlyphString</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Obsolete alias for <see cref="M:Pango.GlyphItem.Glyphs" /></summary>
        <value>a <see cref="T:Pango.GlyphString" /></value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Glyphs">
      <MemberSignature Language="C#" Value="public Pango.GlyphString Glyphs { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class Pango.GlyphString Glyphs" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Pango.GlyphString</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>the glyphs obtained by shaping the text corresponding to item.</summary>
        <value>a <see cref="T:Pango.GlyphString" /></value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="GType">
      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>GLib.GType</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="item">
      <MemberSignature Language="C#" Value="public Pango.Item item { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class Pango.Item item" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete("Replaced by Item property")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>Pango.Item</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Obsolete alias for <see cref="M:Pango.GlyphItem.Item" /></summary>
        <value>a <see cref="T:Pango.Item" /></value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Item">
      <MemberSignature Language="C#" Value="public Pango.Item Item { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class Pango.Item Item" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Pango.Item</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>a <see cref="T:Pango.Item" /> that provides information about a segment of text.</summary>
        <value>a <see cref="T:Pango.Item" /></value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="LetterSpace">
      <MemberSignature Language="C#" Value="public void LetterSpace (string text, Pango.LogAttr log_attrs, int letter_spacing);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void LetterSpace(string text, valuetype Pango.LogAttr log_attrs, int32 letter_spacing) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="text" Type="System.String" />
        <Parameter Name="log_attrs" Type="Pango.LogAttr" />
        <Parameter Name="letter_spacing" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="text">a <see cref="T:System.String" /></param>
        <param name="log_attrs">a <see cref="T:Pango.LogAttr" /></param>
        <param name="letter_spacing">a <see cref="T:System.Int32" /></param>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="New">
      <MemberSignature Language="C#" Value="public static Pango.GlyphItem New (IntPtr raw);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Pango.GlyphItem New(native int raw) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Pango.GlyphItem</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <param name="raw">a <see cref="T:System.IntPtr" /></param>
        <summary>Internal method</summary>
        <returns>a <see cref="T:Pango.GlyphItem" /></returns>
        <remarks>This is an internal method, and should not be used by user code.</remarks>
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static Pango.GlyphItem op_Explicit (GLib.Value val);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname valuetype Pango.GlyphItem op_Explicit(valuetype GLib.Value val) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Pango.GlyphItem</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="val" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="val">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static GLib.Value op_Explicit (Pango.GlyphItem boxed);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname valuetype GLib.Value op_Explicit(valuetype Pango.GlyphItem boxed) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>GLib.Value</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="boxed" Type="Pango.GlyphItem" />
      </Parameters>
      <Docs>
        <param name="boxed">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="Split">
      <MemberSignature Language="C#" Value="public Pango.GlyphItem Split (string text, int split_index);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Pango.GlyphItem Split(string text, int32 split_index) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Pango.GlyphItem</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="text" Type="System.String" />
        <Parameter Name="split_index" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="text"> text to which positions in orig apply.</param>
        <param name="split_index"> byte index of position to split item, relative to the start of the item</param>
        <summary>Splits an Item</summary>
        <returns>a <see cref="T:Pango.GlyphItem" /> representing the text before <paramref name="split_index" /></returns>
        <remarks>
          <para>
Modifies orig to cover only the text after <paramref name="split_index" />, and returns a new item that covers the text before <paramref name="split_index" /> that used to be in orig. You can think of <paramref name="split_index" /> as the length of the returned item. <paramref name="split_index" /> may not be 0, and it may not be greater than or equal to the length of orig (that is, there must be at least one byte assigned to each item, you cannot create a zero-length item).
</para>
This function is similar in function to <see cref="M:Pango.Item.Split()" /> (and uses it internally)</remarks>
      </Docs>
    </Member>
    <Member MemberName="Zero">
      <MemberSignature Language="C#" Value="public static Pango.GlyphItem Zero;" />
      <MemberSignature Language="ILAsm" Value=".field public static valuetype Pango.GlyphItem Zero" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>Pango.GlyphItem</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Returns an empty <see cref="T:Pango.GlyphItem" /></summary>
        <remarks />
      </Docs>
    </Member>
  </Members>
</Type>
