/// <summary> /// </summary> /// <exception cref="ArgumentNullException"><para><paramref name="paintParams"/> is <see langword="null"/>.</para></exception> public void DrawShadow(NuGenPaintParams paintParams) { if (paintParams == null) { throw new ArgumentNullException("paintParams"); } Graphics g = paintParams.Graphics; Rectangle bounds = paintParams.Bounds; int alpha = 0; Color baseColor = Color.Black; int alphaStep = 5; Padding deflatePadding = new Padding(1); using (NuGenGrfxMode mode = new NuGenGrfxMode(g)) { NuGenControlPaint.SetGraphicsVeryHighQuality(g); using (Pen pen = new Pen(Color.FromArgb(alpha, baseColor))) { for (int i = 0; i <= _shadowStepCount; i++) { NuGenControlPaint.DrawRoundRectangle(g, pen, bounds, _shadowRadius); pen.Color = Color.FromArgb(alpha += alphaStep, baseColor); bounds = NuGenControlPaint.DeflateRectangle(bounds, deflatePadding); if (i == 1) { alphaStep = 10; } } } } }