<Type Name="GlyphString" FullName="Pango.GlyphString">
  <TypeSignature Language="C#" Maintainer="auto" Value="public class GlyphString : GLib.Opaque" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit GlyphString 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>Used to store strings of glyphs with geometry and visual attribute information.</summary>
    <remarks />
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public GlyphString ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberType>Constructor</MemberType>
      <Parameters />
      <Docs>
        <summary>Creates a new <see cref="T:Pango.GlyphString" /> object.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public GlyphString (IntPtr raw);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <param name="raw">an object of type <see cref="T:System.IntPtr" /></param>
        <summary>Internal method</summary>
        <remarks>This is an internal method, and should not be used by user code.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Copy">
      <MemberSignature Language="C#" Value="public Pango.GlyphString Copy ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Pango.GlyphString Copy() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Pango.GlyphString</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Copies one <see cref="T:Pango.GlyphString" /> into a new object.</summary>
        <returns>a <see cref="T:Pango.GlyphString" /></returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Extents">
      <MemberSignature Language="C#" Value="public void Extents (Pango.Font font, Pango.Rectangle ink_rect, Pango.Rectangle logical_rect);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Extents(class Pango.Font font, valuetype Pango.Rectangle ink_rect, valuetype Pango.Rectangle logical_rect) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="font" Type="Pango.Font" />
        <Parameter Name="ink_rect" Type="Pango.Rectangle" />
        <Parameter Name="logical_rect" Type="Pango.Rectangle" />
      </Parameters>
      <Docs>
        <param name="font">a <see cref="T:Pango.Font" /> for rendering the string </param>
        <param name="ink_rect">a  <see cref="T:Pango.Rectangle" /> used to store the extents of the glyph as drawn or <see langword="null" /> to indicate that the result is not needed.</param>
        <param name="logical_rect">a <see cref="T:Pango.Rectangle" /> used to store the logical extents of the glyph or <see langword="null" /> to indicate that the result is not needed.</param>
        <summary>Computes the logical and ink extents of this glyph string.</summary>
        <remarks>The coordinate system for each rectangle has its origin at the base line and horizontal origin of the character with increasing coordinates extending to the right and down. The units of the rectangles are in 1 / <see cref="F:Pango.Scale.PangoScale" /> of a device unit.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ExtentsRange">
      <MemberSignature Language="C#" Value="public void ExtentsRange (int start, int end, Pango.Font font, Pango.Rectangle ink_rect, Pango.Rectangle logical_rect);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void ExtentsRange(int32 start, int32 end, class Pango.Font font, valuetype Pango.Rectangle ink_rect, valuetype Pango.Rectangle logical_rect) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="start" Type="System.Int32" />
        <Parameter Name="end" Type="System.Int32" />
        <Parameter Name="font" Type="Pango.Font" />
        <Parameter Name="ink_rect" Type="Pango.Rectangle" />
        <Parameter Name="logical_rect" Type="Pango.Rectangle" />
      </Parameters>
      <Docs>
        <param name="start">an integer for the start index</param>
        <param name="end">an integer for the end index</param>
        <param name="font">a <see cref="T:Pango.Font" /> for rendering the string </param>
        <param name="ink_rect">a  <see cref="T:Pango.Rectangle" /> used to store the extents of the glyph as drawn or <see langword="null" /> to indicate that the result is not needed.</param>
        <param name="logical_rect">a <see cref="T:Pango.Rectangle" /> used to store the logical extents of the glyph or <see langword="null" /> to indicate that the result is not needed.</param>
        <summary>Computes the logical and ink extents of a sub-section of this glyph string.</summary>
        <remarks>The extents are relative to the start of the glyph string range, not to the start of the glyph string.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Finalize">
      <MemberSignature Language="C#" Value="~GlyphString ();" />
      <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="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="GetLogicalWidths">
      <MemberSignature Language="C#" Value="public int GetLogicalWidths (string text, int embedding_level);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int32 GetLogicalWidths(string text, int32 embedding_level) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="text" Type="System.String" />
        <Parameter Name="embedding_level" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="text">a <see cref="T:System.String" /> to process</param>
        <param name="embedding_level">a <see cref="T:System.Int32" />, the embedding level of the string</param>
        <summary>Determine the screen width corresponding to each character in a string. When
	  multiple characters compose a single cluster, the width of the entire cluster is divided equally among the characters.
        </summary>
        <returns>a <see cref="T:System.Int32" />, a pointer to an array of logical widths for each character.</returns>
        <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>
      <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:Pango.GlyphString" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IndexToX">
      <MemberSignature Language="C#" Value="public int IndexToX (string text, Pango.Analysis analysis, int index_, bool trailing);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int32 IndexToX(string text, valuetype Pango.Analysis analysis, int32 index_, bool trailing) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="text" Type="System.String" />
        <Parameter Name="analysis" Type="Pango.Analysis" />
        <Parameter Name="index_" Type="System.Int32" />
        <Parameter Name="trailing" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="text">a <see cref="T:System.String" />, the text for the run</param>
        <param name="analysis">a <see cref="T:Pango.Analysis" />, the analysis for the run</param>
        <param name="index_">a <see cref="T:System.Int32" />, the byte index within the text.</param>
        <param name="trailing">a <see cref="T:System.Int32" /> whether to compute from trailing edge (true) or leading 
	  edge (false) of the character</param>
        <summary>Convert from character position to X position.</summary>
        <returns>To be added.</returns>
        <remarks>
	  Converts from character position to x position. (X position is measured from the left edge of the run). 
	  Character positions are computed by dividing up each cluster into equal portions.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="New">
      <MemberSignature Language="C#" Value="public static Pango.GlyphString New ();" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Pango.GlyphString New() cil managed" />
      <MemberType>Method</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete("Replaced by GlyphString() constructor")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>Pango.GlyphString</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Obsolete. Replaced by an ordinary constructor</summary>
        <returns>a <see cref="T:Pango.GlyphString" /> object.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="New">
      <MemberSignature Language="C#" Value="public static Pango.GlyphString New (IntPtr raw);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Pango.GlyphString New(native int raw) cil managed" />
      <MemberType>Method</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete("Replaced by GlyphString(IntPtr) constructor")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>Pango.GlyphString</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <param name="raw">an object of type <see cref="T:System.IntPtr" /></param>
        <summary>Obsolete internal constructor</summary>
        <returns>a <see cref="T:Pango.GlyphString" /> object.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="NumGlyphs">
      <MemberSignature Language="C#" Value="public int NumGlyphs { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 NumGlyphs" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>the number of glyphs in the string.</summary>
        <value>the number of glyphs in the string.</value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Size">
      <MemberSignature Language="C#" Value="public int Size { set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 Size" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>Resizes this GlyphString to the given length.</summary>
        <value>The new length of the string.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Width">
      <MemberSignature Language="C#" Value="public int Width { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 Width" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Width property.</summary>
        <value>The logical width of the glyph string.</value>
        <remarks />
        <since version="Gtk# 2.12" />
      </Docs>
    </Member>
    <Member MemberName="XToIndex">
      <MemberSignature Language="C#" Value="public void XToIndex (string text, Pango.Analysis analysis, int x_pos, out int index_, out int trailing);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void XToIndex(string text, valuetype Pango.Analysis analysis, int32 x_pos, int32 index_, int32 trailing) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="text" Type="System.String" />
        <Parameter Name="analysis" Type="Pango.Analysis" />
        <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="text">a <see cref="T:System.String" />, the text for the run</param>
        <param name="analysis">a <see cref="T:Pango.Analysis" />, the analysis for the run</param>
        <param name="x_pos">the X offset in Pango glyph units.</param>
        <param name="index_">a <see cref="T:System.Int32&amp;" />, for storing the calculated byte index</param>
        <param name="trailing">a <see cref="T:System.Int32&amp;" /> for storing whether the user clicked on the leading 
	  or trailing edge of the character.</param>
        <summary>Convert from x offset to character position.</summary>
        <remarks>
	  Character positions are computed by dividing up each cluster into equal portions.
	  In scripts where positioning within a cluster is not allowed (such as Thai), the returned value may not be a valid cursor
	  position; the caller must combine the result with the logical attributes for the text to compute the valid cursor position.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="Zero">
      <MemberSignature Language="C#" Value="public static Pango.GlyphString Zero;" />
      <MemberSignature Language="ILAsm" Value=".field public static class Pango.GlyphString Zero" />
      <MemberType>Field</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete("Pango.GlyphString is a reference type now, use null")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>Pango.GlyphString</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Obsolete: just use <see langword="null" /> now.</summary>
        <remarks />
      </Docs>
    </Member>
  </Members>
</Type>
