Bind now maps 'void*' to generics ('ref T', 'T[]', 'T[,]' and 'T[,,]') instead of 'object'.

The doc processor can now document more OpenGL functions (e.g. GL.Color3).
Cleaned up several pieces of code in Bind (but I'm afraid it's hopeless - spaghetti code at its greatest).
This commit is contained in:
the_fiddler 2009-03-21 21:44:07 +00:00
parent c7b9c7f0c5
commit 3c5fd61baa
11 changed files with 47759 additions and 737 deletions

View file

@ -13,7 +13,6 @@ namespace Bind
{
static readonly Regex remove_mathml = new Regex(@"<(mml:math)[^>]*?>(?:.|\n)*?</\s*\1\s*>",
RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);
static readonly StreamWriter output_stream = new StreamWriter(new MemoryStream());
static readonly XslCompiledTransform xslt = new System.Xml.Xsl.XslCompiledTransform();
static readonly XmlReaderSettings settings = new XmlReaderSettings();

View file

@ -35,6 +35,9 @@ namespace Bind.GL2
protected static Regex enumToDotNet = new Regex("_[a-z|A-Z]?", RegexOptions.Compiled);
protected static readonly char[] numbers = "0123456789".ToCharArray();
//protected static readonly Dictionary<string, string> doc_replacements;
DocProcessor doc_processor = new DocProcessor(Path.Combine(Settings.DocPath, Settings.DocFile));
#endregion
@ -662,11 +665,19 @@ namespace Bind.GL2
{
if ((Settings.Compatibility & Settings.Legacy.NoDocumentation) == 0)
{
Console.SetCursorPosition(0, y);
Console.WriteLine("Creating docs for #{0} ({1}) ", current++, f.Name);
Console.WriteLine("Creating docs for #{0} ({1})", current++, f.Name);
try
{
sw.WriteLine(doc_processor.ProcessFile(Path.Combine(Settings.DocPath, "gl" + f.WrappedDelegate.Name + ".xml")));
string path = Path.Combine(Settings.DocPath, "gl" + f.WrappedDelegate.Name + ".xml");
if (!File.Exists(path))
path = Path.Combine(Settings.DocPath, "gl" +
f.TrimmedName + ".xml");
if (!File.Exists(path))
path = Path.Combine(Settings.DocPath, "gl" + f.TrimmedName.TrimEnd(numbers) + ".xml");
if (File.Exists(path))
sw.WriteLine(doc_processor.ProcessFile(path));
}
catch (FileNotFoundException)
{ }

View file

@ -362,10 +362,7 @@ namespace Bind.Structures
{
Function f = new Function(this);
f.WrapReturnType();
if ((Settings.Compatibility & Settings.Legacy.GenerateAllPermutations) == Settings.Legacy.None)
f.WrapParameters(wrappers);
else
f.WrapParametersComplete(wrappers);
}
// If the function is not CLS-compliant (e.g. it contains unsigned parameters)
@ -461,22 +458,6 @@ namespace Bind.Structures
ReturnType.CurrentType = "int";
}
if (ReturnType.CurrentType.ToLower().Contains("bool"))
{
// TODO: Is the translation to 'int' needed 100%? It breaks WGL.
/*
if (Settings.Compatibility == Settings.Legacy.Tao)
{
ReturnType.CurrentType = "int";
}
else
{
}
*/
//ReturnType.WrapperType = WrapperTypes.ReturnsBool;
}
ReturnType.CurrentType = ReturnType.GetCLSCompliantType();
}

View file

@ -154,9 +154,6 @@ namespace Bind.Structures
foreach (Constant c in constants)
{
if (c.Name == "PointSmooth")
{
}
sb.Append(" ");
sb.Append(c.ToString());
if (!String.IsNullOrEmpty(c.ToString()))

View file

@ -41,6 +41,7 @@ namespace Bind.Structures
#region Fields
Delegate wrapped_delegate;
int index;
#endregion
@ -58,15 +59,17 @@ namespace Bind.Structures
public Function(Delegate d)
: base(d)
{
if (d is Function)
this.Body = new FunctionBody((d as Function).Body);
else
this.Body = new FunctionBody();
this.Name = d.Name;
Name = d.Name;
Body = new FunctionBody();
WrappedDelegate = d;
}
public Function(Function f)
: this((Delegate)f)
{
this.Body = new FunctionBody(f.Body);
}
#endregion
public Delegate WrappedDelegate
@ -195,10 +198,34 @@ namespace Bind.Structures
sb.Append(Settings.FunctionPrefix);
}
sb.Append(!String.IsNullOrEmpty(TrimmedName) ? TrimmedName : Name);
sb.Append(Parameters.ToString(false));
if (Parameters.HasGenericParameters)
{
sb.Append("<");
foreach (Parameter p in Parameters)
{
if (p.Generic)
{
sb.Append(p.CurrentType);
sb.Append(",");
}
}
sb.Remove(sb.Length - 1, 1);
sb.Append(">");
}
sb.AppendLine(Parameters.ToString(false));
if (Parameters.HasGenericParameters)
{
foreach (Parameter p in Parameters)
{
if (p.Generic)
sb.AppendLine(String.Format(" where {0} : struct", p.CurrentType));
}
}
if (Body.Count > 0)
{
sb.AppendLine();
sb.Append(Body.ToString());
}
@ -225,10 +252,6 @@ namespace Bind.Structures
{
Function f;
if (this.Name.Contains("TessVertex"))
{
}
if (Parameters.HasPointerParameters)
{
// Array overloads
@ -289,145 +312,10 @@ namespace Bind.Structures
#endregion
#region public void WrapParametersComplete(List<Function> wrappers)
static int index = 0;
/// <summary>
/// Adds to the wrapper list all possible wrapper permutations for every possible parameter combination.
/// "void Delegates.f(IntPtr p, IntPtr q)" where p and q are pointers to void arrays needs the following wrappers:
/// "void f(IntPtr p, IntPtr q)"
/// "void f(IntPtr p, object q)"
/// "void f(object p, IntPtr q)"
/// "void f(object p, object q)"
/// </summary>
/// <param name="wrappers"></param>
public void WrapParametersComplete(List<Function> wrappers)
{
if (index == 0)
{
//if (this.Parameters.HasPointerParameters)
{
Function f = new Function(this);
f.CreateBody(false);
wrappers.Add(f);
}
//else
//{
// if (this.Body.Count == 0)
// wrappers.Add(DefaultWrapper(this));
// else
// wrappers.Add(this);
// return;
//}
}
if (index >= 0 && index < this.Parameters.Count)
{
Function f;
switch (this.Parameters[index].WrapperType)
{
case WrapperTypes.None:
// No wrapper needed, visit the next parameter
++index;
WrapParametersComplete(wrappers);
--index;
break;
case WrapperTypes.ArrayParameter:
// Recurse to the last parameter
++index;
WrapParametersComplete(wrappers);
--index;
// On stack rewind, create array wrappers
f = new Function(this);
f.Parameters[index].Reference = false;
f.Parameters[index].Array = 1;
f.Parameters[index].Pointer = false;
f.CreateBody(false);
wrappers.Add(f);
// Recurse to the last parameter again, keeping the Array wrappers
++index;
f.WrapParametersComplete(wrappers);
--index;
// On stack rewind create reference wrappers.
f = new Function(this);
f.Parameters[index].Reference = true;
f.Parameters[index].Array = 0;
f.Parameters[index].Pointer = false;
f.CreateBody(false);
wrappers.Add(f);
// Keeping the current reference wrapper, revisit all other parameters.
++index;
f.WrapParametersComplete(wrappers);
--index;
break;
case WrapperTypes.GenericParameter:
// Recurse to the last parameter
++index;
WrapParametersComplete(wrappers);
--index;
// On stack rewind, create object wrappers
f = new Function(this);
f.Parameters[index].Reference = false;
f.Parameters[index].Array = 0;
f.Parameters[index].Pointer = false;
f.Parameters[index].CurrentType = "object";
f.Parameters[index].Flow = Parameter.FlowDirection.Undefined;
f.CreateBody(false);
wrappers.Add(f);
// Keeping the current Object wrapper, visit all other parameters once more
++index;
f.WrapParametersComplete(wrappers);
--index;
break;
//case WrapperTypes.ReferenceParameter:
// // Recurse to the last parameter
// ++index;
// WrapParameters(this, wrappers);
// --index;
// // On stack rewind, create reference wrappers
// f = new this(this);
// f.Parameters[index].Reference = true;
// f.Parameters[index].Array = 0;
// f.Parameters[index].Pointer = false;
// f.Body = CreateBody(f, false);
// //f = ReferenceWrapper(new this(this), index);
// wrappers.Add(f);
// // Keeping the current Object wrapper, visit all other parameters once more
// ++index;
// WrapParameters(f, wrappers);
// --index;
// break;
}
}
}
#endregion
#region public void WrapVoidPointers(List<Function> wrappers)
public void WrapVoidPointers(List<Function> wrappers)
{
if (this.Name.Contains("TessVertex"))
{
}
if (index >= 0 && index < Parameters.Count)
{
if (Parameters[index].WrapperType == WrapperTypes.GenericParameter)
@ -438,22 +326,45 @@ namespace Bind.Structures
--index;
// On stack rewind, create object wrappers
Parameters[index].Reference = false;
Parameters[index].Reference = true;
Parameters[index].Array = 0;
Parameters[index].Pointer = false;
Parameters[index].CurrentType = "object";
Parameters[index].Generic = true;
Parameters[index].CurrentType = "T" + index.ToString();
Parameters[index].Flow = Parameter.FlowDirection.Undefined;
Parameters.Rebuild = true;
CreateBody(false);
wrappers.Add(this);
wrappers.Add(new Function(this));
// Keeping the current Object wrapper, visit all other parameters once more
++index;
//if ((Settings.Compatibility & Settings.Legacy.GenerateAllPermutations) == Settings.Legacy.None)
// WrapParameters(wrappers);
//else
// WrapParametersComplete(wrappers);
--index;
Parameters[index].Reference = false;
Parameters[index].Array = 1;
Parameters[index].Pointer = false;
Parameters[index].Generic = true;
Parameters[index].CurrentType = "T" + index.ToString();
Parameters[index].Flow = Parameter.FlowDirection.Undefined;
Parameters.Rebuild = true;
CreateBody(false);
wrappers.Add(new Function(this));
Parameters[index].Reference = false;
Parameters[index].Array = 2;
Parameters[index].Pointer = false;
Parameters[index].Generic = true;
Parameters[index].CurrentType = "T" + index.ToString();
Parameters[index].Flow = Parameter.FlowDirection.Undefined;
Parameters.Rebuild = true;
CreateBody(false);
wrappers.Add(new Function(this));
Parameters[index].Reference = false;
Parameters[index].Array = 3;
Parameters[index].Pointer = false;
Parameters[index].Generic = true;
Parameters[index].CurrentType = "T" + index.ToString();
Parameters[index].Flow = Parameter.FlowDirection.Undefined;
Parameters.Rebuild = true;
CreateBody(false);
wrappers.Add(new Function(this));
}
else
{
@ -508,8 +419,8 @@ namespace Bind.Structures
// Use GCHandle to obtain pointer to generic parameters and 'fixed' for arrays.
// This is because fixed can only take the address of fields, not managed objects.
handle_statements.Add(String.Format(
"{0} {1}_ptr = {0}.Alloc({1}, System.Runtime.InteropServices.GCHandleType.Pinned);",
"System.Runtime.InteropServices.GCHandle", p.Name));
"{0} {1}_ptr = {0}.Alloc({1}, GCHandleType.Pinned);",
"GCHandle", p.Name));
handle_release_statements.Add(String.Format("{0}_ptr.Free();", p.Name));
@ -576,7 +487,7 @@ namespace Bind.Structures
if (f.ReturnType.CurrentType.ToLower().Contains("void"))
f.Body.Add(String.Format("{0};", f.CallString()));
else if (ReturnType.CurrentType.ToLower().Contains("string"))
f.Body.Add(String.Format("{0} {1} = System.Runtime.InteropServices.Marshal.PtrToStringAnsi({2});",
f.Body.Add(String.Format("{0} {1} = Marshal.PtrToStringAnsi({2});",
ReturnType.CurrentType, "retval", CallString()));
else
f.Body.Add(String.Format("{0} {1} = {2};", f.ReturnType.CurrentType, "retval", f.CallString()));

View file

@ -43,6 +43,7 @@ namespace Bind.Structures
this.Name = p.Name;
this.Unchecked = p.Unchecked;
this.UnmanagedType = p.UnmanagedType;
this.Generic = p.Generic;
this.Flow = p.Flow;
this.cache = p.cache;
//this.rebuild = false;
@ -157,6 +158,17 @@ namespace Bind.Structures
#endregion
#region public bool Generic
bool generic;
public bool Generic
{
get { return generic; }
set { generic = value; }
}
#endregion
#region public override string CurrentType
public override string CurrentType
@ -221,7 +233,12 @@ namespace Bind.Structures
{
sb.Append(CurrentType);
if (Array > 0)
sb.Append("[]");
{
sb.Append("[");
for (int i = 1; i < Array; i++)
sb.Append(",");
sb.Append("]");
}
}
}
else
@ -230,7 +247,12 @@ namespace Bind.Structures
if (Pointer)
sb.Append("*");
if (Array > 0)
sb.Append("[]");
{
sb.Append("[");
for (int i = 1; i < Array; i++)
sb.Append(",");
sb.Append("]");
}
}
if (!String.IsNullOrEmpty(Name))
{
@ -263,7 +285,7 @@ namespace Bind.Structures
CurrentType =
Flow == Parameter.FlowDirection.Out ?
"System.Text.StringBuilder" :
"System.String";
"String";
Pointer = false;
WrapperType = WrapperTypes.None;
@ -299,6 +321,7 @@ namespace Bind.Structures
bool hasPointerParameters;
bool hasReferenceParameters;
bool hasUnsignedParameters;
bool hasGenericParameters;
bool unsafe_types_allowed;
public bool Rebuild
{
@ -326,9 +349,9 @@ namespace Bind.Structures
void BuildCache()
{
BuildReferenceAndPointerParametersCache();
BuildCallStringCache();
BuildToStringCache(unsafe_types_allowed);
BuildReferenceAndPointerParametersCache();
Rebuild = false;
}
@ -379,6 +402,21 @@ namespace Bind.Structures
#endregion
#region public bool HasGenericParameters
public bool HasGenericParameters
{
get
{
if (Rebuild)
BuildCache();
return hasGenericParameters;
}
}
#endregion
#region void BuildReferenceAndPointerParametersCache()
void BuildReferenceAndPointerParametersCache()
@ -393,6 +431,9 @@ namespace Bind.Structures
if (p.Unsigned)
hasUnsignedParameters = true;
if (p.Generic)
hasGenericParameters = true;
}
}
@ -500,7 +541,7 @@ namespace Bind.Structures
if (p.Unchecked)
sb.Append("unchecked((" + p.CurrentType + ")");
if (p.CurrentType != "object")
if (!p.Generic && p.CurrentType != "object")
{
if (p.CurrentType.ToLower().Contains("string"))
{
@ -521,9 +562,7 @@ namespace Bind.Structures
}
}
sb.Append(
Utilities.Keywords.Contains(p.Name) ? "@" + p.Name : p.Name
);
sb.Append(Utilities.Keywords.Contains(p.Name) ? "@" + p.Name : p.Name);
if (p.Unchecked)
sb.Append(")");

View file

@ -65,7 +65,7 @@ namespace Bind.Structures
#endregion
#region public string Type
#region public string CurrentType
string type;
/// <summary>
@ -125,7 +125,7 @@ namespace Bind.Structures
#endregion
#region public bool Array
#region public int Array
int array;
@ -207,30 +207,6 @@ namespace Bind.Structures
#endregion
#region public string GetFullType()
public string GetFullType(Dictionary<string, string> CSTypes, bool compliant)
{
//if (Pointer && ((Settings.Compatibility & Settings.Legacy.NoPublicUnsafeFunctions) != Settings.Legacy.None))
// return "IntPtr";
if (!compliant)
{
return
CurrentType +
(Pointer ? "*" : "") +
(Array > 0 ? "[]" : "");
}
return
GetCLSCompliantType() +
(Pointer ? "*" : "") +
(Array > 0 ? "[]" : "");
}
#endregion
#region public string GetCLSCompliantType()
public string GetCLSCompliantType()

File diff suppressed because it is too large Load diff

View file

@ -1507,7 +1507,7 @@ namespace OpenTK.Graphics
internal extern static void AttachShader(UInt32 program, UInt32 shader);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindAttribLocation", ExactSpelling = true)]
internal extern static void BindAttribLocation(UInt32 program, UInt32 index, System.String name);
internal extern static void BindAttribLocation(UInt32 program, UInt32 index, String name);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompileShader", ExactSpelling = true)]
internal extern static void CompileShader(UInt32 shader);
@ -1543,7 +1543,7 @@ namespace OpenTK.Graphics
internal extern static unsafe void GetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetAttribLocation", ExactSpelling = true)]
internal extern static Int32 GetAttribLocation(UInt32 program, System.String name);
internal extern static Int32 GetAttribLocation(UInt32 program, String name);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramiv", ExactSpelling = true)]
internal extern static unsafe void GetProgramiv(UInt32 program, OpenTK.Graphics.ProgramParameter pname, [Out] Int32* @params);
@ -1561,7 +1561,7 @@ namespace OpenTK.Graphics
internal extern static unsafe void GetShaderSource(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder[] source);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformLocation", ExactSpelling = true)]
internal extern static Int32 GetUniformLocation(UInt32 program, System.String name);
internal extern static Int32 GetUniformLocation(UInt32 program, String name);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformfv", ExactSpelling = true)]
internal extern static unsafe void GetUniformfv(UInt32 program, Int32 location, [Out] Single* @params);
@ -1591,7 +1591,7 @@ namespace OpenTK.Graphics
internal extern static void LinkProgram(UInt32 program);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glShaderSource", ExactSpelling = true)]
internal extern static unsafe void ShaderSource(UInt32 shader, Int32 count, System.String[] @string, Int32* length);
internal extern static unsafe void ShaderSource(UInt32 shader, Int32 count, String[] @string, Int32* length);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUseProgram", ExactSpelling = true)]
internal extern static void UseProgram(UInt32 program);
@ -1903,10 +1903,10 @@ namespace OpenTK.Graphics
internal extern static unsafe void GetUniformuiv(UInt32 program, Int32 location, [Out] UInt32* @params);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindFragDataLocation", ExactSpelling = true)]
internal extern static void BindFragDataLocation(UInt32 program, UInt32 color, System.String name);
internal extern static void BindFragDataLocation(UInt32 program, UInt32 color, String name);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFragDataLocation", ExactSpelling = true)]
internal extern static Int32 GetFragDataLocation(UInt32 program, System.String name);
internal extern static Int32 GetFragDataLocation(UInt32 program, String name);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1ui", ExactSpelling = true)]
internal extern static void Uniform1ui(Int32 location, UInt32 v0);

View file

@ -1508,7 +1508,7 @@ namespace OpenTK.Graphics
internal delegate void AttachShader(UInt32 program, UInt32 shader);
internal static AttachShader glAttachShader;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void BindAttribLocation(UInt32 program, UInt32 index, System.String name);
internal delegate void BindAttribLocation(UInt32 program, UInt32 index, String name);
internal static BindAttribLocation glBindAttribLocation;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void CompileShader(UInt32 shader);
@ -1544,7 +1544,7 @@ namespace OpenTK.Graphics
internal unsafe delegate void GetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj);
internal unsafe static GetAttachedShaders glGetAttachedShaders;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate Int32 GetAttribLocation(UInt32 program, System.String name);
internal delegate Int32 GetAttribLocation(UInt32 program, String name);
internal static GetAttribLocation glGetAttribLocation;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GetProgramiv(UInt32 program, OpenTK.Graphics.ProgramParameter pname, [Out] Int32* @params);
@ -1562,7 +1562,7 @@ namespace OpenTK.Graphics
internal unsafe delegate void GetShaderSource(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder[] source);
internal unsafe static GetShaderSource glGetShaderSource;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate Int32 GetUniformLocation(UInt32 program, System.String name);
internal delegate Int32 GetUniformLocation(UInt32 program, String name);
internal static GetUniformLocation glGetUniformLocation;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GetUniformfv(UInt32 program, Int32 location, [Out] Single* @params);
@ -1592,7 +1592,7 @@ namespace OpenTK.Graphics
internal delegate void LinkProgram(UInt32 program);
internal static LinkProgram glLinkProgram;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void ShaderSource(UInt32 shader, Int32 count, System.String[] @string, Int32* length);
internal unsafe delegate void ShaderSource(UInt32 shader, Int32 count, String[] @string, Int32* length);
internal unsafe static ShaderSource glShaderSource;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void UseProgram(UInt32 program);
@ -1904,10 +1904,10 @@ namespace OpenTK.Graphics
internal unsafe delegate void GetUniformuiv(UInt32 program, Int32 location, [Out] UInt32* @params);
internal unsafe static GetUniformuiv glGetUniformuiv;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void BindFragDataLocation(UInt32 program, UInt32 color, System.String name);
internal delegate void BindFragDataLocation(UInt32 program, UInt32 color, String name);
internal static BindFragDataLocation glBindFragDataLocation;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate Int32 GetFragDataLocation(UInt32 program, System.String name);
internal delegate Int32 GetFragDataLocation(UInt32 program, String name);
internal static GetFragDataLocation glGetFragDataLocation;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void Uniform1ui(Int32 location, UInt32 v0);
@ -2453,7 +2453,7 @@ namespace OpenTK.Graphics
internal delegate Int32 CreateShaderObjectARB(OpenTK.Graphics.ArbShaderObjects shaderType);
internal static CreateShaderObjectARB glCreateShaderObjectARB;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void ShaderSourceARB(UInt32 shaderObj, Int32 count, System.String[] @string, Int32* length);
internal unsafe delegate void ShaderSourceARB(UInt32 shaderObj, Int32 count, String[] @string, Int32* length);
internal unsafe static ShaderSourceARB glShaderSourceARB;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void CompileShaderARB(UInt32 shaderObj);
@ -2543,7 +2543,7 @@ namespace OpenTK.Graphics
internal unsafe delegate void GetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj);
internal unsafe static GetAttachedObjectsARB glGetAttachedObjectsARB;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate Int32 GetUniformLocationARB(UInt32 programObj, System.String name);
internal delegate Int32 GetUniformLocationARB(UInt32 programObj, String name);
internal static GetUniformLocationARB glGetUniformLocationARB;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ArbShaderObjects* type, [Out] System.Text.StringBuilder name);
@ -2558,13 +2558,13 @@ namespace OpenTK.Graphics
internal unsafe delegate void GetShaderSourceARB(UInt32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder[] source);
internal unsafe static GetShaderSourceARB glGetShaderSourceARB;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void BindAttribLocationARB(UInt32 programObj, UInt32 index, System.String name);
internal delegate void BindAttribLocationARB(UInt32 programObj, UInt32 index, String name);
internal static BindAttribLocationARB glBindAttribLocationARB;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ArbVertexShader* type, [Out] System.Text.StringBuilder name);
internal unsafe static GetActiveAttribARB glGetActiveAttribARB;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate Int32 GetAttribLocationARB(UInt32 programObj, System.String name);
internal delegate Int32 GetAttribLocationARB(UInt32 programObj, String name);
internal static GetAttribLocationARB glGetAttribLocationARB;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void DrawBuffersARB(Int32 n, OpenTK.Graphics.ArbDrawBuffers* bufs);
@ -4760,10 +4760,10 @@ namespace OpenTK.Graphics
internal unsafe delegate void GetUniformuivEXT(UInt32 program, Int32 location, [Out] UInt32* @params);
internal unsafe static GetUniformuivEXT glGetUniformuivEXT;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void BindFragDataLocationEXT(UInt32 program, UInt32 color, System.String name);
internal delegate void BindFragDataLocationEXT(UInt32 program, UInt32 color, String name);
internal static BindFragDataLocationEXT glBindFragDataLocationEXT;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate Int32 GetFragDataLocationEXT(UInt32 program, System.String name);
internal delegate Int32 GetFragDataLocationEXT(UInt32 program, String name);
internal static GetFragDataLocationEXT glGetFragDataLocationEXT;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void Uniform1uiEXT(Int32 location, UInt32 v0);
@ -4859,10 +4859,10 @@ namespace OpenTK.Graphics
internal unsafe delegate void TransformFeedbackVaryingsNV(UInt32 program, Int32 count, Int32* locations, OpenTK.Graphics.NvTransformFeedback bufferMode);
internal unsafe static TransformFeedbackVaryingsNV glTransformFeedbackVaryingsNV;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void ActiveVaryingNV(UInt32 program, System.String name);
internal delegate void ActiveVaryingNV(UInt32 program, String name);
internal static ActiveVaryingNV glActiveVaryingNV;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate Int32 GetVaryingLocationNV(UInt32 program, System.String name);
internal delegate Int32 GetVaryingLocationNV(UInt32 program, String name);
internal static GetVaryingLocationNV glGetVaryingLocationNV;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal unsafe delegate void GetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.NvTransformFeedback* type, [Out] System.Text.StringBuilder name);

592
Source/OpenTK/OpenTK.csproj Normal file
View file

@ -0,0 +1,592 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
<PropertyGroup>
<ProjectType>Local</ProjectType>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{1101E8B7-883E-45EE-B8A8-C72898F5F4A6}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>
</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>OpenTK</AssemblyName>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Library</OutputType>
<AppDesignerFolder>
</AppDesignerFolder>
<RootNamespace>OpenTK</RootNamespace>
<StartupObject>
</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>2.0</OldToolsVersion>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>DEBUG;TRACE;</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>True</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<Optimize>False</Optimize>
<OutputPath>..\..\Binaries\Debug\Libraries\</OutputPath>
<RegisterForComInterop>False</RegisterForComInterop>
<RemoveIntegerChecks>False</RemoveIntegerChecks>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<NoWarn>
</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>TRACE;</DefineConstants>
<DocumentationFile>OpenTK.xml</DocumentationFile>
<DebugSymbols>False</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<Optimize>True</Optimize>
<OutputPath>..\..\Binaries\Release\Libraries\</OutputPath>
<RegisterForComInterop>False</RegisterForComInterop>
<RemoveIntegerChecks>False</RemoveIntegerChecks>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<NoWarn>
</NoWarn>
</PropertyGroup>
<ItemGroup>
<Reference Include="System">
<Name>System</Name>
<HintPath>\System.dll</HintPath>
</Reference>
<Reference Include="System.Drawing">
<Name>System.Drawing</Name>
<HintPath>\System.Drawing.dll</HintPath>
</Reference>
<Reference Include="System.Windows.Forms">
<Name>System.Windows.Forms</Name>
<HintPath>\System.Windows.Forms.dll</HintPath>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
<HintPath>\System.Data.dll</HintPath>
</Reference>
<Reference Include="System.Xml">
<Name>System.Xml</Name>
<HintPath>\System.Xml.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<Compile Include="ColorMode.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Configuration.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ContextHandle.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="DisplayMode.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Exceptions.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="GameWindow.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="GLControl.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="GLControl.Designer.cs">
<DependentUpon>GLControl.cs</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="WindowBorder.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="WindowState.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Audio\AudioContext.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Audio\AudioContextException.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Audio\AudioDeviceException.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Audio\AudioException.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Audio\SoundData.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Audio\SoundFormat.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Audio\OpenAL\AL\AL.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Audio\OpenAL\AL\ALEnums.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Audio\OpenAL\AL\EffectsExtension.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Audio\OpenAL\AL\EffectsExtensionEnums.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Audio\OpenAL\AL\EffectsExtensionPresets.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Audio\OpenAL\AL\XRamExtension.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Audio\OpenAL\Alc\Alc.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Audio\OpenAL\Alc\AlcEnums.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Audio\OpenAL\Alut\Alut.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Audio\OpenAL\Alut\AlutEnums.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\Color4.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\ColorFormat.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\DisplayDevice.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\DisplayResolution.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\GraphicsContext.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\GraphicsContextFlags.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\GraphicsContextVersion.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\GraphicsExceptions.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\GraphicsMode.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\IDisplayDeviceDriver.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\IGraphicsContext.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\IGraphicsMode.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\GL\AutoGeneratedAttribute.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\GL\GL.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\GL\GLCore.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\GL\GLDelegates.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\GL\GLEnums.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\GL\GLHelper.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\Glu\Glu.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\Glu\GluCore.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\Glu\GluDelegates.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\Glu\GluEnums.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Graphics\Glu\GluHelper.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Input\IInputDevice.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Input\IInputDriver.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Input\IJoystickDriver.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Input\IKeyboardDriver.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Input\IMouseDriver.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Input\InputDriver.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Input\JoystickDevice.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Input\KeyboardDevice.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Input\MouseButton.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Input\MouseDevice.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\BezierCurve.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\BezierCurveCubic.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\BezierCurveQuadric.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\Box2.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\Functions.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\Half.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\Matrix3d.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\Matrix4.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\Matrix4d.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\Quaternion.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\Quaterniond.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\Vector2.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\Vector2d.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\Vector2h.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\Vector3.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\Vector3d.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\Vector3h.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\Vector4.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\Vector4d.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Math\Vector4h.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Factory.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\GdiPlus.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\IGameWindow.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\IGdiPlusInternals.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\IGLControl.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\INativeGLWindow.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\IPlatformFactory.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\IResizable.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\IWindowInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\PlatformException.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Utilities.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Dummy\DummyGLContext.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Dummy\DummyGLControl.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Dummy\DummyWindowInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\AglContext.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\Application.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\CarbonGLControl.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\CarbonGLNative.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\CarbonInput.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\CarbonWindowInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\EventInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\MacOSException.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\MacOSFactory.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\MacOSGraphicsMode.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\MacOSKeyMap.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\QuartzDisplayDeviceDriver.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\CarbonBindings\Agl.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\CarbonBindings\CarbonAPI.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\CarbonBindings\CoreFoundation.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\CarbonBindings\MacOSKeys.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\CarbonBindings\QuartzDisplayServicesAPI.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\MacOS\CarbonBindings\SpeechChannel.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\API.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\WglHelper.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\WinDisplayDevice.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\WinFactory.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\WinGdiPlusInternals.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\WinGLContext.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\WinGLControl.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\WinGLNative.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\WinGraphicsMode.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\WinKeyMap.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\WinMMJoystick.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\WinRawInput.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\WinRawKeyboard.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\WinRawMouse.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\WinWindowInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\WMInput.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\Bindings\Wgl.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\Bindings\WglCore.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\Bindings\WglDelegates.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\Windows\Bindings\WglEnums.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\X11\API.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\X11\Functions.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\X11\GlxHelper.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\X11\Structs.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\X11\X11Factory.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\X11\X11GdiPlusInternals.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\X11\X11GLContext.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\X11\X11GLControl.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\X11\X11GLNative.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\X11\X11GraphicsMode.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\X11\X11Input.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\X11\X11Joystick.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\X11\X11KeyMap.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\X11\X11WindowInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\X11\X11XrandrDisplayDevice.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Platform\X11\Bindings\Glx.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<None Include="OpenTK.dll.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
<Visible>False</Visible>
<ProductName>.NET Framework 2.0 %28x86%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
<Visible>False</Visible>
<ProductName>.NET Framework 3.0 %28x86%29</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>