internal static void RenderBackgroundInternal( Graphics g, Rectangle rect, Color baseColor, Color borderColor, RoundStyle style, int roundWidth, float basePosition, bool drawBorder, bool drawGlass) { if (drawBorder) { rect.Width--; rect.Height--; } if (style != RoundStyle.None) { using (GraphicsPath path = GraphicsPathHelper.CreatePath(rect, roundWidth, style, false)) { g.FillPath(new SolidBrush(baseColor), path); } //if (baseColor.A > 80) //{ // Rectangle rectTop = rect; // // using (GraphicsPath pathTop = GraphicsPathHelper.CreatePath( // rectTop, roundWidth, RoundStyle.Top, false)) // { // using (SolidBrush brushAlpha = // new SolidBrush(Color.FromArgb(128, 255, 255, 255))) // { // g.FillPath(brushAlpha, pathTop); // } // } //} //if (drawGlass) //{ // RectangleF glassRect = rect; // if (mode == LinearGradientMode.Vertical) // { // glassRect.Y = rect.Y + rect.Height * basePosition; // glassRect.Height = (rect.Height - rect.Height * basePosition) * 2; // } // else // { // glassRect.X = rect.X + rect.Width * basePosition; // glassRect.Width = (rect.Width - rect.Width * basePosition) * 2; // } // ControlPaintEx.DrawGlass(g, glassRect, 170, 0); //} if (drawBorder) { using (GraphicsPath path = GraphicsPathHelper.CreatePath(rect, roundWidth, style, false)) { using (Pen pen = new Pen(borderColor)) { g.DrawPath(pen, path); } } rect.Inflate(-1, -1); //using (GraphicsPath path = // GraphicsPathHelper.CreatePath(rect, roundWidth, style, false)) //{ // using (Pen pen = new Pen(innerBorderColor)) // { // g.DrawPath(pen, path); // } //} } } else { g.FillRectangle(new SolidBrush(baseColor), rect); //if (baseColor.A > 80) //{ // Rectangle rectTop = rect; // if (mode == LinearGradientMode.Vertical) // { // rectTop.Height = (int)(rectTop.Height * basePosition); // } // else // { // rectTop.Width = (int)(rect.Width * basePosition); // } // using (SolidBrush brushAlpha = // new SolidBrush(Color.FromArgb(128, 255, 255, 255))) // { // g.FillRectangle(brushAlpha, rectTop); // } //} //if (drawGlass) //{ // RectangleF glassRect = rect; // if (mode == LinearGradientMode.Vertical) // { // glassRect.Y = rect.Y + rect.Height * basePosition; // glassRect.Height = (rect.Height - rect.Height * basePosition) * 2; // } // else // { // glassRect.X = rect.X + rect.Width * basePosition; // glassRect.Width = (rect.Width - rect.Width * basePosition) * 2; // } // ControlPaintEx.DrawGlass(g, glassRect, 200, 0); //} if (drawBorder) { using (Pen pen = new Pen(borderColor)) { g.DrawRectangle(pen, rect); } rect.Inflate(-1, -1); //using (Pen pen = new Pen(innerBorderColor)) //{ // g.DrawRectangle(pen, rect); //} } } }