ComponentFactory.Krypton.Toolkit.RenderStandard.AddSlantFarPath C# (CSharp) Method

AddSlantFarPath() private static method

private static AddSlantFarPath ( GraphicsPath borderPath, VisualOrientation orientation, Rectangle rect, bool forBorder ) : void
borderPath System.Drawing.Drawing2D.GraphicsPath
orientation VisualOrientation
rect System.Drawing.Rectangle
forBorder bool
return void
        private static void AddSlantFarPath(GraphicsPath borderPath,
                                            VisualOrientation orientation,
                                            Rectangle rect,
                                            bool forBorder)
        {
            // Cache the distance to use for the slant
            int x = _spacingTabSlantPadding;
            int xW = Math.Min(x, rect.Width);
            int xH = Math.Min(x, rect.Height);

            switch (orientation)
            {
                case VisualOrientation.Top:
                    if (!forBorder)
                        borderPath.AddLine(rect.Right, rect.Bottom, rect.Left, rect.Bottom);

                    borderPath.AddLine(rect.Left, rect.Bottom, rect.Left, rect.Top);
                    borderPath.AddLine(rect.Left, rect.Top, rect.Right - xW, rect.Top);
                    borderPath.AddLine(rect.Right - xW, rect.Top, rect.Right, rect.Bottom);
                    break;
                case VisualOrientation.Bottom:
                    if (!forBorder)
                        borderPath.AddLine(rect.Right, rect.Top, rect.Left, rect.Top);

                    borderPath.AddLine(rect.Left, rect.Top, rect.Left, rect.Bottom);
                    borderPath.AddLine(rect.Left, rect.Bottom, rect.Right - xW, rect.Bottom);
                    borderPath.AddLine(rect.Right - xW, rect.Bottom, rect.Right, rect.Top);
                    break;
                case VisualOrientation.Left:
                    if (!forBorder)
                        borderPath.AddLine(rect.Right, rect.Top, rect.Right, rect.Bottom);

                    borderPath.AddLine(rect.Right, rect.Bottom, rect.Left, rect.Bottom);
                    borderPath.AddLine(rect.Left, rect.Bottom, rect.Left, rect.Top + xH);
                    borderPath.AddLine(rect.Left, rect.Top + xH, rect.Right, rect.Top - 1);
                    break;
                case VisualOrientation.Right:
                    if (!forBorder)
                        borderPath.AddLine(rect.Left, rect.Top, rect.Left, rect.Bottom);

                    borderPath.AddLine(rect.Left, rect.Bottom, rect.Right, rect.Bottom);
                    borderPath.AddLine(rect.Right, rect.Bottom, rect.Right, rect.Top + xH);
                    borderPath.AddLine(rect.Right, rect.Top + xH, rect.Left, rect.Top - 1);
                    break;
            }
        }
RenderStandard