<Type Name="LayoutIter" FullName="Pango.LayoutIter">
  <TypeSignature Language="C#" Maintainer="auto" Value="public class LayoutIter : GLib.Opaque" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit LayoutIter extends GLib.Opaque" />
  <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>GLib.Opaque</BaseTypeName>
  </Base>
  <Interfaces>
  </Interfaces>
  <Docs>
    <summary>A <see cref="T:Pango.LayoutIter" /> can be used to iterate over the visual extents of a <see cref="T:Pango.Layout" />.</summary>
    <remarks />
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public LayoutIter (IntPtr raw);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <param name="raw">Pointer to the C object.</param>
        <summary>Internal constructor</summary>
        <remarks>
          <para>This is an internal constructor, and should not be used by user code.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="AtLastLine">
      <MemberSignature Language="C#" Value="public bool AtLastLine ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool AtLastLine() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Determines whether iter is on the last line of the layout.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Baseline">
      <MemberSignature Language="C#" Value="public int Baseline { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 Baseline" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets the y position of the current line's baseline, in layout coordinates (origin at top left of the entire layout).</summary>
        <value> baseline of current line</value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="CharExtents">
      <MemberSignature Language="C#" Value="public Pango.Rectangle CharExtents { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance valuetype Pango.Rectangle CharExtents" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Pango.Rectangle</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="Copy">
      <MemberSignature Language="C#" Value="public Pango.LayoutIter Copy ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Pango.LayoutIter Copy() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Pango.LayoutIter</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="Finalize">
      <MemberSignature Language="C#" Value="~LayoutIter ();" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Finalize() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="Free">
      <MemberSignature Language="C#" Value="public void Free ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Free() cil managed" />
      <MemberType>Method</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete("Pango.LayoutIter is now freed automatically")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Frees an iterator that is no longer in use.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Free">
      <MemberSignature Language="C#" Value="protected override void Free (IntPtr raw);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Free(native int raw) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <param name="raw">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="GetClusterExtents">
      <MemberSignature Language="C#" Value="public void GetClusterExtents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void GetClusterExtents(valuetype Pango.Rectangle ink_rect, valuetype Pango.Rectangle logical_rect) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="ink_rect" Type="Pango.Rectangle&amp;" RefType="out" />
        <Parameter Name="logical_rect" Type="Pango.Rectangle&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <param name="ink_rect">To be added.</param>
        <param name="logical_rect">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="GetLayoutExtents">
      <MemberSignature Language="C#" Value="public void GetLayoutExtents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void GetLayoutExtents(valuetype Pango.Rectangle ink_rect, valuetype Pango.Rectangle logical_rect) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="ink_rect" Type="Pango.Rectangle&amp;" RefType="out" />
        <Parameter Name="logical_rect" Type="Pango.Rectangle&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <param name="ink_rect">To be added.</param>
        <param name="logical_rect">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="GetLineExtents">
      <MemberSignature Language="C#" Value="public void GetLineExtents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void GetLineExtents(valuetype Pango.Rectangle ink_rect, valuetype Pango.Rectangle logical_rect) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="ink_rect" Type="Pango.Rectangle&amp;" RefType="out" />
        <Parameter Name="logical_rect" Type="Pango.Rectangle&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <param name="ink_rect">To be added.</param>
        <param name="logical_rect">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="GetLineYrange">
      <MemberSignature Language="C#" Value="public void GetLineYrange (out int y0_, out int y1_);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void GetLineYrange(int32 y0_, int32 y1_) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="y0_" Type="System.Int32&amp;" RefType="out" />
        <Parameter Name="y1_" Type="System.Int32&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <param name="y0_">a <see cref="T:System.Int32&amp;" /></param>
        <param name="y1_">a <see cref="T:System.Int32&amp;" /></param>
        <summary>Divides the vertical space in the <see cref="T:Pango.Layout" /> being iterated over between the lines in the layout, and returns the space belonging to the current line.</summary>
        <remarks>A line's range includes the line's logical extents, plus half of the spacing above and below the line if <see cref="P:Pango.Layout.Spacing" /> has been set. The y positions are in layout coordinates (origin at top left of the entire layout).</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetRunExtents">
      <MemberSignature Language="C#" Value="public void GetRunExtents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void GetRunExtents(valuetype Pango.Rectangle ink_rect, valuetype Pango.Rectangle logical_rect) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="ink_rect" Type="Pango.Rectangle&amp;" RefType="out" />
        <Parameter Name="logical_rect" Type="Pango.Rectangle&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <param name="ink_rect">To be added.</param>
        <param name="logical_rect">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </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>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <value>a <see cref="T:GLib.GType" /></value>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="Index">
      <MemberSignature Language="C#" Value="public int Index { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 Index" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets the current byte index.</summary>
        <value> current byte index</value>
        <remarks>Note that iterating forward by char moves in visual order, not logical order, so indexes may not be sequential. Also, the index may be equal to the length of the text in the layout, if on the <see langword="null" /> run (see <see cref="P:Pango.LayoutIter.Run" />).</remarks>
      </Docs>
    </Member>
    <Member MemberName="Layout">
      <MemberSignature Language="C#" Value="public Pango.Layout Layout { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class Pango.Layout Layout" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Pango.Layout</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="Line">
      <MemberSignature Language="C#" Value="public Pango.LayoutLine Line { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class Pango.LayoutLine Line" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Pango.LayoutLine</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets the current line.</summary>
        <value>the current <see cref="T:Pango.LayoutLine" /></value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="LineReadonly">
      <MemberSignature Language="C#" Value="public Pango.LayoutLine LineReadonly { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class Pango.LayoutLine LineReadonly" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Pango.LayoutLine</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.12" />
      </Docs>
    </Member>
    <Member MemberName="NextChar">
      <MemberSignature Language="C#" Value="public bool NextChar ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool NextChar() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Moves iter forward to the next character in visual order.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks>If iter was already at the end of the layout, returns <see langword="false" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="NextCluster">
      <MemberSignature Language="C#" Value="public bool NextCluster ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool NextCluster() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Moves iter forward to the next cluster in visual order.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks>If iter was already at the end of the layout, returns <see langword="false" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="NextLine">
      <MemberSignature Language="C#" Value="public bool NextLine ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool NextLine() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Moves iter forward to the start of the next line.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks>If iter is already on the last line, returns <see langword="false" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="NextRun">
      <MemberSignature Language="C#" Value="public bool NextRun ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool NextRun() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Moves iter forward to the next run in visual order.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks>If iter was already at the end of the layout, returns <see langword="false" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Run">
      <MemberSignature Language="C#" Value="public Pango.LayoutRun Run { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance valuetype Pango.LayoutRun Run" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Pango.LayoutRun</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets the current run.</summary>
        <value>an object of type 'Pango.LayoutRun'</value>
        <remarks>When iterating by run, at the end of each line, there is a position with a <see cref="null" /> run, so this function can return <see langword="null" />. The <see langword="null" /> run at the end of each line ensures that all lines have at least one run, even lines consisting of only a newline.</remarks>
      </Docs>
    </Member>
    <Member MemberName="RunReadonly">
      <MemberSignature Language="C#" Value="public Pango.LayoutRun RunReadonly { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance valuetype Pango.LayoutRun RunReadonly" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Pango.LayoutRun</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.12" />
      </Docs>
    </Member>
  </Members>
</Type>
