[Bind] Process documentation from subdirectories
Instead of using xslt, we now process the documentation in code. This allows us to fix mismatches from e.g. invalid parameter names that sometimes creep in the specs.
This commit is contained in:
parent
22a706e44f
commit
67b0ead68b
13 changed files with 198 additions and 920 deletions
|
@ -299,29 +299,29 @@ namespace Bind
|
|||
if (!docfiles.ContainsKey(docfile))
|
||||
docfile = Settings.FunctionPrefix + f.TrimmedName.TrimEnd(numbers) + ".xml";
|
||||
|
||||
var docs = new List<string>();
|
||||
if (docfiles.ContainsKey(docfile))
|
||||
{
|
||||
docs.AddRange(Processor.ProcessFile(docfiles[docfile]));
|
||||
}
|
||||
if (docs.Count == 0)
|
||||
{
|
||||
docs.Add("/// <summary></summary>");
|
||||
}
|
||||
Documentation docs =
|
||||
(docfiles.ContainsKey(docfile) ?
|
||||
Processor.ProcessFile(docfiles[docfile]) :
|
||||
null) ??
|
||||
new Documentation
|
||||
{
|
||||
Summary = String.Empty,
|
||||
Parameters = f.Parameters.Select(p =>
|
||||
new KeyValuePair<string, string>(p.Name, String.Empty)).ToList()
|
||||
};
|
||||
|
||||
int summary_start = docs[0].IndexOf("<summary>") + "<summary>".Length;
|
||||
string warning = "[deprecated: v{0}]";
|
||||
string category = "[requires: {0}]";
|
||||
if (f.Deprecated)
|
||||
{
|
||||
warning = String.Format(warning, f.DeprecatedVersion);
|
||||
docs[0] = docs[0].Insert(summary_start, warning);
|
||||
docs.Summary = docs.Summary.Insert(0, warning);
|
||||
}
|
||||
|
||||
if (f.Extension != "Core" && !String.IsNullOrEmpty(f.Category))
|
||||
{
|
||||
category = String.Format(category, f.Category);
|
||||
docs[0] = docs[0].Insert(summary_start, category);
|
||||
docs.Summary = docs.Summary.Insert(0, category);
|
||||
}
|
||||
else if (!String.IsNullOrEmpty(f.Version))
|
||||
{
|
||||
|
@ -329,22 +329,23 @@ namespace Bind
|
|||
category = String.Format(category, "v" + f.Version);
|
||||
else
|
||||
category = String.Format(category, "v" + f.Version + " and " + f.Category);
|
||||
docs[0] = docs[0].Insert(summary_start, category);
|
||||
docs.Summary = docs.Summary.Insert(0, category);
|
||||
}
|
||||
|
||||
foreach (var param in f.WrappedDelegate.Parameters)
|
||||
for (int i = 0; i < f.Parameters.Count; i++)
|
||||
{
|
||||
var index = docs.IndexOf("/// <param name=\"" + param.Name +"\">");
|
||||
if (index != -1 && param.ComputeSize != "")
|
||||
var param = f.Parameters[i];
|
||||
if (!String.IsNullOrEmpty(param.ComputeSize))
|
||||
{
|
||||
var compute_size = string.Format("[length: {0}]", param.ComputeSize);
|
||||
docs[index] = docs[index] + compute_size;
|
||||
docs.Parameters[i].Value.Insert(0,
|
||||
String.Format("[length: {0}]", param.ComputeSize));
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var doc in docs)
|
||||
sw.WriteLine("/// <summary>{0}</summary>", docs.Summary);
|
||||
foreach (var p in docs.Parameters)
|
||||
{
|
||||
sw.WriteLine(doc);
|
||||
sw.WriteLine("/// <param name=\"{0}\">{1}</param>", p.Key, p.Value);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
|
|
|
@ -696,29 +696,28 @@ typedef const char* GLstring;
|
|||
if (!docfiles.ContainsKey(docfile))
|
||||
docfile = Settings.FunctionPrefix + f.TrimmedName.TrimEnd(numbers) + ".xml";
|
||||
|
||||
var docs = new List<string>();
|
||||
if (docfiles.ContainsKey(docfile))
|
||||
{
|
||||
docs.AddRange(Processor.ProcessFile(docfiles[docfile]));
|
||||
}
|
||||
if (docs.Count == 0)
|
||||
{
|
||||
docs.Add("/// <summary></summary>");
|
||||
}
|
||||
Documentation docs =
|
||||
(docfiles.ContainsKey(docfile) ?
|
||||
Processor.ProcessFile(docfiles[docfile]) : null) ??
|
||||
new Documentation
|
||||
{
|
||||
Summary = String.Empty,
|
||||
Parameters = f.Parameters.Select(p =>
|
||||
new KeyValuePair<string, string>(p.Name, String.Empty)).ToList()
|
||||
};
|
||||
|
||||
int summary_start = docs[0].IndexOf("<summary>") + "<summary>".Length;
|
||||
string warning = "[deprecated: v{0}]";
|
||||
string category = "[requires: {0}]";
|
||||
if (f.Deprecated)
|
||||
{
|
||||
warning = String.Format(warning, f.DeprecatedVersion);
|
||||
docs[0] = docs[0].Insert(summary_start, warning);
|
||||
docs.Summary = docs.Summary.Insert(0, warning);
|
||||
}
|
||||
|
||||
if (f.Extension != "Core" && !String.IsNullOrEmpty(f.Category))
|
||||
{
|
||||
category = String.Format(category, f.Category);
|
||||
docs[0] = docs[0].Insert(summary_start, category);
|
||||
docs.Summary = docs.Summary.Insert(0, category);
|
||||
}
|
||||
else if (!String.IsNullOrEmpty(f.Version))
|
||||
{
|
||||
|
@ -726,12 +725,26 @@ typedef const char* GLstring;
|
|||
category = String.Format(category, "v" + f.Version);
|
||||
else
|
||||
category = String.Format(category, "v" + f.Version + " and " + f.Category);
|
||||
docs[0] = docs[0].Insert(summary_start, category);
|
||||
docs.Summary = docs.Summary.Insert(0, category);
|
||||
}
|
||||
|
||||
foreach (var doc in docs)
|
||||
for (int i = 0; i < f.WrappedDelegate.Parameters.Count; i++)
|
||||
{
|
||||
sw.WriteLine(doc);
|
||||
var param = f.WrappedDelegate.Parameters[i];
|
||||
if (param.ComputeSize != String.Empty)
|
||||
{
|
||||
docs.Parameters[i].Value.Insert(0,
|
||||
String.Format("[length: {0}]", param.ComputeSize));
|
||||
}
|
||||
}
|
||||
|
||||
sw.Write("/// \brief ");
|
||||
sw.WriteLine(docs.Summary);
|
||||
foreach (var p in docs.Parameters)
|
||||
{
|
||||
sw.Write(@"/// \param ");
|
||||
sw.Write(p.Key);
|
||||
sw.WriteLine(p.Value);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
|
|
|
@ -1,9 +1,17 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Xml;
|
||||
using System.Xml.Linq;
|
||||
using System.Xml.XPath;
|
||||
using System.Xml.Xsl;
|
||||
|
||||
using Bind.Structures;
|
||||
|
||||
namespace Bind
|
||||
{
|
||||
class DocProcessor
|
||||
|
@ -15,11 +23,20 @@ namespace Bind
|
|||
static readonly XslCompiledTransform xslt = new XslCompiledTransform();
|
||||
static readonly XmlReaderSettings settings = new XmlReaderSettings();
|
||||
|
||||
string[] Text;
|
||||
Documentation Cached;
|
||||
string LastFile;
|
||||
|
||||
public DocProcessor(string transform_file)
|
||||
{
|
||||
if (!File.Exists(transform_file))
|
||||
{
|
||||
// If no specific transform file exists
|
||||
// get the generic transform file from
|
||||
// the parent directory
|
||||
var dir = Directory.GetParent(Path.GetDirectoryName(transform_file)).FullName;
|
||||
var file = Path.GetFileName(transform_file);
|
||||
transform_file = Path.Combine(dir, file);
|
||||
}
|
||||
xslt.Load(transform_file);
|
||||
settings.ProhibitDtd = false;
|
||||
settings.XmlResolver = null;
|
||||
|
@ -29,16 +46,22 @@ namespace Bind
|
|||
// found in the <!-- eqn: :--> comments in the docs.
|
||||
// Todo: Some simple MathML tags do not include comments, find a solution.
|
||||
// Todo: Some files include more than 1 function - find a way to map these extra functions.
|
||||
public string[] ProcessFile(string file)
|
||||
public Documentation ProcessFile(string file)
|
||||
{
|
||||
string text;
|
||||
|
||||
if (LastFile == file)
|
||||
return Text;
|
||||
return Cached;
|
||||
|
||||
LastFile = file;
|
||||
text = File.ReadAllText(file);
|
||||
|
||||
text = text
|
||||
.Replace("xml:", String.Empty) // Remove namespaces
|
||||
.Replace("ε", "epsilon") // Fix unrecognized ε entities
|
||||
.Replace("<constant>", "<c>") // Improve output
|
||||
.Replace("</constant>", "</c>");
|
||||
|
||||
Match m = remove_mathml.Match(text);
|
||||
while (m.Length > 0)
|
||||
{
|
||||
|
@ -69,34 +92,42 @@ namespace Bind
|
|||
m = remove_mathml.Match(text);
|
||||
}
|
||||
|
||||
XmlReader doc = null;
|
||||
//XmlReader doc = null;
|
||||
XDocument doc = null;
|
||||
try
|
||||
{
|
||||
// The pure XmlReader is ~20x faster than the XmlTextReader.
|
||||
doc = XmlReader.Create(new StringReader(text), settings);
|
||||
//doc = new XmlTextReader(new StringReader(text));
|
||||
|
||||
using (StringWriter sw = new StringWriter())
|
||||
{
|
||||
xslt.Transform(doc, null, sw);
|
||||
Text = sw.ToString().Split(new char[] { '\r', '\n' },
|
||||
StringSplitOptions.RemoveEmptyEntries);
|
||||
|
||||
// Remove unecessary whitespace
|
||||
// Indentation is handled by BindStreamWriter
|
||||
for (int i = 0; i < Text.Length; i++)
|
||||
{
|
||||
Text[i] = Text[i].Trim();
|
||||
}
|
||||
return Text;
|
||||
}
|
||||
//doc = XmlReader.Create(new StringReader(text), settings);
|
||||
doc = XDocument.Parse(text);
|
||||
Cached = ToInlineDocs(doc);
|
||||
return Cached;
|
||||
}
|
||||
catch (XmlException e)
|
||||
{
|
||||
Console.WriteLine(e.ToString());
|
||||
Console.WriteLine(doc.ToString());
|
||||
return new string[0];
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Documentation ToInlineDocs(XDocument doc)
|
||||
{
|
||||
var inline = new Documentation
|
||||
{
|
||||
Summary =
|
||||
((IEnumerable)doc.XPathEvaluate("//*[name()='refentry']/*[name()='refnamediv']/*[name()='refpurpose']"))
|
||||
.Cast<XElement>().First().Value.Trim(),
|
||||
Parameters =
|
||||
((IEnumerable)doc.XPathEvaluate("*[name()='refentry']/*[name()='refsect1'][@id='parameters']/*[name()='variablelist']/*[name()='varlistentry']"))
|
||||
.Cast<XNode>()
|
||||
.Select(p => new KeyValuePair<string, string>(
|
||||
p.XPathSelectElement("*[name()='term']/*[name()='parameter']").Value.Trim(),
|
||||
p.XPathSelectElement("*[name()='listitem']").Value.Trim()))
|
||||
.ToList()
|
||||
};
|
||||
|
||||
inline.Summary = Char.ToUpper(inline.Summary[0]) + inline.Summary.Substring(1);
|
||||
return inline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ using Enum=Bind.Structures.Enum;
|
|||
namespace Bind.ES
|
||||
{
|
||||
// Generation implementation for OpenGL ES 2.0 and 3.0
|
||||
class ES2Generator : ESGenerator
|
||||
class ES2Generator : Generator
|
||||
{
|
||||
public ES2Generator(Settings settings, string dirName)
|
||||
: base(settings, dirName)
|
||||
|
@ -22,9 +22,17 @@ namespace Bind.ES
|
|||
Settings.DefaultDelegatesFile = "ES20Delegates.cs";
|
||||
Settings.DefaultEnumsFile = "ES20Enums.cs";
|
||||
Settings.DefaultWrappersFile = "ES20.cs";
|
||||
Settings.DefaultDocPath = Path.Combine(
|
||||
Settings.DefaultDocPath, "ES20");
|
||||
|
||||
Profile = "gles2";
|
||||
Version = "2.0";
|
||||
|
||||
// For compatibility with OpenTK 1.0 and Xamarin, generate
|
||||
// overloads using the "All" enum in addition to strongly-typed enums.
|
||||
// This can be disabled by passing "-o:-keep_untyped_enums" as a cmdline parameter.
|
||||
Settings.DefaultCompatibility |= Settings.Legacy.KeepUntypedEnums;
|
||||
Settings.DefaultCompatibility |= Settings.Legacy.UseDllImports;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ using Enum=Bind.Structures.Enum;
|
|||
namespace Bind.ES
|
||||
{
|
||||
// Generation implementation for OpenGL ES 3.0
|
||||
class ES3Generator : ESGenerator
|
||||
class ES3Generator : Generator
|
||||
{
|
||||
public ES3Generator(Settings settings, string dirName)
|
||||
: base(settings, dirName)
|
||||
|
@ -22,9 +22,17 @@ namespace Bind.ES
|
|||
Settings.DefaultDelegatesFile = "ES30Delegates.cs";
|
||||
Settings.DefaultEnumsFile = "ES30Enums.cs";
|
||||
Settings.DefaultWrappersFile = "ES30.cs";
|
||||
Settings.DefaultDocPath = Path.Combine(
|
||||
Settings.DefaultDocPath, "ES30");
|
||||
|
||||
Profile = "gles2"; // The 3.0 spec reuses the gles2 apiname
|
||||
Version = "2.0|3.0";
|
||||
|
||||
// For compatibility with OpenTK 1.0 and Xamarin, generate
|
||||
// overloads using the "All" enum in addition to strongly-typed enums.
|
||||
// This can be disabled by passing "-o:-keep_untyped_enums" as a cmdline parameter.
|
||||
Settings.DefaultCompatibility |= Settings.Legacy.KeepUntypedEnums;
|
||||
Settings.DefaultCompatibility |= Settings.Legacy.UseDllImports;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,6 +22,8 @@ namespace Bind.ES
|
|||
Settings.DefaultDelegatesFile = "ES11Delegates.cs";
|
||||
Settings.DefaultEnumsFile = "ES11Enums.cs";
|
||||
Settings.DefaultWrappersFile = "ES11.cs";
|
||||
Settings.DefaultDocPath = Path.Combine(
|
||||
Settings.DefaultDocPath, "ES20"); // no ES11 docbook sources available
|
||||
|
||||
// Khronos releases a combined 1.0+1.1 specification,
|
||||
// so we cannot distinguish between the two.
|
||||
|
|
|
@ -45,6 +45,8 @@ namespace Bind.GL2
|
|||
Settings.DefaultDelegatesFile = "GL4Delegates.cs";
|
||||
Settings.DefaultEnumsFile = "GL4Enums.cs";
|
||||
Settings.DefaultWrappersFile = "GL4.cs";
|
||||
Settings.DefaultDocPath = Path.Combine(
|
||||
Settings.DefaultDocPath, "GL4");
|
||||
|
||||
Profile = "glcore";
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ using Type=Bind.Structures.Type;
|
|||
|
||||
namespace Bind.GL2
|
||||
{
|
||||
class Generator : IBind
|
||||
abstract class Generator : IBind
|
||||
{
|
||||
#region Fields
|
||||
|
||||
|
@ -82,22 +82,6 @@ namespace Bind.GL2
|
|||
Settings.DelegatesClass = "Delegates";
|
||||
Settings.OutputClass = "GL";
|
||||
|
||||
if (Settings.Compatibility == Settings.Legacy.Tao)
|
||||
{
|
||||
Settings.OutputNamespace = "Tao.OpenGl";
|
||||
Settings.OutputClass = "Gl";
|
||||
}
|
||||
else
|
||||
{
|
||||
// Defaults
|
||||
}
|
||||
|
||||
Settings.DefaultOutputNamespace = "OpenTK.Graphics.OpenGL";
|
||||
Settings.DefaultImportsFile = "GLCore.cs";
|
||||
Settings.DefaultDelegatesFile = "GLDelegates.cs";
|
||||
Settings.DefaultEnumsFile = "GLEnums.cs";
|
||||
Settings.DefaultWrappersFile = "GL.cs";
|
||||
|
||||
Delegates = new DelegateCollection();
|
||||
Enums = new EnumCollection();
|
||||
Wrappers = new FunctionCollection();
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
<WarningLevel>4</WarningLevel>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<DebugType>full</DebugType>
|
||||
<Commandlineparameters>-mode:es30</Commandlineparameters>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
|
@ -227,680 +228,6 @@
|
|||
</None>
|
||||
<None Include="Specifications\ES20\overrides.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glIsTexture.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXCreatePixmap.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glViewport.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXDestroyContext.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluGetTessProperty.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glEvalPoint.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluPerspective.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXDestroyPbuffer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetTexGen.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glVertexPointer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glBlendFuncSeparate.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glNormalPointer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetShader.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluBeginPolygon.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glIsQuery.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glResetHistogram.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXQueryExtensionsString.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glLoadTransposeMatrix.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCompressedTexImage2D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glTexImage2D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glStencilOpSeparate.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glDrawBuffer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glEdgeFlagPointer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glTexCoord.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glMultiDrawElements.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glEnableVertexAttribArray.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXGetProcAddress.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGenBuffers.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXFreeContextEXT.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glFlush.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glClearStencil.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluNextContour.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glListBase.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetColorTableParameter.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glMapBuffer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXDestroyGLXPixmap.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glDrawElements.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glPushMatrix.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glVertexAttribPointer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glMultMatrix.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXGetClientString.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXGetContextIDEXT.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluLookAt.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluBuild3DMipmapLevels.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glDrawRangeElements.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXGetFBConfigAttrib.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glValidateProgram.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetMap.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glUniform.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluPwlCurve.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetPointerv.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXDestroyPixmap.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluUnProject.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glPrioritizeTextures.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCompressedTexSubImage2D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetQueryObject.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXCreateGLXPixmap.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glBufferSubData.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glClearDepth.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetUniform.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glEnable.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCopyColorTable.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glTexImage1D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glPushClientAttrib.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glBindBuffer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glEdgeFlag.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluDeleteTess.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glVertexAttrib.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glFog.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glBeginQuery.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glDrawPixels.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetSeparableFilter.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetConvolutionFilter.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXGetCurrentReadDrawable.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glShaderSource.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glPolygonOffset.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glPushAttrib.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXQueryDrawable.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetMinmax.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluScaleImage.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glLineWidth.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glRotate.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glLight.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glSelectBuffer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glFogCoord.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXGetSelectedEvent.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glStencilMask.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluBuild2DMipmapLevels.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glDepthRange.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glReadBuffer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glDeleteBuffers.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetBufferPointerv.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glClearColor.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glIsBuffer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glTexSubImage1D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXGetCurrentContext.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glIsList.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glBlendEquation.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glHint.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glVertex.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glTexSubImage3D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCopyColorSubTable.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluNurbsCallback.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluNewQuadric.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glUseProgram.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCullFace.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXGetCurrentDisplay.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glSecondaryColor.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glStencilFuncSeparate.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluPickMatrix.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetTexParameter.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glPixelZoom.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluBeginSurface.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetVertexAttribPointerv.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glClearAccum.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glPushName.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluQuadricCallback.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCompileShader.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluDisk.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluCylinder.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glBlendEquationSeparate.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glPassThrough.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glConvolutionFilter2D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glStencilOp.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glScale.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXCreateWindow.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glFogCoordPointer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glWindowPos.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluQuadricTexture.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glAreTexturesResident.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXDestroyWindow.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluTessCallback.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glDrawArrays.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glMinmax.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glArrayElement.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glReadPixels.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetLight.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glTexEnv.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetBufferParameteriv.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glFrontFace.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCopyPixels.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXWaitX.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXQueryContext.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluTessEndPolygon.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glEvalCoord.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glLightModel.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXIsDirect.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glMultiTexCoord.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXUseXFont.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glBindAttribLocation.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glTexImage3D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluQuadricNormals.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glClipPlane.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glIndexPointer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetPixelMap.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXCreateContext.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCreateProgram.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCallLists.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glTexCoordPointer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluDeleteNurbsRenderer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glLogicOp.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glLoadMatrix.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXIntro.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluBuild1DMipmaps.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glIsProgram.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glShadeModel.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glBlendColor.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCallList.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glBegin.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glRenderMode.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXQueryVersion.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glPolygonStipple.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glDeleteQueries.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetTexLevelParameter.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetColorTable.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluBuild2DMipmaps.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glColor.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glAttachShader.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXGetVisualFromFBConfig.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXCreateNewContext.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glBindTexture.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glLoadName.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGenLists.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluNurbsProperty.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glColorMask.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glBufferData.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluQuadricDrawStyle.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetActiveUniform.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glSampleCoverage.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glFeedbackBuffer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCopyTexImage1D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetMaterial.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glNewList.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glNormal.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glPointSize.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGenQueries.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluTessProperty.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glIsShader.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluGetString.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glTexGen.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glDepthMask.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetProgramInfoLog.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluOrtho2D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXChooseFBConfig.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glSeparableFilter2D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glDeleteProgram.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluErrorString.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluNewTess.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluUnProject4.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXChooseVisual.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetHistogram.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glEnableClientState.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluNewNurbsRenderer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXGetFBConfigs.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXSwapBuffers.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glBitmap.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glLineStipple.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetCompressedTexImage.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluBeginTrim.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCopyConvolutionFilter1D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCreateShader.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetHistogramParameter.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluQuadricOrientation.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glFinish.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXQueryExtension.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetString.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCompressedTexImage3D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glStencilFunc.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetShaderSource.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluPartialDisk.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glColorMaterial.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetAttribLocation.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetPolygonStipple.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glScissor.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluTessBeginContour.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetMinmaxParameter.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glClientActiveTexture.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCopyTexSubImage2D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluProject.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glDeleteTextures.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluGetNurbsProperty.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glResetMinmax.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glMapGrid.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluSphere.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glActiveTexture.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXWaitGL.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGet.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glDepthFunc.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glMap2.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluTessVertex.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glBlendFunc.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glMultTransposeMatrix.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glMultiDrawArrays.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glColorTableParameter.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXMakeContextCurrent.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glPointParameter.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glMaterial.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glColorSubTable.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetQueryiv.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCopyConvolutionFilter2D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXCreatePbuffer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glClearIndex.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluTessBeginPolygon.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluBuild1DMipmapLevels.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXGetCurrentDrawable.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glLinkProgram.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluNurbsCallbackDataEXT.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXQueryServerString.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluNurbsCallbackData.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glClear.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glTexSubImage2D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glColorPointer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluBuild3DMipmaps.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetActiveAttrib.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetTexEnv.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCompressedTexImage1D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glConvolutionFilter1D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXGetConfig.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCompressedTexSubImage1D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glAccum.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glPolygonMode.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluCheckExtension.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetVertexAttrib.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXImportContextEXT.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glPixelMap.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetShaderInfoLog.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glStencilMaskSeparate.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glTranslate.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glMap1.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCopyTexSubImage1D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glColorTable.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluNurbsSurface.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glDeleteLists.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glRect.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glSecondaryColorPointer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glEvalMesh.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXSelectEvent.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glPixelStore.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGenTextures.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluDeleteQuadric.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXCopyContext.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetBufferSubData.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetClipPlane.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetTexImage.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCopyTexImage2D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetConvolutionParameter.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXQueryContextInfoEXT.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glPixelTransfer.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glRasterPos.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glDrawBuffers.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glLoadIdentity.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCopyTexSubImage3D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluBeginCurve.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glXMakeCurrent.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glIsEnabled.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluTessNormal.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetAttachedShaders.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glFrustum.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluLoadSamplingMatrices.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glMatrixMode.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetUniformLocation.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetProgram.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glHistogram.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glConvolutionParameter.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glInterleavedArrays.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glCompressedTexSubImage3D.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glGetError.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glDeleteShader.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glAlphaFunc.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glOrtho.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glDetachShader.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\gluNurbsCurve.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glInitNames.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glIndexMask.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glTexParameter.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\glIndex.xml">
|
||||
</None>
|
||||
<None Include="Specifications\Docs\ToInlineDocs.xslt">
|
||||
</None>
|
||||
<None Include="Documentation\todo.txt">
|
||||
</None>
|
||||
<None Include="Documentation\changelog.txt">
|
||||
|
@ -914,124 +241,10 @@
|
|||
<Compile Include="ES\ES3Generator.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="GL2\GL2Generator.cs" />
|
||||
<Compile Include="Structures\Documentation.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Specifications\Docs\glActiveShaderProgram.xml" />
|
||||
<None Include="Specifications\Docs\glBeginConditionalRender.xml" />
|
||||
<None Include="Specifications\Docs\glBeginQueryIndexed.xml" />
|
||||
<None Include="Specifications\Docs\glBeginTransformFeedback.xml" />
|
||||
<None Include="Specifications\Docs\glBindBufferBase.xml" />
|
||||
<None Include="Specifications\Docs\glBindBufferRange.xml" />
|
||||
<None Include="Specifications\Docs\glBindFragDataLocation.xml" />
|
||||
<None Include="Specifications\Docs\glBindFragDataLocationIndexed.xml" />
|
||||
<None Include="Specifications\Docs\glBindFramebuffer.xml" />
|
||||
<None Include="Specifications\Docs\glBindProgramPipeline.xml" />
|
||||
<None Include="Specifications\Docs\glBindRenderbuffer.xml" />
|
||||
<None Include="Specifications\Docs\glBindSampler.xml" />
|
||||
<None Include="Specifications\Docs\glBindTransformFeedback.xml" />
|
||||
<None Include="Specifications\Docs\glBindVertexArray.xml" />
|
||||
<None Include="Specifications\Docs\glBlitFramebuffer.xml" />
|
||||
<None Include="Specifications\Docs\glCheckFramebufferStatus.xml" />
|
||||
<None Include="Specifications\Docs\glClampColor.xml" />
|
||||
<None Include="Specifications\Docs\glClearBuffer.xml" />
|
||||
<None Include="Specifications\Docs\glClientWaitSync.xml" />
|
||||
<None Include="Specifications\Docs\glCopyBufferSubData.xml" />
|
||||
<None Include="Specifications\Docs\glCreateShaderProgram.xml" />
|
||||
<None Include="Specifications\Docs\glDeleteFramebuffers.xml" />
|
||||
<None Include="Specifications\Docs\glDeleteProgramPipelines.xml" />
|
||||
<None Include="Specifications\Docs\glDeleteRenderbuffers.xml" />
|
||||
<None Include="Specifications\Docs\glDeleteSamplers.xml" />
|
||||
<None Include="Specifications\Docs\glDeleteSync.xml" />
|
||||
<None Include="Specifications\Docs\glDeleteTransformFeedbacks.xml" />
|
||||
<None Include="Specifications\Docs\glDeleteVertexArrays.xml" />
|
||||
<None Include="Specifications\Docs\glDepthRangeArray.xml" />
|
||||
<None Include="Specifications\Docs\glDepthRangeIndexed.xml" />
|
||||
<None Include="Specifications\Docs\glDrawArraysIndirect.xml" />
|
||||
<None Include="Specifications\Docs\glDrawArraysInstanced.xml" />
|
||||
<None Include="Specifications\Docs\glDrawElementsBaseVertex.xml" />
|
||||
<None Include="Specifications\Docs\glDrawElementsIndirect.xml" />
|
||||
<None Include="Specifications\Docs\glDrawElementsInstanced.xml" />
|
||||
<None Include="Specifications\Docs\glDrawElementsInstancedBaseVertex.xml" />
|
||||
<None Include="Specifications\Docs\glDrawRangeElementsBaseVertex.xml" />
|
||||
<None Include="Specifications\Docs\glDrawTransformFeedback.xml" />
|
||||
<None Include="Specifications\Docs\glDrawTransformFeedbackStream.xml" />
|
||||
<None Include="Specifications\Docs\glFenceSync.xml" />
|
||||
<None Include="Specifications\Docs\glFlushMappedBufferRange.xml" />
|
||||
<None Include="Specifications\Docs\glFramebufferRenderbuffer.xml" />
|
||||
<None Include="Specifications\Docs\glFramebufferTexture.xml" />
|
||||
<None Include="Specifications\Docs\glFramebufferTextureFace.xml" />
|
||||
<None Include="Specifications\Docs\glFramebufferTextureLayer.xml" />
|
||||
<None Include="Specifications\Docs\glGenerateMipmap.xml" />
|
||||
<None Include="Specifications\Docs\glGenFramebuffers.xml" />
|
||||
<None Include="Specifications\Docs\glGenProgramPipelines.xml" />
|
||||
<None Include="Specifications\Docs\glGenRenderbuffers.xml" />
|
||||
<None Include="Specifications\Docs\glGenSamplers.xml" />
|
||||
<None Include="Specifications\Docs\glGenTransformFeedbacks.xml" />
|
||||
<None Include="Specifications\Docs\glGenVertexArrays.xml" />
|
||||
<None Include="Specifications\Docs\glGetActiveSubroutineName.xml" />
|
||||
<None Include="Specifications\Docs\glGetActiveSubroutineUniform.xml" />
|
||||
<None Include="Specifications\Docs\glGetActiveSubroutineUniformName.xml" />
|
||||
<None Include="Specifications\Docs\glGetActiveUniformBlock.xml" />
|
||||
<None Include="Specifications\Docs\glGetActiveUniformBlockName.xml" />
|
||||
<None Include="Specifications\Docs\glGetActiveUniformName.xml" />
|
||||
<None Include="Specifications\Docs\glGetBufferParameter.xml" />
|
||||
<None Include="Specifications\Docs\glGetFragDataIndex.xml" />
|
||||
<None Include="Specifications\Docs\glGetFragDataLocation.xml" />
|
||||
<None Include="Specifications\Docs\glGetFramebufferAttachmentParameter.xml" />
|
||||
<None Include="Specifications\Docs\glGetMultisample.xml" />
|
||||
<None Include="Specifications\Docs\glGetProgramBinary.xml" />
|
||||
<None Include="Specifications\Docs\glGetProgramPipeline.xml" />
|
||||
<None Include="Specifications\Docs\glGetProgramPipelineInfoLog.xml" />
|
||||
<None Include="Specifications\Docs\glGetProgramStage.xml" />
|
||||
<None Include="Specifications\Docs\glGetQueryIndexed.xml" />
|
||||
<None Include="Specifications\Docs\glGetRenderbufferParameter.xml" />
|
||||
<None Include="Specifications\Docs\glGetSamplerParameter.xml" />
|
||||
<None Include="Specifications\Docs\glGetShaderPrecisionFormat.xml" />
|
||||
<None Include="Specifications\Docs\glGetSubroutineIndex.xml" />
|
||||
<None Include="Specifications\Docs\glGetSubroutineUniformLocation.xml" />
|
||||
<None Include="Specifications\Docs\glGetSync.xml" />
|
||||
<None Include="Specifications\Docs\glGetTransformFeedbackVarying.xml" />
|
||||
<None Include="Specifications\Docs\glGetUniformBlockIndex.xml" />
|
||||
<None Include="Specifications\Docs\glGetUniformIndices.xml" />
|
||||
<None Include="Specifications\Docs\glGetUniformSubroutine.xml" />
|
||||
<None Include="Specifications\Docs\glIsFramebuffer.xml" />
|
||||
<None Include="Specifications\Docs\glIsProgramPipeline.xml" />
|
||||
<None Include="Specifications\Docs\glIsRenderbuffer.xml" />
|
||||
<None Include="Specifications\Docs\glIsSampler.xml" />
|
||||
<None Include="Specifications\Docs\glIsSync.xml" />
|
||||
<None Include="Specifications\Docs\glIsTransformFeedback.xml" />
|
||||
<None Include="Specifications\Docs\glIsVertexArray.xml" />
|
||||
<None Include="Specifications\Docs\glMapBufferRange.xml" />
|
||||
<None Include="Specifications\Docs\glMultiDrawElementsBaseVertex.xml" />
|
||||
<None Include="Specifications\Docs\glPatchParameter.xml" />
|
||||
<None Include="Specifications\Docs\glPauseTransformFeedback.xml" />
|
||||
<None Include="Specifications\Docs\glPrimitiveRestartIndex.xml" />
|
||||
<None Include="Specifications\Docs\glProgramBinary.xml" />
|
||||
<None Include="Specifications\Docs\glProgramParameter.xml" />
|
||||
<None Include="Specifications\Docs\glProgramUniform.xml" />
|
||||
<None Include="Specifications\Docs\glProvokingVertex.xml" />
|
||||
<None Include="Specifications\Docs\glQueryCounter.xml" />
|
||||
<None Include="Specifications\Docs\glReleaseShaderCompiler.xml" />
|
||||
<None Include="Specifications\Docs\glRenderbufferStorage.xml" />
|
||||
<None Include="Specifications\Docs\glRenderbufferStorageMultisample.xml" />
|
||||
<None Include="Specifications\Docs\glResumeTransformFeedback.xml" />
|
||||
<None Include="Specifications\Docs\glSampleMaski.xml" />
|
||||
<None Include="Specifications\Docs\glSamplerParameter.xml" />
|
||||
<None Include="Specifications\Docs\glScissorArray.xml" />
|
||||
<None Include="Specifications\Docs\glScissorIndexed.xml" />
|
||||
<None Include="Specifications\Docs\glShaderBinary.xml" />
|
||||
<None Include="Specifications\Docs\glTexBuffer.xml" />
|
||||
<None Include="Specifications\Docs\glTexImage2DMultisample.xml" />
|
||||
<None Include="Specifications\Docs\glTexImage3DMultisample.xml" />
|
||||
<None Include="Specifications\Docs\glTransformFeedbackVaryings.xml" />
|
||||
<None Include="Specifications\Docs\glUniformBlockBinding.xml" />
|
||||
<None Include="Specifications\Docs\glUniformSubroutines.xml" />
|
||||
<None Include="Specifications\Docs\glUseProgramStages.xml" />
|
||||
<None Include="Specifications\Docs\glValidateProgramPipeline.xml" />
|
||||
<None Include="Specifications\Docs\glVertexAttribDivisor.xml" />
|
||||
<None Include="Specifications\Docs\glViewportArray.xml" />
|
||||
<None Include="Specifications\Docs\glViewportIndexed.xml" />
|
||||
<None Include="Specifications\Docs\glWaitSync.xml" />
|
||||
<None Include="Specifications\GL2\signatures.xml">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
|
@ -1057,4 +270,7 @@
|
|||
</Properties>
|
||||
</MonoDevelop>
|
||||
</ProjectExtensions>
|
||||
<ItemGroup>
|
||||
<Folder Include="Specifications\Docs\" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -347,29 +347,28 @@ namespace Bind
|
|||
if (!docfiles.ContainsKey(docfile))
|
||||
docfile = Settings.FunctionPrefix + f.TrimmedName.TrimEnd(numbers) + ".xml";
|
||||
|
||||
var docs = new List<string>();
|
||||
if (docfiles.ContainsKey(docfile))
|
||||
Documentation docs =
|
||||
(docfiles.ContainsKey(docfile) ?
|
||||
Processor.ProcessFile(docfiles[docfile]) : null) ??
|
||||
new Documentation
|
||||
{
|
||||
docs.AddRange(Processor.ProcessFile(docfiles[docfile]));
|
||||
}
|
||||
if (docs.Count == 0)
|
||||
{
|
||||
docs.Add("/// <summary></summary>");
|
||||
}
|
||||
Summary = String.Empty,
|
||||
Parameters = f.Parameters.Select(p =>
|
||||
new KeyValuePair<string, string>(p.Name, String.Empty)).ToList()
|
||||
};
|
||||
|
||||
int summary_start = docs[0].IndexOf("<summary>") + "<summary>".Length;
|
||||
string warning = "[deprecated: v{0}]";
|
||||
string category = "[requires: {0}]";
|
||||
if (f.Deprecated)
|
||||
{
|
||||
warning = String.Format(warning, f.DeprecatedVersion);
|
||||
docs[0] = docs[0].Insert(summary_start, warning);
|
||||
docs.Summary = docs.Summary.Insert(0, warning);
|
||||
}
|
||||
|
||||
if (f.Extension != "Core" && !String.IsNullOrEmpty(f.Category))
|
||||
{
|
||||
category = String.Format(category, f.Category);
|
||||
docs[0] = docs[0].Insert(summary_start, category);
|
||||
docs.Summary = docs.Summary.Insert(0, category);
|
||||
}
|
||||
else if (!String.IsNullOrEmpty(f.Version))
|
||||
{
|
||||
|
@ -377,12 +376,23 @@ namespace Bind
|
|||
category = String.Format(category, "v" + f.Version);
|
||||
else
|
||||
category = String.Format(category, "v" + f.Version + " and " + f.Category);
|
||||
docs[0] = docs[0].Insert(summary_start, category);
|
||||
docs.Summary = docs.Summary.Insert(0, category);
|
||||
}
|
||||
|
||||
foreach (var doc in docs)
|
||||
for (int i = 0; i < f.WrappedDelegate.Parameters.Count; i++)
|
||||
{
|
||||
sw.WriteLine(doc);
|
||||
var param = f.WrappedDelegate.Parameters[i];
|
||||
if (param.ComputeSize != String.Empty)
|
||||
{
|
||||
docs.Parameters[i].Value.Insert(0,
|
||||
String.Format("[length: {0}]", param.ComputeSize));
|
||||
}
|
||||
}
|
||||
|
||||
sw.WriteLine("/// <summary>{0}</summary>", docs.Summary);
|
||||
foreach (var p in docs.Parameters)
|
||||
{
|
||||
sw.WriteLine("/// <param name=\"{0}\">{1}</param>", p.Key, p.Value);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
|
|
|
@ -187,7 +187,7 @@ namespace Bind
|
|||
case GeneratorMode.All:
|
||||
Console.WriteLine("Using 'all' generator mode.");
|
||||
Console.WriteLine("Use '-mode:all/gl2/gl4/es10/es11/es20/es30' to select a specific mode.");
|
||||
Generators.Add(new Generator(Settings, dirName));
|
||||
Generators.Add(new GL2Generator(Settings, dirName));
|
||||
Generators.Add(new GL4Generator(Settings, dirName));
|
||||
Generators.Add(new ESGenerator(Settings, dirName));
|
||||
Generators.Add(new ES2Generator(Settings, dirName));
|
||||
|
@ -195,7 +195,7 @@ namespace Bind
|
|||
break;
|
||||
|
||||
case GeneratorMode.GL2:
|
||||
Generators.Add(new Generator(Settings, dirName));
|
||||
Generators.Add(new GL2Generator(Settings, dirName));
|
||||
break;
|
||||
|
||||
case GeneratorMode.GL3:
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:output omit-xml-declaration="yes"/>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:copy>
|
||||
<xsl:apply-templates/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'"/>
|
||||
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
|
||||
|
||||
<xsl:template name ="summary" match="refentry">
|
||||
/// <summary>
|
||||
/// <xsl:value-of select="concat(translate(
|
||||
substring(refnamediv/refpurpose, 1, 1), $lowercase, $uppercase),
|
||||
substring(refnamediv/refpurpose, 2, string-length(refnamediv/refpurpose) - 1))"/>
|
||||
/// </summary>
|
||||
|
||||
<xsl:for-each select="refsect1/variablelist/varlistentry">
|
||||
<xsl:choose>
|
||||
<xsl:when test="../../@id = 'parameters'">
|
||||
/// <param name="{term/parameter}">
|
||||
<xsl:for-each select="listitem/para">
|
||||
/// <para>
|
||||
/// <xsl:value-of select="normalize-space(.)"/>
|
||||
/// </para>
|
||||
</xsl:for-each>
|
||||
/// </param>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
41
Source/Bind/Structures/Documentation.cs
Normal file
41
Source/Bind/Structures/Documentation.cs
Normal file
|
@ -0,0 +1,41 @@
|
|||
#region License
|
||||
//
|
||||
// Documentation.cs
|
||||
//
|
||||
// Author:
|
||||
// Stefanos A. <stapostol@gmail.com>
|
||||
//
|
||||
// Copyright (c) 2006-2014 Stefanos Apostolopoulos
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Bind.Structures
|
||||
{
|
||||
public class Documentation
|
||||
{
|
||||
public string Summary { get; set; }
|
||||
public List<KeyValuePair<string, string>> Parameters { get; set; }
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in a new issue