Esempio n. 1
0
        static void GetBorderBorderDrawingInfo(CssBox box,
                                               CssSide borderSide,
                                               out CssBorderStyle borderStyle,
                                               out Color borderColor,
                                               out float actualBorderWidth)
        {
            switch (borderSide)
            {
            case CssSide.Top:

                actualBorderWidth = box.ActualBorderTopWidth;
                borderStyle       = box.BorderTopStyle;
                borderColor       = (borderStyle == CssBorderStyle.Inset) ?
                                    Darken(box.BorderTopColor) :
                                    box.BorderTopColor;
                break;

            case CssSide.Left:
                actualBorderWidth = box.ActualBorderLeftWidth;
                borderStyle       = box.BorderLeftStyle;
                borderColor       = (borderStyle == CssBorderStyle.Inset) ?
                                    Darken(box.BorderLeftColor) :
                                    box.BorderLeftColor;
                break;

            case CssSide.Right:
                actualBorderWidth = box.ActualBorderRightWidth;
                borderStyle       = box.BorderRightStyle;
                borderColor       = (borderStyle == CssBorderStyle.Outset) ?
                                    Darken(box.BorderRightColor) :
                                    box.BorderRightColor;
                break;

            case CssSide.Bottom:
                actualBorderWidth = box.ActualBorderBottomWidth;
                borderStyle       = box.BorderBottomStyle;
                borderColor       = (borderStyle == CssBorderStyle.Outset) ?
                                    Darken(box.BorderBottomColor) :
                                    box.BorderBottomColor;
                break;

            default:
                throw new ArgumentOutOfRangeException("border");
            }
        }
Esempio n. 2
0
        static void GetBorderBorderDrawingInfo(CssBox box,
            CssSide borderSide,
            out CssBorderStyle borderStyle,
            out Color borderColor,
            out float actualBorderWidth)
        {
            switch (borderSide)
            {
                case CssSide.Top:

                    actualBorderWidth = box.ActualBorderTopWidth;
                    borderStyle = box.BorderTopStyle;
                    borderColor = (borderStyle == CssBorderStyle.Inset) ?
                                    Darken(box.BorderTopColor) :
                                    box.BorderTopColor;
                    break;
                case CssSide.Left:
                    actualBorderWidth = box.ActualBorderLeftWidth;
                    borderStyle = box.BorderLeftStyle;
                    borderColor = (borderStyle == CssBorderStyle.Inset) ?
                                    Darken(box.BorderLeftColor) :
                                    box.BorderLeftColor;
                    break;
                case CssSide.Right:
                    actualBorderWidth = box.ActualBorderRightWidth;
                    borderStyle = box.BorderRightStyle;
                    borderColor = (borderStyle == CssBorderStyle.Outset) ?
                                    Darken(box.BorderRightColor) :
                                    box.BorderRightColor;
                    break;
                case CssSide.Bottom:
                    actualBorderWidth = box.ActualBorderBottomWidth;
                    borderStyle = box.BorderBottomStyle;
                    borderColor = (borderStyle == CssBorderStyle.Outset) ?
                                    Darken(box.BorderBottomColor) :
                                    box.BorderBottomColor;
                    break;
                default:
                    throw new ArgumentOutOfRangeException("border");
            }
        }
Esempio n. 3
0
 public CssBorder(CssNumericValue width, CssBorderStyle style, CssColor color)
 {
     Width = width;
     Style = style;
     Color = color;
 }
Esempio n. 4
0
 public static string ToCssStringValue(this CssBorderStyle borderStyle)
 {
     return(_cssBorderStyleMap.GetStringFromValue(borderStyle));
 }
Esempio n. 5
0
 public static T SetBorderStyle <T>(this T control, CssBorderStyle borderStyle) where T : HtmlControl
 {
     control.BorderStyle = borderStyle;
     return(control);
 }
Esempio n. 6
0
 /// <summary>
 /// Get pen to be used for border draw respecting its style.
 /// </summary>
 static Pen GetPen(GraphicsPlatform platform, CssBorderStyle style, Color color, float width)
 {
     var p = new Pen(color);
     p.Width = width;
     switch (style)
     {
         case CssBorderStyle.Solid:// "solid":
             p.DashStyle = DashStyle.Solid;
             break;
         case CssBorderStyle.Dotted:// "dotted":
             p.DashStyle = DashStyle.Dot;
             break;
         case CssBorderStyle.Dashed:// "dashed":
             p.DashStyle = DashStyle.Dash;
             if (p.Width < 2)
                 p.DashPattern = new[] { 4, 4f }; // better looking
             break;
     }
     return p;
 }
Esempio n. 7
0
 public CssBorder(CssNumericValue width, CssBorderStyle style, CssColor color)
 {
     Width = width;
     Style = style;
     Color = color;
 }