public override void DrawRoundRect(double left, double bottom, double right, double top, double radius)
 {
     if (roundRect == null)
     {
         roundRect = new RoundedRect(left, bottom, right, top, radius);
         roundRect.NormalizeRadius();
     }
     else
     {
         roundRect.SetRect(left, bottom, right, top);
         roundRect.SetRadius(radius);
         roundRect.NormalizeRadius();
     }
     var v1 = GetFreeVxs();
     this.Draw(roundRect.MakeVxs(v1));
     ReleaseVxs(ref v1);
 }
 public override void FillRoundRectangle(double left, double bottom, double right, double top, double radius)
 {
     if (roundRect == null)
     {
         roundRect = new Agg.VertexSource.RoundedRect(left, bottom, right, top, radius);
         roundRect.NormalizeRadius();
     }
     else
     {
         roundRect.SetRect(left, bottom, right, top);
         roundRect.SetRadius(radius);
         roundRect.NormalizeRadius();
     }
     var v1 = GetFreeVxs();
     this.Fill(roundRect.MakeVxs(v1));
     ReleaseVxs(ref v1);
 }