private void arcNegativeToolStripMenuItem_Click(object sender, EventArgs e)
{
lastSelected = "arcNegative";
OnPaintAction = cr =>
{
double xc = 128.0;
double yc = 128.0;
double radius = 100.0;
double angle1 = 45.0 * (Math.PI / 180.0); /* angles are specified */
double angle2 = 180.0 * (Math.PI / 180.0); /* in radians */
cr.LineWidth = 10.0;
cr.ArcNegative(xc, yc, radius, angle1, angle2);
cr.Stroke();
/* draw helping lines */
cr.SetSourceRGBA(1, 0.2, 0.2, 0.6);
cr.LineWidth = 6.0;
cr.Arc(xc, yc, 10.0, 0, 2 * Math.PI);
cr.Fill();
cr.Arc(xc, yc, radius, angle1, angle1);
cr.LineTo(xc, yc);
cr.Arc(xc, yc, radius, angle2, angle2);
cr.LineTo(xc, yc);
cr.Stroke();
};
Invalidate();
}