Implemented GL.SupportsFunction(MethodInfo).

This commit is contained in:
the_fiddler 2009-02-28 20:00:34 +00:00
parent 132c2ab856
commit 89bfdd4568

View file

@ -335,39 +335,24 @@ namespace OpenTK.Graphics
#endregion
#region static bool SupportsFunction(Type function)
#region static bool SupportsFunction(MethodInfo function)
/// <summary>
/// Checks if a given OpenGL function is supported by the current context
/// Checks if a given OpenGL function is supported by the current context.
/// </summary>
/// <param name="method">The System.Reflection.MethodInfo of the OpenGL function.</param>
/// <returns>True if the function is supported, false otherwise</returns>
static bool SupportsFunction(MethodInfo method)
/// <param name="method">The System.Reflection.MethodInfo for the OpenGL function.</param>
/// <returns>True if the function is supported, false otherwise.</returns>
static bool SupportsFunction(MethodInfo function)
{
throw new NotImplementedException();
#if false
lock (gl_lock)
{
if (function == null)
throw new ArgumentNullException("function");
sb.Remove(0, sb.Length);
if (!function.Name.StartsWith("gl"))
sb.Append("gl");
sb.Append(function);
//if (!function.EndsWith(extension))
// sb.Append(extension);
FieldInfo f = delegatesClass.GetField(sb.ToString(), BindingFlags.Static | BindingFlags.NonPublic);
if (f == null)
AutoGeneratedAttribute[] attr = (AutoGeneratedAttribute[])
function.GetCustomAttributes(typeof(AutoGeneratedAttribute), false);
if (attr.Length == 0)
return false;
return f.GetValue(null) != null;
return false;
}
#endif
return SupportsFunction(attr[0].EntryPoint);
}
#endregion