GtkSharp/doc/en/Pango/GlyphString.xml
Dan Winship 622c360576 * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has
a constructor or a ref, unref, or destroy method, then it must be
	a reference type, so mark it "opaque" but then also mark all of
	its fields public and writable.

	* */*-api*.raw: Regen

	* generator/Parser.cs (ParseNamespace): make the opaque attribute
	check actually look at the value of the attribute rather than just
	checking if it's there, so that you can change a struct's opaque
	attribute from "true" to "false" via metadata and have that work.

	* generator/BoxedGen.cs (Generate): do not generate the boxed's
	"Free" method (since it's guaranteed to crash when we pass it a
	stack pointer). If "Copy" is marked deprecated, create a
	deprecated no-op for it, otherwise just skip it (since otherwise
	it will just leak memory when we copy its result onto the stack).

	* pango/Pango.metadata: deprecate Pango.Color.Copy and
	Pango.Matrix.Copy. Hide some array fields in Pango.GlyphString
	that we've never generated correctly. Tweak Pango.LayoutLine
	fields to be the same as they used to be.

	* pango/GlyphItem.custom (glyphs, item):
	* pango/GlyphString.custom (Zero, New):
	* pango/Item.custom (Zero, New):
	* pango/LayoutRun.custom (glyphs, item): add deprecated API compat

	* gdk/Gdk.metadata: undo the parser's new opaquification of
	Gdk.Font; it's been deprecated since pre-gtk# times, and no one
	should be using it, so there's no point in fixing it now. Fix up a
	few other things to match how they used to be. Fix RgbCmap's
	constructor args.

	* gdk/RgbCmap.custom (Zero, New): deprecated API compat

	* gdk/PangoAttrEmbossed.custom:
	* gdk/PangoAttrStipple.custom (Zero, New, Attr): deprecated API
	compat
	(explicit operator ...): allow casting back and forth between
	Pango.Attribute. (We can't usefully make them real subclasses of
	Pango.Attribute, because there's no way for
	Pango.Attribute.GetAttribute() to be able to dtrt with them.)

	* gtk/Gtk.metadata: deprecate Gtk.Requisition.Copy,
	Gtk.TextIter.Copy, and Gtk.TreeIter.Copy. Mark the return value of
	TextView.DefaultAttributes as "owned". Mark TargetList's fields
	private so it stays how it used to be.

	* gtk/TextAttributes.custom (Zero, New): deprecated API compat

	* gnomevfs/Gnomevfs.metadata: remove a bunch of opaque
	declarations that the parser figures out on its own now.

	* art/Art.metadata:
	* glade/Glade.metadata:
	* rsvg/Rsvg.metadata: un-mark everything the parser marked opaque
	in these libraries, because all of the structs in question would
	still be unusably broken, so the API churn would be pointless.

svn path=/trunk/gtk-sharp/; revision=48387
2005-08-15 15:15:57 +00:00

254 lines
12 KiB
XML

<Type Name="GlyphString" FullName="Pango.GlyphString">
<TypeSignature Language="C#" Maintainer="auto" Value="public class GlyphString : GLib.Opaque" />
<AssemblyInfo>
<AssemblyName>pango-sharp</AssemblyName>
<AssemblyPublicKey>
</AssemblyPublicKey>
<AssemblyVersion>2.6.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>Used to store strings of glyphs with geometry and visual attribute information.</summary>
<remarks />
</Docs>
<Base>
<BaseTypeName>GLib.Opaque</BaseTypeName>
</Base>
<Interfaces />
<Members>
<Member MemberName="Zero">
<MemberSignature Language="C#" Value="public static Pango.GlyphString Zero;" />
<MemberType>Field</MemberType>
<Attributes>
<Attribute>
<AttributeName>System.Obsolete(Message="Pango.GlyphString is a reference type now, use null", IsError=False)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Pango.GlyphString</ReturnType>
</ReturnValue>
<Docs>
<summary>Obsolete: just use <see langword="null" /> now.</summary>
<remarks />
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public GlyphString ();" />
<MemberType>Constructor</MemberType>
<Parameters />
<Docs>
<summary>Creates a new <see cref="T:Pango.GlyphString" /> object.</summary>
<remarks />
</Docs>
</Member>
<Member MemberName="New">
<MemberSignature Language="C#" Value="public static Pango.GlyphString New ();" />
<MemberType>Method</MemberType>
<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=".ctor">
<MemberSignature Language="C#" Value="public GlyphString (IntPtr raw);" />
<MemberType>Constructor</MemberType>
<Parameters>
<Parameter Name="raw" Type="System.IntPtr" />
</Parameters>
<Docs>
<summary>Internal method</summary>
<param name="raw">an object of type <see cref="T:System.IntPtr" /></param>
<remarks>This is an internal method, and should not be used by user code.</remarks>
</Docs>
</Member>
<Member MemberName="New">
<MemberSignature Language="C#" Value="public static Pango.GlyphString New (IntPtr raw);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>Pango.GlyphString</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="raw" Type="System.IntPtr" />
</Parameters>
<Docs>
<summary>Obsolete internal constructor</summary>
<param name="raw">an object of type <see cref="T:System.IntPtr" /></param>
<returns>a <see cref="T:Pango.GlyphString" /> object.</returns>
<remarks />
</Docs>
</Member>
<Member MemberName="Copy">
<MemberSignature Language="C#" Value="public Pango.GlyphString Copy ();" />
<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);" />
<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>
<summary>Computes the logical and ink extents of this glyph string.</summary>
<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>
<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);" />
<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>
<summary>Computes the logical and ink extents of a sub-section of this glyph string.</summary>
<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>
<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="Size">
<MemberSignature Language="C#" Value="public int Size { set; };" />
<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="XToIndex">
<MemberSignature Language="C#" Value="public void XToIndex (string text, Pango.Analysis analysis, int x_pos, out int index_, out int trailing);" />
<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>
<summary>Convert from x offset to character position.</summary>
<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>
<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="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:Pango.GlyphString" />.</remarks>
</Docs>
</Member>
<Member MemberName="NumGlyphs">
<MemberSignature Language="C#" Value="public int NumGlyphs { set; get; };" />
<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="IndexToX">
<MemberSignature Language="C#" Value="public int IndexToX (string text, Pango.Analysis analysis, int index_, bool trailing);" />
<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>
<summary>Convert from character position to X position.</summary>
<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>
<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>
<returns>To be added.</returns>
</Docs>
</Member>
<Member MemberName="GetLogicalWidths">
<MemberSignature Language="C#" Value="public int GetLogicalWidths (string text, int embedding_level);" />
<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>
<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>
<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>
<returns>a <see cref="T:System.Int32" />, a pointer to an array of logical widths for each character.</returns>
<remarks />
</Docs>
</Member>
</Members>
</Type>