GtkSharp/doc/en/Pango/GlyphItem.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

186 lines
8.4 KiB
XML

<Type Name="GlyphItem" FullName="Pango.GlyphItem">
<TypeSignature Language="C#" Maintainer="auto" Value="public struct GlyphItem" />
<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>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>
<Base>
<BaseTypeName>System.ValueType</BaseTypeName>
</Base>
<Interfaces />
<Members>
<Member MemberName="Zero">
<MemberSignature Language="C#" Value="public static 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>
<Member MemberName="New">
<MemberSignature Language="C#" Value="public static Pango.GlyphItem New (IntPtr raw);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>Pango.GlyphItem</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="raw" Type="System.IntPtr" />
</Parameters>
<Docs>
<summary>Internal method</summary>
<param name="raw">a <see cref="T:System.IntPtr" /></param>
<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="Split">
<MemberSignature Language="C#" Value="public Pango.GlyphItem Split (string text, int split_index);" />
<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>
<summary>Splits an Item</summary>
<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>
<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="Glyphs">
<MemberSignature Language="C#" Value="public Pango.GlyphString Glyphs { set; get; };" />
<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="glyphs">
<MemberSignature Language="C#" Value="public Pango.GlyphString glyphs { get; };" />
<MemberType>Property</MemberType>
<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>
<Attributes>
<Attribute>
<AttributeName>System.Obsolete(Message="Replaced by Glyphs property", IsError=False)</AttributeName>
</Attribute>
</Attributes>
</Member>
<Member MemberName="Item">
<MemberSignature Language="C#" Value="public Pango.Item Item { set; get; };" />
<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="item">
<MemberSignature Language="C#" Value="public Pango.Item item { get; };" />
<MemberType>Property</MemberType>
<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>
<Attributes>
<Attribute>
<AttributeName>System.Obsolete(Message="Replaced by Item property", IsError=False)</AttributeName>
</Attribute>
</Attributes>
</Member>
<Member MemberName="ApplyAttrs">
<MemberSignature Language="C#" Value="public Pango.GlyphItem[] ApplyAttrs (string text, Pango.AttrList list);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>Pango.GlyphItem[]</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="text" Type="System.String" />
<Parameter Name="list" Type="Pango.AttrList" />
</Parameters>
<Docs>
<summary>Splits a shaped item (<see cref="T:Pango.GlyphItem" />) into multiple items based on an attribute list.</summary>
<param name="text">a <see cref="T:System.String" /></param>
<param name="list">a <see cref="T:Pango.AttrList" /></param>
<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="Free">
<MemberSignature Language="C#" Value="public void Free ();" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>To be added</summary>
<remarks>To be added</remarks>
<since version="Gtk# 2.6" />
</Docs>
</Member>
<Member MemberName="LetterSpace">
<MemberSignature Language="C#" Value="public void LetterSpace (string text, Pango.LogAttr log_attrs, int letter_spacing);" />
<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>
<summary>To be added</summary>
<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>
<remarks>To be added</remarks>
<since version="Gtk# 2.6" />
</Docs>
</Member>
</Members>
</Type>