ATMLWorkBench.Forms.SignalComponent.DrawRoundRect C# (CSharp) Метод

DrawRoundRect() публичный Метод

public DrawRoundRect ( Graphics g, Brush b, Pen p, float x, float y, float width, float height, float radius ) : void
g System.Drawing.Graphics
b System.Drawing.Brush
p System.Drawing.Pen
x float
y float
width float
height float
radius float
Результат void
        public void DrawRoundRect(Graphics g, Brush b, Pen p, float x, float y, float width, float height, float radius )
        {
            GraphicsPath gp = new GraphicsPath();

            gp.AddLine(x + radius, y, x + width - ( radius * 2 ), y); // Line
            gp.AddArc(x + width - ( radius * 2 ), y, radius * 2, radius * 2, 270, 90); // Corner
            gp.AddLine(x + width, y + radius, x + width, y + height - ( radius * 2 )); // Line
            gp.AddArc(x + width - ( radius * 2 ), y + height - ( radius * 2 ), radius * 2, radius * 2, 0, 90); // Corner
            gp.AddLine(x + width - ( radius * 2 ), y + height, x + radius, y + height); // Line
            gp.AddArc(x, y + height - ( radius * 2 ), radius * 2, radius * 2, 90, 90); // Corner
            gp.AddLine(x, y + height - ( radius * 2 ), x, y + radius); // Line
            gp.AddArc(x, y, radius * 2, radius * 2, 180, 90); // Corner
            gp.CloseFigure();

            g.DrawPath(p, gp);
            if( b != null )
            {
                g.FillPath(b, gp);
            }
            gp.Dispose();
        }