mirror of
https://github.com/Ryujinx/GtkSharp.git
synced 2024-12-25 03:05:39 +00:00
Removing the old doc stuff
svn path=/trunk/gtk-sharp/; revision=11503
This commit is contained in:
parent
23747622f0
commit
a5f48e2588
15
doc/README
15
doc/README
|
@ -1,15 +0,0 @@
|
|||
This is the makeshift doc generator until NDoc works.
|
||||
Stylistic matters are of very little concern, but the docs should
|
||||
still be XHTML conformant.
|
||||
|
||||
The build system is multi-stage, it effectively works like this:
|
||||
* Original docs (built by mcs for now): glib-sharp-docs.xml, ...
|
||||
* netdoc_pp.pl preprocesses these into a cleaner format:
|
||||
glib-sharp-docs-stage1.xml, ...
|
||||
* introspect.exe adds type information from the assembly at hand:
|
||||
glib-sharp-docs-stage2.xml, ...
|
||||
* netdoc.xsl (via xsltproc) translates this xml file into XHTML:
|
||||
glib-sharp-docs.html
|
||||
|
||||
Plans for the future are listed in TODO.
|
||||
|
23
doc/TODO
23
doc/TODO
|
@ -1,23 +0,0 @@
|
|||
Short-term within the doc scripts:
|
||||
* Determine why some properties are not listing their types properly.
|
||||
(see: introspect.cs:160)
|
||||
* In introspect.cs, import introspection functions from gobject, use these
|
||||
to retrieve things like enum field descriptions
|
||||
* have makefile.win32 reference the csc-generated docs instead
|
||||
of the local copies stored here (since mcs doesn't generate docs)
|
||||
* generate summary page(s)
|
||||
|
||||
Short-term within gtksharp/generator/codegen.exe:
|
||||
* Once struct and boxed field generation is working again,
|
||||
generate docs for these fields.
|
||||
|
||||
Long-term:
|
||||
* Per Arneng has written an HTML generator for the ECMA doc format
|
||||
that looks very nice. We may want to use this format for stage 1 & 2
|
||||
and use his generator instead of the XSLT step.
|
||||
The generator is at: http://hus11.rsn.bth.se/~pure/sharpdoc.tar.gz
|
||||
* Get NDoc working and use that instead:
|
||||
* on windows, NDoc breaks because there are no dllimport-compatible
|
||||
windows dlls for gtk+/glib/etc.
|
||||
* on linux, I'm not even sure if NDoc compiles yet. Also, mcs does
|
||||
not generate doc.xml files yet.
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,519 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>glib-sharp</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:GtkSharp.SignalCallback">
|
||||
<summary>
|
||||
SignalCallback Class
|
||||
</summary>
|
||||
<remarks>
|
||||
Base Class for GSignal to C# event marshalling.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GtkSharp.SignalCallback.#ctor(GLib.Object,System.EventHandler)">
|
||||
<summary>
|
||||
SignalCallback Constructor
|
||||
</summary>
|
||||
<remarks>
|
||||
Initializes instance data.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:GLib.Boxed">
|
||||
<summary>
|
||||
Boxed Class
|
||||
</summary>
|
||||
<remarks>
|
||||
An abstract base class to derive structures and marshal them.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Boxed.#ctor(System.IntPtr)">
|
||||
<summary>
|
||||
Boxed Constructor
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Constructs a Boxed type from a raw ref.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Boxed.FromNative(System.IntPtr)">
|
||||
<summary>
|
||||
FromNative Method
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Gets a Boxed type from a raw IntPtr.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:GLib.Boxed.Handle">
|
||||
<summary>
|
||||
Handle Property
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Gets a marshallable IntPtr.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:GLib.Boxed.Raw">
|
||||
<summary>
|
||||
Raw Property
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Gets or sets a marshallable IntPtr.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:GtkSharp.SignalArgs">
|
||||
<summary>
|
||||
SignalArgs Class
|
||||
</summary>
|
||||
<remarks>
|
||||
Arguments and return value for signals.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GtkSharp.SignalArgs.#ctor">
|
||||
<summary>
|
||||
SignalArgs Constructor
|
||||
</summary>
|
||||
<remarks>
|
||||
Creates a SignalArgs object with no return value and
|
||||
no arguments.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GtkSharp.SignalArgs.#ctor(System.Object)">
|
||||
<summary>
|
||||
SignalArgs Constructor
|
||||
</summary>
|
||||
<remarks>
|
||||
Creates a SignalArgs object with a return value and
|
||||
no arguments.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GtkSharp.SignalArgs.#ctor(System.Object,System.Object[])">
|
||||
<summary>
|
||||
SignalArgs Constructor
|
||||
</summary>
|
||||
<remarks>
|
||||
Creates a SignalArgs object with a return value and
|
||||
a list of arguments.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:GtkSharp.SignalArgs.Args">
|
||||
<summary>
|
||||
Args Property
|
||||
</summary>
|
||||
<remarks>
|
||||
A list of arguments.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:GtkSharp.SignalArgs.RetVal">
|
||||
<summary>
|
||||
RetVal Property
|
||||
</summary>
|
||||
<remarks>
|
||||
The return value.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:GLib.TimeoutHandler">
|
||||
<summary>
|
||||
TimeoutHandler Delegate
|
||||
</summary>
|
||||
<remarks>
|
||||
Delegate used for Timeouts in the GLib main loop. Return
|
||||
true to restart the timeout. Returning false clears the
|
||||
timeout.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:GLib.Timeout">
|
||||
<summary>
|
||||
Timeout Class
|
||||
</summary>
|
||||
<remarks>
|
||||
Allows the installation of Timeout Handlers on the GLib main
|
||||
loop.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:GLib.TypeFundamentals">
|
||||
<summary>
|
||||
TypeFundamentals enumeration
|
||||
</summary>
|
||||
<remarks>
|
||||
The built-in types available in GLib.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:GLib.Object">
|
||||
<summary>
|
||||
Object Class
|
||||
</summary>
|
||||
<remarks>
|
||||
Wrapper class for GObject.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Object.GetObject(System.IntPtr)">
|
||||
<summary>
|
||||
GetObject Shared Method
|
||||
</summary>
|
||||
<remarks>
|
||||
Used to obtain a CLI typed object associated with a
|
||||
given raw object pointer. This method is primarily
|
||||
used to wrap object references that are returned
|
||||
by either the signal system or raw class methods that
|
||||
return GObject references.
|
||||
</remarks>
|
||||
<returns>
|
||||
The wrapper instance.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:GLib.Object.#ctor">
|
||||
<summary>
|
||||
Object Constructor
|
||||
</summary>
|
||||
<remarks>
|
||||
Dummy constructor needed for derived classes.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Object.#ctor(System.IntPtr)">
|
||||
<summary>
|
||||
Object Constructor
|
||||
</summary>
|
||||
<remarks>
|
||||
Creates an object from a raw object reference.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Object.Equals(System.Object)">
|
||||
<summary>
|
||||
Equals Method
|
||||
</summary>
|
||||
<remarks>
|
||||
Checks equivalence of two Objects.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Object.GetHashCode">
|
||||
<summary>
|
||||
GetHashCode Method
|
||||
</summary>
|
||||
<remarks>
|
||||
Calculates a hashing value.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Object.GetData(System.String)">
|
||||
<summary>
|
||||
GetData Method
|
||||
</summary>
|
||||
<remarks>
|
||||
Accesses arbitrary data storage on the Object.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Object.SetData(System.String,System.Object)">
|
||||
<summary>
|
||||
SetData Method
|
||||
</summary>
|
||||
<remarks>
|
||||
Stores arbitrary data on the Object.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Object.GetProperty(System.String,GLib.Value)">
|
||||
<summary>
|
||||
GetProperty Method
|
||||
</summary>
|
||||
<remarks>
|
||||
Accesses a Value Property.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Object.SetProperty(System.String,GLib.Value)">
|
||||
<summary>
|
||||
SetProperty Method
|
||||
</summary>
|
||||
<remarks>
|
||||
Accesses a Value Property.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:GLib.Object.Raw">
|
||||
<summary>
|
||||
Raw Property
|
||||
</summary>
|
||||
<remarks>
|
||||
The raw GObject reference associated with this wrapper.
|
||||
Only subclasses of Object can access this read/write
|
||||
property. For public read-only access, use the
|
||||
Handle property.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:GLib.Object.Handle">
|
||||
<summary>
|
||||
Handle Property
|
||||
</summary>
|
||||
<remarks>
|
||||
The raw GObject reference associated with this object.
|
||||
Subclasses can use Raw property for read/write
|
||||
access.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:GLib.Object.EventList">
|
||||
<summary>
|
||||
EventList Property
|
||||
</summary>
|
||||
<remarks>
|
||||
A list object containing all the events for this
|
||||
object indexed by the Gtk+ signal name.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:GLib.SList">
|
||||
<summary>
|
||||
SList Class
|
||||
</summary>
|
||||
<remarks>
|
||||
Wrapper class for GSList.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:GLib.SList.Handle">
|
||||
<summary>
|
||||
Handle Property
|
||||
</summary>
|
||||
<remarks>
|
||||
A raw GSList reference for marshaling situations.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:GLib.Value">
|
||||
<summary>
|
||||
Value Class
|
||||
</summary>
|
||||
<remarks>
|
||||
An arbitrary data type similar to a CORBA Any which is used
|
||||
to get and set properties on Objects.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.#ctor(System.IntPtr,System.String)">
|
||||
<summary>
|
||||
Value Constructor
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Constructs a Value corresponding to the type of the
|
||||
specified property.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.#ctor(System.Boolean)">
|
||||
<summary>
|
||||
Value Constructor
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Constructs a Value from a specified boolean.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.#ctor(GLib.Boxed)">
|
||||
<summary>
|
||||
Value Constructor
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Constructs a Value from a specified boxed type.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.#ctor(System.Double)">
|
||||
<summary>
|
||||
Value Constructor
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Constructs a Value from a specified double.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.#ctor(System.Single)">
|
||||
<summary>
|
||||
Value Constructor
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Constructs a Value from a specified float.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.#ctor(System.Int32)">
|
||||
<summary>
|
||||
Value Constructor
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Constructs a Value from a specified integer.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.#ctor(GLib.Object)">
|
||||
<summary>
|
||||
Value Constructor
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Constructs a Value from a specified object.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.#ctor(System.IntPtr)">
|
||||
<summary>
|
||||
Value Constructor
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Constructs a Value from a specified pointer.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.#ctor(System.String)">
|
||||
<summary>
|
||||
Value Constructor
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Constructs a Value from a specified string.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.#ctor(System.UInt32)">
|
||||
<summary>
|
||||
Value Constructor
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Constructs a Value from a specified uint.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.#ctor(System.IntPtr,System.String,GLib.EnumWrapper)">
|
||||
<summary>
|
||||
Value Constructor
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Constructs a Value from a specified enum wrapper.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.op_Explicit(GLib.Value)~System.Boolean">
|
||||
<summary>
|
||||
Value to Boolean Conversion
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Extracts a bool from a Value. Note, this method
|
||||
will produce an exception if the Value does not hold a
|
||||
boolean value.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.op_Explicit(GLib.Value)~GLib.Boxed">
|
||||
<summary>
|
||||
Value to Boxed Conversion
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Extracts a boxed type from a Value. Note, this method
|
||||
will produce an exception if the Value does not hold a
|
||||
boxed type value.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.op_Explicit(GLib.Value)~System.Double">
|
||||
<summary>
|
||||
Value to Double Conversion
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Extracts a double from a Value. Note, this method
|
||||
will produce an exception if the Value does not hold a
|
||||
double value.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.op_Explicit(GLib.Value)~System.Single">
|
||||
<summary>
|
||||
Value to Float Conversion
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Extracts a float from a Value. Note, this method
|
||||
will produce an exception if the Value does not hold a
|
||||
float value.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.op_Explicit(GLib.Value)~System.Int32">
|
||||
<summary>
|
||||
Value to Integer Conversion
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Extracts an int from a Value. Note, this method
|
||||
will produce an exception if the Value does not hold a
|
||||
integer value.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.op_Explicit(GLib.Value)~GLib.Object">
|
||||
<summary>
|
||||
Value to Object Conversion
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Extracts an object from a Value. Note, this method
|
||||
will produce an exception if the Value does not hold a
|
||||
object value.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.op_Explicit(GLib.Value)~GLib.UnwrappedObject">
|
||||
<summary>
|
||||
Value to Unresolved Object Conversion
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Extracts an object from a Value without looking up its wrapping
|
||||
class.
|
||||
Note, this method will produce an exception if the Value does
|
||||
not hold a object value.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.op_Explicit(GLib.Value)~System.IntPtr">
|
||||
<summary>
|
||||
Value to Pointer Conversion
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Extracts a pointer from a Value. Note, this method
|
||||
will produce an exception if the Value does not hold a
|
||||
pointer value.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.op_Explicit(GLib.Value)~System.String">
|
||||
<summary>
|
||||
Value to String Conversion
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Extracts a string from a Value. Note, this method
|
||||
will produce an exception if the Value does not hold a
|
||||
string value.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.op_Explicit(GLib.Value)~System.UInt32">
|
||||
<summary>
|
||||
Value to Unsigned Integer Conversion
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Extracts an uint from a Value. Note, this method
|
||||
will produce an exception if the Value does not hold a
|
||||
unsigned integer value.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:GLib.Value.op_Explicit(GLib.Value)~GLib.EnumWrapper">
|
||||
<summary>
|
||||
Value to Enum Conversion
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Extracts an enum from a Value. Note, this method
|
||||
will produce an exception if the Value does not hold an
|
||||
enum value.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:GLib.Value.Handle">
|
||||
<summary>
|
||||
Handle Property
|
||||
</summary>
|
||||
|
||||
<remarks>
|
||||
Read only. Accesses a pointer to the raw GValue.
|
||||
</remarks>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
11414
doc/gtk-sharp-docs.xml
11414
doc/gtk-sharp-docs.xml
File diff suppressed because it is too large
Load diff
|
@ -1,18 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
<title>Gtk# documentation</title>
|
||||
</head>
|
||||
<body>
|
||||
Documentation on the following assemblies is available:
|
||||
<ul><a href="glib-sharp-docs.html">glib</a></ul>
|
||||
<ul><a href="atk-sharp-docs.html">atk</a></ul>
|
||||
<ul><a href="pango-sharp-docs.html">pango</a></ul>
|
||||
<ul><a href="gdk-sharp-docs.html">gdk</a></ul>
|
||||
<ul><a href="gtk-sharp-docs.html">gtk</a></ul>
|
||||
<ul><a href="gnome-sharp-docs.html">gnome</a></ul>
|
||||
<p align="right"><i>Last updated Wednesday, June 25 2002</i></p>
|
||||
<p align="right"><i>Rachel Hestilow <a href="mailto:hestilow@ximian.com">(hestilow at ximian.com)</a></i></p>
|
||||
</body>
|
||||
</html>
|
|
@ -1,301 +0,0 @@
|
|||
// introspect.cs: Add introspectable information to a docs file.
|
||||
//
|
||||
// Author: Rachel Hestilow <hestilow@ximian.com>
|
||||
//
|
||||
// (c) 2002 Rachel Hestilow
|
||||
|
||||
namespace GtkSharp.DocGeneration {
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Xml;
|
||||
|
||||
public class Introspect {
|
||||
Hashtable assemblies = new Hashtable ();
|
||||
Hashtable primitives = new Hashtable ();
|
||||
XmlDocument doc;
|
||||
string current_ns;
|
||||
|
||||
public Introspect (XmlDocument doc) {
|
||||
this.doc = doc;
|
||||
primitives["System.Boolean"] = "bool";
|
||||
primitives["System.Byte"] = "byte";
|
||||
primitives["System.Char"] = "char";
|
||||
primitives["System.Decimal"] = "decimal";
|
||||
primitives["System.Double"] = "double";
|
||||
primitives["System.Int16"] = "int16";
|
||||
primitives["System.Int32"] = "int";
|
||||
primitives["System.Int64"] = "int64";
|
||||
primitives["System.Object"] = "object";
|
||||
primitives["System.SByte"] = "sbyte";
|
||||
primitives["System.Single"] = "single";
|
||||
primitives["System.String"] = "string";
|
||||
primitives["System.UInt16"] = "uint16";
|
||||
primitives["System.UInt32"] = "uint";
|
||||
primitives["System.UInt64"] = "uint64";
|
||||
primitives["System.Void"] = "void";
|
||||
|
||||
/* FIXME: mcs does not support Assembly.GetReferencedAssemblies*/
|
||||
foreach (string asm in new string[] {"glib", "atk", "pango", "gdk", "gtk", "gnome"}) {
|
||||
string key = asm + "-sharp";
|
||||
assemblies[key] = Assembly.Load (key);
|
||||
}
|
||||
}
|
||||
|
||||
public Type LookupType (string typename)
|
||||
{
|
||||
foreach (Assembly assembly in assemblies.Values) {
|
||||
Type type = assembly.GetType (typename);
|
||||
if (type != null)
|
||||
return type;
|
||||
}
|
||||
return Type.GetType (typename);
|
||||
}
|
||||
|
||||
public string StringifyType (Type type)
|
||||
{
|
||||
string full = type.ToString ();
|
||||
bool isArray;
|
||||
if (full.EndsWith ("[]")) {
|
||||
full = full.Substring (0, full.Length - 2);
|
||||
isArray = true;
|
||||
} else
|
||||
isArray = false;
|
||||
|
||||
if (type.IsArray) Console.WriteLine ("hi " + full);
|
||||
if (primitives.Contains (full)) {
|
||||
string ret = (string) primitives[full];
|
||||
if (isArray || type.IsArray) ret += "[]";
|
||||
return ret;
|
||||
} else {
|
||||
if (String.Compare (full, 0, current_ns, 0, current_ns.Length) == 0) {
|
||||
full = full.Substring (current_ns.Length + 1);
|
||||
}
|
||||
return full;
|
||||
}
|
||||
}
|
||||
|
||||
public void FixArgs (XmlElement method_node, Type type, Assembly asm, string method_name, string orig, bool isCtor)
|
||||
{
|
||||
XmlNode args_node = doc.CreateNode ("element", "arguments", "");
|
||||
method_node.AppendChild (args_node);
|
||||
|
||||
if (orig == "") return;
|
||||
string[] args = orig.Split (',');
|
||||
Type[] signature = new Type[args.Length];
|
||||
|
||||
int i = 0;
|
||||
foreach (string arg in args) {
|
||||
string fix = arg.Trim ('@');
|
||||
signature[i] = LookupType (fix);
|
||||
i++;
|
||||
}
|
||||
|
||||
MethodBase method = null;
|
||||
MethodBase[] methods;
|
||||
|
||||
if (isCtor)
|
||||
{
|
||||
MemberInfo[] bases = type.FindMembers (MemberTypes.Constructor | MemberTypes.Method, BindingFlags.Public | BindingFlags.Instance, Type.FilterName, ".ctor");
|
||||
ArrayList ctors = new ArrayList ();
|
||||
foreach (MemberInfo info in bases) {
|
||||
if (info.MemberType == MemberTypes.Constructor)
|
||||
ctors.Add (info);
|
||||
}
|
||||
methods = new MethodBase[ctors.Count];
|
||||
ctors.CopyTo (methods);
|
||||
}
|
||||
else
|
||||
methods = type.GetMethods ();
|
||||
|
||||
foreach (MethodBase m in methods) {
|
||||
if (m.GetParameters () == null)
|
||||
continue;
|
||||
if (m.Name != method_name)
|
||||
continue;
|
||||
if (m.GetParameters ().Length != signature.Length)
|
||||
continue;
|
||||
bool valid = true;
|
||||
for (i = 0; i < signature.Length; i++) {
|
||||
// FIXME: cludge
|
||||
string t1 = m.GetParameters ()[i].ParameterType.FullName;
|
||||
t1 = t1.Trim ('&');
|
||||
if (t1 != signature[i].FullName) {
|
||||
valid = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!valid) continue;
|
||||
method = m;
|
||||
break;
|
||||
}
|
||||
|
||||
i = 0;
|
||||
foreach (ParameterInfo p in method.GetParameters ()) {
|
||||
string modifiers = "";
|
||||
// FIXME: another mono bug...this is always false
|
||||
if (p.IsOut || p.IsRetval)
|
||||
modifiers += "out ";
|
||||
XmlElement arg_node = (XmlElement) doc.CreateNode ("element", "argument", "");
|
||||
args_node.AppendChild (arg_node);
|
||||
arg_node.SetAttribute ("modifiers", modifiers);
|
||||
if (p.ParameterType.IsArray) { Console.WriteLine (p.ParameterType); }
|
||||
arg_node.SetAttribute ("type", StringifyType (p.ParameterType));
|
||||
arg_node.SetAttribute ("name", p.Name);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
public void FixProperty (XmlElement prop, Assembly asm, Type type)
|
||||
{
|
||||
PropertyInfo[] props = type.GetProperties (BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance);
|
||||
string prop_name = prop.GetAttribute ("name");
|
||||
|
||||
PropertyInfo pinfo = null;
|
||||
foreach (PropertyInfo i in props) {
|
||||
if (i.Name == prop_name) {
|
||||
pinfo = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// FIXME: mono bug: why is PropertyType sometimes null?
|
||||
if (pinfo.PropertyType != null)
|
||||
prop.SetAttribute ("type", StringifyType (pinfo.PropertyType));
|
||||
else
|
||||
prop.SetAttribute ("type", "[unknown]");
|
||||
}
|
||||
|
||||
public void FixMethod (XmlElement method, Assembly asm, Type type)
|
||||
{
|
||||
MethodInfo[] methods = type.GetMethods (BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance);
|
||||
string method_name = method.GetAttribute ("name");
|
||||
string op = "op_Explicit -> ";
|
||||
|
||||
if (String.Compare (method_name, 0, op, 0, op.Length) == 0) {
|
||||
method.SetAttribute ("type", StringifyType (LookupType (method_name.Substring (op.Length))));
|
||||
method.SetAttribute ("name", "op_Explicit");
|
||||
return;
|
||||
}
|
||||
|
||||
FixArgs (method, type, asm, method_name, method.GetAttribute ("args"), false);
|
||||
|
||||
MethodInfo minfo = null;
|
||||
foreach (MethodInfo i in methods) {
|
||||
if (i.Name == method_name) {
|
||||
minfo = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
method.SetAttribute ("type", StringifyType (minfo.ReturnType));
|
||||
}
|
||||
|
||||
public void FixConstructor (XmlElement method, Assembly asm, Type type)
|
||||
{
|
||||
string method_name = method.GetAttribute ("name");
|
||||
|
||||
FixArgs (method, type, asm, ".ctor", method.GetAttribute ("args"), true);
|
||||
}
|
||||
|
||||
public bool BaseClassImplements (Type type, Type target)
|
||||
{
|
||||
if (type.BaseType == Type.GetType ("System.Object"))
|
||||
return false;
|
||||
foreach (Type iface in type.BaseType.GetInterfaces ()) {
|
||||
if (iface == target)
|
||||
return true;
|
||||
}
|
||||
|
||||
return BaseClassImplements (type.BaseType, target);
|
||||
}
|
||||
|
||||
public void FixClass (XmlElement klass, string ns)
|
||||
{
|
||||
current_ns = ns;
|
||||
string asm = klass.GetAttribute ("assembly");
|
||||
Assembly assembly;
|
||||
if (assemblies.Contains (asm))
|
||||
assembly = (Assembly) assemblies[asm];
|
||||
else {
|
||||
assembly = Assembly.Load (asm);
|
||||
assemblies[asm] = assembly;
|
||||
}
|
||||
|
||||
Type type = LookupType (ns + "." + klass.GetAttribute ("name"));
|
||||
if (type.BaseType != null && type.BaseType != Type.GetType ("System.Object") && type.BaseType != Type.GetType ("System.Enum"))
|
||||
klass.SetAttribute ("base", StringifyType (type.BaseType));
|
||||
|
||||
Type[] unfiltered = type.GetInterfaces ();
|
||||
ArrayList ifaces = new ArrayList ();
|
||||
if (unfiltered != null && unfiltered.Length > 0) {
|
||||
foreach (Type iface in unfiltered) {
|
||||
if (type.BaseType == null || !BaseClassImplements (type, iface))
|
||||
ifaces.Add (iface);
|
||||
}
|
||||
}
|
||||
|
||||
if (ifaces.Count > 0) {
|
||||
XmlNode implements = doc.CreateNode ("element", "implements", "");
|
||||
klass.AppendChild (implements);
|
||||
foreach (Type iface in ifaces) {
|
||||
XmlNode iface_node = doc.CreateNode ("element", "interface", "");
|
||||
implements.AppendChild (iface_node);
|
||||
XmlText text = (XmlText) doc.CreateNode ("text", "", "");
|
||||
text.Value = StringifyType (iface);
|
||||
iface_node.AppendChild (text);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (XmlNode member in klass.ChildNodes) {
|
||||
switch (member.Name) {
|
||||
case "property":
|
||||
FixProperty ((XmlElement) member, assembly, type);
|
||||
break;
|
||||
case "method":
|
||||
FixMethod ((XmlElement) member, assembly, type);
|
||||
break;
|
||||
case "constructor":
|
||||
FixConstructor ((XmlElement) member, assembly, type);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static int Main (string[] args)
|
||||
{
|
||||
if (args.Length != 2) {
|
||||
Console.WriteLine ("usage: introspect <infile> <outfile>");
|
||||
return 0;
|
||||
}
|
||||
|
||||
XmlDocument doc = new XmlDocument ();
|
||||
try {
|
||||
doc.Load (args[0]);
|
||||
} catch (XmlException e) {
|
||||
Console.WriteLine ("Failed to load {0}", args[0]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
Introspect introspector = new Introspect (doc);
|
||||
|
||||
XmlElement root = doc.DocumentElement;
|
||||
foreach (XmlNode ns in root.ChildNodes) {
|
||||
if (ns.Name != "namespace") continue;
|
||||
|
||||
XmlElement ns_elem = (XmlElement) ns;
|
||||
foreach (XmlNode klass in ns.ChildNodes) {
|
||||
if (klass.Name != "class") continue;
|
||||
introspector.FixClass ((XmlElement) klass, ns_elem.GetAttribute ("name"));
|
||||
}
|
||||
}
|
||||
|
||||
FileStream stream = new FileStream (args[1], FileMode.Create, FileAccess.Write);
|
||||
doc.Save (stream);
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
10
doc/makefile
10
doc/makefile
|
@ -1,10 +0,0 @@
|
|||
include makefile.common
|
||||
|
||||
MCS=mcs
|
||||
RUNTIME=mono
|
||||
|
||||
$(stage2_files): %stage2.xml: %stage1.xml introspect.exe
|
||||
$(RUNTIME) introspect.exe $< $@
|
||||
|
||||
introspect.exe: introspect.cs
|
||||
$(MCS) -o introspect.exe -r System.Xml introspect.cs
|
|
@ -1,20 +0,0 @@
|
|||
TARGETS = glib pango atk gdk gtk gnome
|
||||
output_files = $(TARGETS:=-sharp-docs.html)
|
||||
input_files = $(TARGETS:=-sharp-docs.xml)
|
||||
stage1_files = $(TARGETS:=-sharp-docs-stage1.xml)
|
||||
stage2_files = $(TARGETS:=-sharp-docs-stage2.xml)
|
||||
|
||||
all: $(output_files)
|
||||
|
||||
stage1: $(stage1_files)
|
||||
|
||||
clean:
|
||||
rm -f $(output_files) $(stage1_files) $(stage2_files) introspect.exe
|
||||
|
||||
$(stage1_files): %-docs-stage1.xml: %-docs.xml netdoc_pp.pl $(input_files)
|
||||
./netdoc_pp.pl $< > $@
|
||||
|
||||
$(output_files): %.html: %-stage2.xml netdoc.xsl
|
||||
xsltproc netdoc.xsl $< > $@
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
include makefile.common
|
||||
|
||||
ROOT=/cygdrive/$(subst \,/,$(subst :\,/,$(SYSTEMROOT)))
|
||||
CSC=$(ROOT)/microsoft.net/framework/v1.0.3705/csc.exe
|
||||
|
||||
$(stage2_files): %stage2.xml: %stage1.xml introspect.exe
|
||||
./introspect $< $@
|
||||
|
||||
introspect.exe: introspect.cs
|
||||
$(CSC) /out:introspect.exe introspect.cs
|
187
doc/netdoc.xsl
187
doc/netdoc.xsl
|
@ -1,187 +0,0 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:output method="html" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
|
||||
|
||||
<xsl:template match="doc">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head><title><xsl:value-of select="@assembly"/>.dll documentation</title></head>
|
||||
<body>
|
||||
<xsl:apply-templates/>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="namespace">
|
||||
<b><xsl:value-of select="@name"/></b><br />
|
||||
<xsl:apply-templates/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="class">
|
||||
<a><xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute></a>
|
||||
<ul><xsl:value-of select="@name"/>
|
||||
|
||||
<xsl:apply-templates select="summary"/>
|
||||
<xsl:if test="boolean(remarks)">
|
||||
<xsl:apply-templates select="remarks"/>
|
||||
<br />
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="@base != ''">
|
||||
<ul><u>Inherits from:</u><xsl:text> </xsl:text>
|
||||
<xsl:call-template name="maybeLink">
|
||||
<xsl:with-param name="klass">
|
||||
<xsl:value-of select="@base"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</ul>
|
||||
<br />
|
||||
</xsl:if>
|
||||
<xsl:if test="boolean(implements)">
|
||||
<ul><u>Implements</u></ul>
|
||||
<xsl:apply-templates select="./implements"/>
|
||||
<br />
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="boolean(constructor)">
|
||||
<ul><u>Constructors</u></ul>
|
||||
<xsl:apply-templates select="./constructor"/>
|
||||
<br />
|
||||
</xsl:if>
|
||||
<xsl:if test="boolean(method)">
|
||||
<ul><u>Methods</u></ul>
|
||||
<xsl:apply-templates select="./method"/>
|
||||
<br />
|
||||
</xsl:if>
|
||||
<xsl:if test="boolean(property)">
|
||||
<ul><u>Properties</u></ul>
|
||||
<xsl:apply-templates select="./property"/>
|
||||
<br />
|
||||
</xsl:if>
|
||||
<xsl:if test="boolean(event)">
|
||||
<ul><u>Events</u></ul>
|
||||
<xsl:apply-templates select="./event"/>
|
||||
<br />
|
||||
</xsl:if>
|
||||
<xsl:if test="boolean(field)">
|
||||
<ul><u>Fields</u></ul>
|
||||
<xsl:apply-templates select="./field"/>
|
||||
<br />
|
||||
</xsl:if>
|
||||
|
||||
|
||||
</ul>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="constructor">
|
||||
<ul><xsl:value-of select="@name"/> <xsl:apply-templates select="arguments"/><xsl:apply-templates select="summary"/><xsl:apply-templates select="remarks"/></ul>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="method">
|
||||
<ul>
|
||||
<xsl:call-template name="maybeLink">
|
||||
<xsl:with-param name="klass">
|
||||
<xsl:value-of select="@type"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
<xsl:text> </xsl:text><xsl:value-of select="@name"/><xsl:apply-templates select="arguments"/><xsl:apply-templates select="summary"/><xsl:apply-templates select="remarks"/></ul>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="property">
|
||||
<ul>
|
||||
<xsl:call-template name="maybeLink">
|
||||
<xsl:with-param name="klass">
|
||||
<xsl:value-of select="@type"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
<xsl:text> </xsl:text><xsl:value-of select="@name"/><xsl:apply-templates/></ul>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="event|field">
|
||||
<ul><xsl:value-of select="@name"/><xsl:apply-templates/></ul>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="summary">
|
||||
- <font size="-1"><i><xsl:apply-templates/></i></font>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="remarks">
|
||||
<ul><xsl:apply-templates/></ul>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="implements">
|
||||
<ul><xsl:apply-templates/></ul>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="interface">
|
||||
<xsl:call-template name="maybeLink">
|
||||
<xsl:with-param name="klass">
|
||||
<xsl:apply-templates/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
<xsl:text> </xsl:text>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="maybeLink">
|
||||
<xsl:param name="klass"/>
|
||||
<!-- FIXME: handle arrays better -->
|
||||
<xsl:variable name="is_primitive" select="boolean($klass = 'bool' or $klass = 'byte' or $klass = 'char' or $klass = 'decimal' or $klass = 'double' or $klass = 'int16' or $klass = 'int' or $klass = 'int64' or $klass = 'object' or $klass = 'sbyte' or $klass = 'single' or $klass = 'string' or $klass = 'uint16' or $klass = 'uint' or $klass = 'uint64' or $klass = 'void' or contains ($klass, '[]') or $klass = '[unknown]')"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($klass, '.')">
|
||||
<xsl:variable name="ns" select="substring-before ($klass, '.')"/>
|
||||
<xsl:variable name="lcletters">abcdefghijklmnopqrstuvwxyz</xsl:variable>
|
||||
<xsl:variable name="ucletters">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$ns = 'GLib' or $ns = 'Atk' or $ns = 'Pango' or $ns = 'Gdk' or $ns = 'Gtk' or $ns = 'Gnome'">
|
||||
<a><xsl:attribute name="href"><xsl:value-of select="translate($ns, $ucletters, $lcletters)"/>-sharp-docs.html#<xsl:value-of select="substring-after ($klass, '.')"/></xsl:attribute><xsl:value-of select="$klass"/></a>
|
||||
</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$klass"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:when>
|
||||
<xsl:when test="boolean($is_primitive)">
|
||||
<xsl:value-of select="$klass"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<a><xsl:attribute name="href">#<xsl:value-of select="$klass"/></xsl:attribute><xsl:value-of select="$klass"/></a>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="arguments">
|
||||
(<xsl:if test="count(*) != 0">
|
||||
<xsl:call-template name="argument-iteration">
|
||||
<xsl:with-param name="needs_comma" select="boolean(0)"/>
|
||||
<xsl:with-param name="i" select="1"/>
|
||||
<xsl:with-param name="args" select="*"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>)
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="argument-iteration">
|
||||
<xsl:param name="needs_comma"/>
|
||||
<xsl:param name="i"/>
|
||||
<xsl:param name="args"/>
|
||||
<xsl:if test="boolean($needs_comma)"><xsl:text>, </xsl:text></xsl:if>
|
||||
<xsl:apply-templates select="$args[$i]"/>
|
||||
|
||||
<xsl:if test="$i != count($args)">
|
||||
<xsl:call-template name="argument-iteration">
|
||||
<xsl:with-param name="needs_comma" select="boolean(1)"/>
|
||||
<xsl:with-param name="i" select="$i + 1"/>
|
||||
<xsl:with-param name="args" select="$args"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="argument">
|
||||
<xsl:value-of select="@modifiers"/>
|
||||
<xsl:call-template name="maybeLink">
|
||||
<xsl:with-param name="klass">
|
||||
<xsl:value-of select="@type"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
<xsl:text> </xsl:text><xsl:value-of select="@name"/>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
226
doc/netdoc_pp.pl
226
doc/netdoc_pp.pl
|
@ -1,226 +0,0 @@
|
|||
#!/usr/bin/perl -w
|
||||
#
|
||||
# netdoc_pp.pl: .NET documentation preprocessor
|
||||
#
|
||||
# Author: Rachel Hestilow <hestilow@ximian.com>
|
||||
#
|
||||
# <c> 2002 Rachel Hestilow
|
||||
|
||||
die "Usage: netdoc_pp.pl <infile1> ...\n" if not $ARGV[0];
|
||||
use XML::LibXML;
|
||||
|
||||
my $parser = new XML::LibXML;
|
||||
my (%namespaces, $assembly);
|
||||
|
||||
use Class::Struct;
|
||||
struct( Klass => {
|
||||
assembly => '$',
|
||||
ctors => '%',
|
||||
methods => '%',
|
||||
props => '%',
|
||||
events => '%',
|
||||
fields => '%',
|
||||
data => '@',
|
||||
});
|
||||
|
||||
foreach $file (@ARGV) {
|
||||
my $doc = $parser->parse_file ($file);
|
||||
my $node;
|
||||
for ($node = $doc->documentElement->firstChild; $node; $node = $node->nextSibling ()) {
|
||||
if ($node->nodeName eq "assembly") {
|
||||
$assembly = parseAssembly ($node);
|
||||
} elsif ($node->nodeName eq "members") {
|
||||
%namespaces = parseMembers ($node, $assembly);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
generate ($assembly, %namespaces);
|
||||
|
||||
sub parseMembers {
|
||||
my ($members, $assembly) = @_;
|
||||
my %namespaces = ();
|
||||
for ($member = $members->firstChild; $member; $member = $member->nextSibling ()) {
|
||||
next if $member->nodeName ne "member";
|
||||
my @attrs = $member->attributes;
|
||||
my $name = $attrs[0]->value;
|
||||
die "Invalid member $name\n" if not ($name =~ /^([TMPEF]):([\w\.]+)\.([\w\#]+)(\((.*)\))?(\~([\w\.]+))?$/);
|
||||
|
||||
my ($type, $ns, $mname, $args, $op) = ($1, $2, $3, $5, $7);
|
||||
my ($klasses, $klass);
|
||||
my @data = ('', '', '');
|
||||
|
||||
$mname .= " -> $op" if $op;
|
||||
|
||||
if ($type eq 'T') {
|
||||
$klass = Klass->new (assembly => $assembly);
|
||||
if (not $namespaces{$ns}) {
|
||||
$klasses = {};
|
||||
$namespaces{$ns} = $klasses;
|
||||
} else {
|
||||
$klasses = $namespaces{$ns};
|
||||
}
|
||||
${$klasses}{$mname} = $klass;
|
||||
} else {
|
||||
my $klass_name = $ns;
|
||||
if ($ns =~ /(.+)\.(.+)/) {
|
||||
$ns = $1;
|
||||
$klass_name = $2;
|
||||
}
|
||||
if (not $namespaces{$ns}) {
|
||||
$klasses = {};
|
||||
$namespaces{$ns} = $klasses;
|
||||
} else {
|
||||
$klasses = $namespaces{$ns};
|
||||
}
|
||||
$klass = ${$klasses}{$klass_name};
|
||||
if (not $klass) {
|
||||
$klass = Klass->new (assembly => $assembly);
|
||||
${$klasses}{$klass_name} = $klass;
|
||||
}
|
||||
}
|
||||
|
||||
my $subnode;
|
||||
for ($subnode = $member->firstChild; $subnode; $subnode= $subnode->nextSibling ()) {
|
||||
my $ind;
|
||||
if ($subnode->nodeName eq "summary") {
|
||||
$ind = 1;
|
||||
} elsif ($subnode->nodeName eq "remarks") {
|
||||
$ind = 2;
|
||||
} else {
|
||||
next;
|
||||
}
|
||||
|
||||
if ($subnode->textContent) {
|
||||
$data[$ind] = $subnode->textContent;
|
||||
$data[$ind] =~ s/^([\n\s])+//;
|
||||
$data[$ind] =~ s/([\n\s])+$//;
|
||||
}
|
||||
}
|
||||
|
||||
if ($type eq "T") {
|
||||
my $d;
|
||||
foreach $d (@data) {
|
||||
$d = "" if not $d;
|
||||
push @{$klass->data}, $d;
|
||||
}
|
||||
} elsif ($type eq "M") {
|
||||
if ($mname eq "#ctor") {
|
||||
$args = "" if not $args;
|
||||
${$klass->ctors}{$args} = \@data;
|
||||
} else {
|
||||
$args = "" if not $args;
|
||||
$data[0] = $args;
|
||||
${$klass->methods}{$mname} = \@data;
|
||||
}
|
||||
} elsif ($type eq "P") {
|
||||
${$klass->props}{$mname} = \@data;
|
||||
} elsif ($type eq "E") {
|
||||
${$klass->events}{$mname} = \@data;
|
||||
} elsif ($type eq "F") {
|
||||
${$klass->fields}{$mname} = \@data;
|
||||
}
|
||||
}
|
||||
return %namespaces;
|
||||
}
|
||||
|
||||
sub parseAssembly
|
||||
{
|
||||
my ($parent) = @_;
|
||||
for ($node = $parent->firstChild; $node; $node = $node->nextSibling ()) {
|
||||
next if $node->nodeName ne 'name';
|
||||
return $node->textContent;
|
||||
}
|
||||
}
|
||||
|
||||
sub addComments {
|
||||
my ($doc, $node, @data) = @_;
|
||||
if (not ($data[1] =~ /^\s*$/)) {
|
||||
$elem = $doc->createElement ("summary");
|
||||
$node->appendChild ($elem);
|
||||
$elem->appendChild (XML::LibXML::Text->new ($data[1]));
|
||||
}
|
||||
$elem = $doc->createElement ("remarks");
|
||||
$node->appendChild ($elem);
|
||||
$elem->appendChild (XML::LibXML::Text->new ($data[2]));
|
||||
}
|
||||
|
||||
sub generate {
|
||||
my ($asm, %namespaces) = @_;
|
||||
my $doc = XML::LibXML::Document->new ();
|
||||
my $root = $doc->createElement ('doc');
|
||||
$doc->setDocumentElement ($root);
|
||||
|
||||
print STDERR "asm $asm\n";
|
||||
$root->setAttribute ('assembly', $asm);
|
||||
|
||||
my ($ns, $ns_elem);
|
||||
foreach $ns (sort keys %namespaces) {
|
||||
$ns_elem = $doc->createElement ('namespace');
|
||||
$ns_elem->setAttribute ('name', $ns);
|
||||
$root->appendChild ($ns_elem);
|
||||
|
||||
my ($klass_name, $klass, $klass_elem, $klasses);
|
||||
$klasses = $namespaces{$ns};
|
||||
foreach $klass_name (sort keys %$klasses)
|
||||
{
|
||||
$klass = ${$klasses}{$klass_name};
|
||||
$klass_elem = $doc->createElement ('class');
|
||||
$klass_elem->setAttribute ('name', $klass_name);
|
||||
$klass_elem->setAttribute ('assembly', $klass->assembly);
|
||||
|
||||
my ($elem, $ctor, $prop, $method, $event);
|
||||
|
||||
if ($klass->data and @{$klass->data}) {
|
||||
addComments ($doc, $klass_elem, @{$klass->data});
|
||||
}
|
||||
|
||||
foreach $ctor (sort keys %{$klass->ctors}) {
|
||||
$elem = $doc->createElement ('constructor');
|
||||
$elem->setAttribute ('name', $klass_name);
|
||||
$elem->setAttribute ('args', $ctor);
|
||||
my @data = @{${$klass->ctors}{$ctor}};
|
||||
addComments ($doc, $elem, @data);
|
||||
$klass_elem->appendChild ($elem);
|
||||
}
|
||||
|
||||
foreach $method (sort keys %{$klass->methods}) {
|
||||
$elem = $doc->createElement ('method');
|
||||
$method =~ s/\#/\./g;
|
||||
$elem->setAttribute ('name', $method);
|
||||
my @data = @{${$klass->methods}{$method}};
|
||||
$elem->setAttribute ('args', $data[0]);
|
||||
addComments ($doc, $elem, @data);
|
||||
$klass_elem->appendChild ($elem);
|
||||
}
|
||||
|
||||
foreach $prop (sort keys %{$klass->props}) {
|
||||
$elem = $doc->createElement ('property');
|
||||
$elem->setAttribute ('name', $prop);
|
||||
my @data = @{${$klass->props}{$prop}};
|
||||
addComments ($doc, $elem, @data);
|
||||
$klass_elem->appendChild ($elem);
|
||||
}
|
||||
|
||||
foreach $event (sort keys %{$klass->events}) {
|
||||
$elem = $doc->createElement ('event');
|
||||
$elem->setAttribute ('name', $event);
|
||||
my @data = @{${$klass->events}{$event}};
|
||||
addComments ($doc, $elem, @data);
|
||||
$klass_elem->appendChild ($elem);
|
||||
}
|
||||
|
||||
foreach $field (sort keys %{$klass->fields}) {
|
||||
$elem = $doc->createElement ('field');
|
||||
$elem->setAttribute ('name', $field);
|
||||
my @data = @{${$klass->fields}{$field}};
|
||||
addComments ($doc, $elem, @data);
|
||||
$klass_elem->appendChild ($elem);
|
||||
}
|
||||
|
||||
$ns_elem->appendChild ($klass_elem);
|
||||
}
|
||||
}
|
||||
|
||||
print $doc->toString();
|
||||
}
|
|
@ -1,814 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>pango-sharp</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Pango.FontsetSimple">
|
||||
<summary> FontsetSimple Class</summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Fontset">
|
||||
<summary> Fontset Class</summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Fontset.GetFont(System.UInt32)">
|
||||
<summary> GetFont Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Fontset.Metrics">
|
||||
<summary> Metrics Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.FontsetSimple.Size">
|
||||
<summary> Size Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.FontsetSimple.Append(Pango.Font)">
|
||||
<summary> Append Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="T:Pango.XFontCache">
|
||||
<summary> XFontCache Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Layout">
|
||||
<summary> Layout Class</summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Layout.#ctor(Pango.Context)">
|
||||
<summary> Layout Constructor </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Layout.GetLogAttrs(Pango.LogAttr,System.Int32)">
|
||||
<summary> GetLogAttrs Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Layout.IndexToPos(System.Int32,Pango.Rectangle)">
|
||||
<summary> IndexToPos Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Layout.Copy">
|
||||
<summary> Copy Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Layout.SetMarkup(System.String,System.Int32)">
|
||||
<summary> SetMarkup Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Layout.XyToIndex(System.Int32,System.Int32,System.Int32,System.Int32)">
|
||||
<summary> XyToIndex Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Layout.GetExtents(Pango.Rectangle,Pango.Rectangle)">
|
||||
<summary> GetExtents Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Layout.SetText(System.String,System.Int32)">
|
||||
<summary> SetText Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Layout.SetMarkupWithAccel(System.String,System.Int32,System.String,System.String)">
|
||||
<summary> SetMarkupWithAccel Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Layout.GetSize(System.Int32,System.Int32)">
|
||||
<summary> GetSize Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Layout.MoveCursorVisually(System.Boolean,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
|
||||
<summary> MoveCursorVisually Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Layout.GetLine(System.Int32)">
|
||||
<summary> GetLine Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Layout.ContextChanged">
|
||||
<summary> ContextChanged Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Layout.GetPixelSize(System.Int32,System.Int32)">
|
||||
<summary> GetPixelSize Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Layout.GetCursorPos(System.Int32,Pango.Rectangle,Pango.Rectangle)">
|
||||
<summary> GetCursorPos Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Layout.GetPixelExtents(Pango.Rectangle,Pango.Rectangle)">
|
||||
<summary> GetPixelExtents Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Layout.Tabs">
|
||||
<summary> Tabs Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Layout.SingleParagraphMode">
|
||||
<summary> SingleParagraphMode Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Layout.Indent">
|
||||
<summary> Indent Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Layout.Wrap">
|
||||
<summary> Wrap Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Layout.Text">
|
||||
<summary> Text Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Layout.Alignment">
|
||||
<summary> Alignment Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Layout.LineCount">
|
||||
<summary> LineCount Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Layout.Iter">
|
||||
<summary> Iter Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Layout.Lines">
|
||||
<summary> Lines Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Layout.Width">
|
||||
<summary> Width Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Layout.Attributes">
|
||||
<summary> Attributes Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Layout.Context">
|
||||
<summary> Context Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Layout.Justify">
|
||||
<summary> Justify Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Layout.Spacing">
|
||||
<summary> Spacing Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Layout.FontDescription">
|
||||
<summary> FontDescription Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="T:Pango.FontFamily">
|
||||
<summary> FontFamily Class</summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Pango.FontFamily.ListFaces(Pango.FontFace,System.Int32)">
|
||||
<summary> ListFaces Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.FontFamily.Name">
|
||||
<summary> Name Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="T:Pango.OTTableType">
|
||||
<summary> OTTableType enumeration </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.OTTableType.Gsub">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.OTTableType.Gpos">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.FontMap">
|
||||
<summary> FontMap Class</summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Pango.FontMap.ListFamilies(Pango.FontFamily,System.Int32)">
|
||||
<summary> ListFamilies Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.FontMap.LoadFont(Pango.Context,Pango.FontDescription)">
|
||||
<summary> LoadFont Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Win32FontCache">
|
||||
<summary> Win32FontCache Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.FontMask">
|
||||
<summary> FontMask enumeration </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.FontMask.Family">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.FontMask.Style">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.FontMask.Variant">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.FontMask.Weight">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.FontMask.Stretch">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.FontMask.Size">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Variant">
|
||||
<summary> Variant enumeration </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Variant.Normal">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Variant.SmallCaps">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Style">
|
||||
<summary> Style enumeration </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Style.Normal">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Style.Oblique">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Style.Italic">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.IndicScript">
|
||||
<summary> IndicScript Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.LogAttr">
|
||||
<summary> LogAttr Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Item">
|
||||
<summary> Item Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.AttrFontDesc">
|
||||
<summary> AttrFontDesc Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.GlyphGeometry">
|
||||
<summary> GlyphGeometry Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.TabAlign">
|
||||
<summary> TabAlign enumeration </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.TabAlign.Left">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Weight">
|
||||
<summary> Weight enumeration </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Weight.Ultralight">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Weight.Light">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Weight.Normal">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Weight.Bold">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Weight.Ultrabold">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Weight.Heavy">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.GlyphString">
|
||||
<summary> GlyphString Boxed Struct</summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.GlyphInfo">
|
||||
<summary> GlyphInfo Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.GlyphVisAttr">
|
||||
<summary> GlyphVisAttr Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.IntSet">
|
||||
<summary> IntSet Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.LayoutRun">
|
||||
<summary> LayoutRun Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.LayoutIter">
|
||||
<summary> LayoutIter Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Underline">
|
||||
<summary> Underline enumeration </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Underline.None">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Underline.Single">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Underline.Double">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Underline.Low">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.LayoutLine">
|
||||
<summary> LayoutLine Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.MapEntry">
|
||||
<summary> MapEntry Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.IncludedModule">
|
||||
<summary> IncludedModule Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Map">
|
||||
<summary> Map Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.TabArray">
|
||||
<summary> TabArray Boxed Struct</summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Rectangle">
|
||||
<summary> Rectangle Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Stretch">
|
||||
<summary> Stretch enumeration </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Stretch.UltraCondensed">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Stretch.ExtraCondensed">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Stretch.Condensed">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Stretch.SemiCondensed">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Stretch.Normal">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Stretch.SemiExpanded">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Stretch.Expanded">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Stretch.ExtraExpanded">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Stretch.UltraExpanded">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.WrapMode">
|
||||
<summary> WrapMode enumeration </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.WrapMode.Word">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.WrapMode.Char">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Alignment">
|
||||
<summary> Alignment enumeration </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Alignment.Left">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Alignment.Center">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Alignment.Right">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Analysis">
|
||||
<summary> Analysis Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.AttrClass">
|
||||
<summary> AttrClass Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.AttrColor">
|
||||
<summary> AttrColor Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.AttrFloat">
|
||||
<summary> AttrFloat Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.AttrIterator">
|
||||
<summary> AttrIterator Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.AttrInt">
|
||||
<summary> AttrInt Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.AttrLanguage">
|
||||
<summary> AttrLanguage Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.CoverageLevel">
|
||||
<summary> CoverageLevel enumeration </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.CoverageLevel.None">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.CoverageLevel.Fallback">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.CoverageLevel.Approximate">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.CoverageLevel.Exact">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.AttrList">
|
||||
<summary> AttrList Boxed Struct</summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.AttrShape">
|
||||
<summary> AttrShape Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.AttrString">
|
||||
<summary> AttrString Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.AttrType">
|
||||
<summary> AttrType enumeration </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.AttrType.Invalid">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.AttrType.Language">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.AttrType.Family">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.AttrType.Style">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.AttrType.Weight">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.AttrType.Variant">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.AttrType.Stretch">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.AttrType.Size">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.AttrType.FontDesc">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.AttrType.Foreground">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.AttrType.Background">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.AttrType.Underline">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.AttrType.Strikethrough">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.AttrType.Rise">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.AttrType.Shape">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.AttrType.Scale">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Attribute">
|
||||
<summary> Attribute Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Color">
|
||||
<summary> Color Boxed Struct</summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Context">
|
||||
<summary> Context Class</summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Context.#ctor">
|
||||
<summary> Context Constructor </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Context.ListFamilies(Pango.FontFamily,System.Int32)">
|
||||
<summary> ListFamilies Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Context.LoadFont(Pango.FontDescription)">
|
||||
<summary> LoadFont Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Context.BaseDir">
|
||||
<summary> BaseDir Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Context.FontDescription">
|
||||
<summary> FontDescription Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.Context.FontMap">
|
||||
<summary> FontMap Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Coverage">
|
||||
<summary> Coverage Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.EngineRange">
|
||||
<summary> EngineRange Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Direction">
|
||||
<summary> Direction enumeration </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Direction.Ltr">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Direction.Rtl">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Direction.TtbLtr">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="F:Pango.Direction.TtbRtl">
|
||||
<summary />
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Engine">
|
||||
<summary> Engine Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.EngineInfo">
|
||||
<summary> EngineInfo Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.EngineLang">
|
||||
<summary> EngineLang Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.EngineShape">
|
||||
<summary> EngineShape Struct </summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.FontDescription">
|
||||
<summary> FontDescription Boxed Struct</summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.Font">
|
||||
<summary> Font Class</summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Font.Describe">
|
||||
<summary> Describe Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="M:Pango.Font.GetGlyphExtents(System.UInt32,Pango.Rectangle,Pango.Rectangle)">
|
||||
<summary> GetGlyphExtents Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="T:Pango.FontMetrics">
|
||||
<summary> FontMetrics Boxed Struct</summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Pango.FontFace">
|
||||
<summary> FontFace Class</summary>
|
||||
<remarks>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Pango.FontFace.Describe">
|
||||
<summary> Describe Method </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
<member name="P:Pango.FontFace.FaceName">
|
||||
<summary> FaceName Property </summary>
|
||||
<remarks> To be completed </remarks>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
Loading…
Reference in a new issue