<Type Name="LayoutLine" FullName="Pango.LayoutLine">
  <TypeSignature Language="C#" Maintainer="auto" Value="public class LayoutLine : GLib.Opaque" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit LayoutLine 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 />
  <Docs>
    <summary>Represents one of the lines resulting from laying out a paragraph via <see cref="T:Pango.Layout" />.</summary>
    <remarks>
      <see cref="T:Pango.LayoutLine" />s are obtained by calling <see cref="M:Pango.Layout.GetLine(System.Int32)" /> and are only valid until the text, attributes, or settings of the parent <see cref="T:Pango.Layout" /> are modified.</remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public LayoutLine (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">a <see cref="T:System.IntPtr" /></param>
        <summary>Internal constructor.</summary>
        <remarks>This is an internal constructor, and should not be used by user code.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Finalize">
      <MemberSignature Language="C#" Value="~LayoutLine ();" />
      <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="GetExtents">
      <MemberSignature Language="C#" Value="public void GetExtents (ref Pango.Rectangle ink_rect, ref Pango.Rectangle logical_rect);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void GetExtents(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="ref" />
        <Parameter Name="logical_rect" Type="Pango.Rectangle&amp;" RefType="ref" />
      </Parameters>
      <Docs>
        <param name="ink_rect"> rectangle used to store the extents of the glyph string as drawn or <see langword="null" /> to indicate that the result is not needed.</param>
        <param name="logical_rect"> rectangle used to store the logical extents of the glyph string or <see langword="null" /> to indicate that the result is not needed.</param>
        <summary>Computes the logical and ink extents of a layout line.</summary>
        <remarks>See the documentation for <see cref="M:Pango.Font.GetGlyphExtents()" /> for details about the interpretation of the rectangles.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetPixelExtents">
      <MemberSignature Language="C#" Value="public void GetPixelExtents (ref Pango.Rectangle ink_rect, ref Pango.Rectangle logical_rect);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void GetPixelExtents(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="ref" />
        <Parameter Name="logical_rect" Type="Pango.Rectangle&amp;" RefType="ref" />
      </Parameters>
      <Docs>
        <param name="ink_rect"> rectangle used to store the extents of the glyph string as drawn or <see langword="null" /> to indicate that the result is not needed.</param>
        <param name="logical_rect"> rectangle used to store the logical extents of the glyph string or <see langword="null" /> to indicate that the result is not needed.</param>
        <summary>Computes the logical and ink extents of a layout line.</summary>
        <remarks>See the documentation for <see cref="T:Pango.Font.GetGlyphExtents()" /> for details about the interpretation of the rectangles. The returned rectangles are in device units, as opposed to <see cref="T:Pango.LayoutLine.GetExtents()" />, which returns the extents in <see cref="T:Pango.GlyphUnit" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetXRanges">
      <MemberSignature Language="C#" Value="public void GetXRanges (int start_index, int end_index, out int[][] ranges);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void GetXRanges(int32 start_index, int32 end_index, int32[][] ranges) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="start_index" Type="System.Int32" />
        <Parameter Name="end_index" Type="System.Int32" />
        <Parameter Name="ranges" Type="System.Int32[][]&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <param name="start_index"> Start byte index of the logical range. If this value is less than the start index for the line, then the first range will extend all the way to the leading edge of the layout. Otherwise it will start at the leading edge of the first character.</param>
        <param name="end_index"> Ending byte index of the logical range. If this value is greater than the end index for the line, then the last range will extend all the way to the trailing edge of the layout. Otherwise, it will end at the trailing edge of the last character.</param>
        <param name="ranges"> location to store an array of ranges. The array will be of length 2*n_ranges, with each range starting at (*ranges)[2*n]  and of width (*ranges)[2*n + 1] - (*ranges)[2*n]. This array must be freed with g_free(). The coordinates are relative to the layout and are in <see cref="T:Pango.GlyphUnit" />.</param>
        <summary>Gets a list of visual ranges corresponding to a given logical range.</summary>
        <remarks>This list is not necessarily minimal - there may be consecutive ranges which are adjacent. The ranges will be sorted from left to right. The ranges are with respect to the left edge of the entire layout, not with respect to the line.</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>The native GLib type value.</summary>
        <value>a <see cref="T:GLib.GType" />.</value>
        <remarks />
        <since version="Gtk# 2.8" />
      </Docs>
    </Member>
    <Member MemberName="IndexToX">
      <MemberSignature Language="C#" Value="public int IndexToX (int index_, bool trailing);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int32 IndexToX(int32 index_, bool trailing) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="index_" Type="System.Int32" />
        <Parameter Name="trailing" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="index_"> byte offset of a grapheme within the layout</param>
        <param name="trailing"> Indicates the edge of the grapheme to retrieve the position of. If <see langword="true" />, the trailing edge of the grapheme, if <see langword="false" />, the leading of the grapheme.</param>
        <summary>Converts an index within a line to a X position.</summary>
        <returns>the x_offset (in <see cref="T:Pango.GlyphUnit" />)</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="IsParagraphStart">
      <MemberSignature Language="C#" Value="public bool IsParagraphStart { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool IsParagraphStart" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</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>
      <Parameters />
      <Docs>
        <summary>The parent <see cref="T:Pango.Layout" /> for this line.</summary>
        <value>a <see cref="T:Pango.Layout" /></value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Length">
      <MemberSignature Language="C#" Value="public int Length { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 Length" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>the length of the line in bytes.</summary>
        <value>a <see cref="T:System.Int32" /></value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Ref">
      <MemberSignature Language="C#" Value="public Pango.LayoutLine Ref ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Pango.LayoutLine Ref() cil managed" />
      <MemberType>Method</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete("Pango.LayoutLine is now refcounted automatically")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>Pango.LayoutLine</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Ref">
      <MemberSignature Language="C#" Value="protected override void Ref (IntPtr raw);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Ref(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="ResolvedDir">
      <MemberSignature Language="C#" Value="public uint ResolvedDir { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance unsigned int32 ResolvedDir" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="StartIndex">
      <MemberSignature Language="C#" Value="public int StartIndex { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 StartIndex" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>the start of the line as byte index into <see cref="P:Pango.Layout.Text" />.</summary>
        <value>a <see cref="T:System.Int32" /></value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Unref">
      <MemberSignature Language="C#" Value="public void Unref ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Unref() cil managed" />
      <MemberType>Method</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete("Pango.LayoutLine is now refcounted automatically")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Decreases the reference count of a <see cref="T:Pango.LayoutLine" /> by one.</summary>
        <remarks>If the result is zero, the line and all associated memory will be freed.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Unref">
      <MemberSignature Language="C#" Value="protected override void Unref (IntPtr raw);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Unref(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="XToIndex">
      <MemberSignature Language="C#" Value="public bool XToIndex (int x_pos, out int index_, out int trailing);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool XToIndex(int32 x_pos, int32 index_, int32 trailing) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="x_pos" Type="System.Int32" />
        <Parameter Name="index_" Type="System.Int32&amp;" RefType="out" />
        <Parameter Name="trailing" Type="System.Int32&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <param name="x_pos"> the x offset (in <see cref="T:Pango.GlyphUnit" />) from the left edge of the line.</param>
        <param name="index_"> location to store calculated byte offset for the grapheme in which the user clicked.</param>
        <param name="trailing"> location to store a integer indicating where in the grapheme the user clicked. It will either be zero, or the number of characters in the grapheme. 0 represents the trailing edge of the cluster.</param>
        <summary>Converts from x offset to the byte index of the corresponding character within the text of the layout.</summary>
        <returns>
          <see langword="false" /> if x_pos was outside the line, <see langword="true" /> if inside</returns>
        <remarks>If <paramref name="x_pos" /> is outside the line, the start or end of the line will be stored at <paramref name="index_" />.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
