using System;
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.Security;
namespace SharpGL.Tesselators
{
///
/// Begins tesselation.
///
/// The mode.
public delegate void Begin(uint mode);
///
/// Set the edge flag.
///
/// if set to true [flag].
public delegate void EdgeFlag(bool flag);
///
/// Vertex data.
///
/// The data.
public delegate void Vertex(IntPtr data);
///
/// End tesselation.
///
public delegate void End();
///
/// Combine data.
///
/// The coords.
/// The vertex data.
/// The weight.
/// The out data.
public delegate void Combine(double[] coords, IntPtr vertexData, float[] weight, double[] outData);
///
/// Error function.
///
/// The error.
public delegate void Error(uint error);
///
/// Begin with user data.
///
/// The mode.
/// The user data.
public delegate void BeginData(uint mode, IntPtr userData);
///
/// Edge flag with user data.
///
/// if set to true [flag].
/// The user data.
public delegate void EdgeFlagData(bool flag, IntPtr userData);
///
/// Vertex with user data.
///
/// The data.
/// The user data.
public delegate void VertexData(IntPtr data, IntPtr userData);
///
/// End with data.
///
/// The user data.
public delegate void EndData(IntPtr userData);
///
/// Combine with data.
///
/// The coords.
/// The vertex data.
/// The weight.
/// The out data.
/// The user data.
public delegate void CombineData(double[] coords, IntPtr vertexData, float[] weight, double[] outData, IntPtr userData);
///
/// Error with data.
///
/// The error.
/// The user data.
public delegate void ErrorData(uint error, IntPtr userData);
}