public void ArcToClosed(IGeometryTarget target)
 {
     const double pi = Math.PI;
     target.MoveTo(Left, Top);
     target.ArcTo(Left, Top, Width, Height, 0, pi / 2);
     target.Close();
 }
 public void LineToClosed(IGeometryTarget target)
 {
     target.MoveTo(Left, Top);
     target.LineTo(Width, Height/2);
     target.LineTo(Height/2, Height);
     target.Close();
 }
        public void ArcToCounterClockwise(IGeometryTarget target)
        {
            const double pi = Math.PI;

            target.MoveTo(Left, Top);
            target.ArcTo(Left, Top, Width, Height, pi / 2, 0, ArcDirection.CounterClockwise);
        }
        public void ArcTo(IGeometryTarget target)
        {
            const double pi = Math.PI;

            target.MoveTo(Left, Top);
            target.ArcTo(Left, Top, Width, Height, 0, pi / 2);
        }
 public void LineToClosed(IGeometryTarget target)
 {
     target.MoveTo(Left, Top);
     target.LineTo(Width, Height / 2);
     target.LineTo(Height / 2, Height);
     target.Close();
 }
 public void BezierToClosed(IGeometryTarget target)
 {
     target.MoveTo(Left, Top);
     target.BezierTo(Left + Width, Top, Left, Top + Height, Left + Width, Top + Height);
     target.Close();
 }
 public void ArcToCounterClockwise(IGeometryTarget target)
 {
     const double pi = Math.PI;
     target.MoveTo(Left, Top);
     target.ArcTo(Left, Top, Width, Height, pi/2, 0, ArcDirection.CounterClockwise);
 }
 public static void MoveTo(IGeometryTarget _, Point p)
 {
     _.MoveTo(p.X, p.Y);
 }
 public void BezierTo(IGeometryTarget target)
 {
     target.MoveTo(Left, Top);
     target.BezierTo(Left + Width, Top, Left, Top + Height, Left + Width, Top + Height);
 }