namespace Quik
{
///
/// A 2 dimensional Vector.
///
public struct QuikVec2
{
public float X;
public float Y;
}
///
/// A RGBA color value.
///
public struct QuikColor
{
///
/// Red channel.
///
public byte R;
///
/// Green channel.
///
public byte G;
///
/// Blue channel.
///
public byte B;
///
/// Alpha channel.
///
public byte A;
}
///
/// A bezier curve segment.
///
public struct QuikBezier
{
///
/// Segment start point.
///
public QuikVec2 Start;
///
/// Start point control point.
///
public QuikVec2 ControlA;
///
/// End point control point.
///
public QuikVec2 ControlB;
///
/// Segment end point.
///
public QuikVec2 End;
}
///
/// A line segment.
///
public struct QuikLine
{
///
/// Start point.
///
public QuikVec2 Start;
///
/// End point.
///
public QuikVec2 End;
}
///
/// A rectangle.
///
public struct QuikRectangle
{
///
/// Rectangle minimum point.
///
public QuikVec2 Min;
///
/// Rectangle maximum point.
///
public QuikVec2 Max;
}
///
/// An ellipse.
///
/// It is undefined to have an ellipse with non-orthogonal axes.
public struct QuikEllipse
{
///
/// Ellipse center point.
///
public QuikVec2 Center;
///
/// First ellipse axis.
///
public QuikVec2 AxisA;
///
/// Second ellipse axis.
///
public QuikVec2 AxisB;
}
///
/// A triangle.
///
public struct QuikTriangle
{
///
/// First vertex.
///
public QuikVec2 A;
///
/// Second vertex.
///
public QuikVec2 B;
///
/// Third vertex.
///
public QuikVec2 C;
}
}