Example #1
0
        public static void LayoutVertical(ComboLine comboLine, LineItem lineItem, double hOffset, double vOffset)
        {
            double num;
            double num2;
            double num3;
            double num4;
            double num5;
            double num6;
            double num7;
            double num8;
            double num9;
            double num10;
            double num11;
            double num12;

            BorderLineLayoutEngine.CalcDoubleLayout(lineItem, hOffset, vOffset, 1, out num, out num2, out num3, out num4, out num5, out num6, out num7, out num8, out num9, out num10, out num11, out num12);
            comboLine._line1.Y1 = num9;
            comboLine._line1.Y2 = num11;
            comboLine._line3.Y1 = num10;
            comboLine._line3.Y2 = num12;
            comboLine._line1.X1 = num - 1.0;
            comboLine._line1.X2 = num2 - 1.0;
            comboLine._line3.X1 = num + 1.0;
            comboLine._line3.X2 = num2 + 1.0;
        }
Example #2
0
 public static void Layout(ComboLine comboLine, LineItem lineItem, double hOffset, double vOffset)
 {
     if (lineItem.Direction == 0)
     {
         LayoutHorizontal(comboLine, lineItem, hOffset, vOffset);
     }
     else
     {
         LayoutVertical(comboLine, lineItem, hOffset, vOffset);
     }
 }
Example #3
0
        /// <summary>
        /// Pops a border line.
        /// </summary>
        /// <returns></returns>
        public UIElement Pop()
        {
            int num = _elements.Count;

            if (_seek >= (num - 1))
            {
                ComboLine line = new ComboLine();
                _elements.Add(line);
                _seek++;
                return(line);
            }
            _seek++;
            return((UIElement)_elements[_seek]);
        }
Example #4
0
        public static void LayoutHorizontal(ComboLine comboLine, LineItem lineItem, double hOffset, double vOffset)
        {
            double num;
            double num2;
            double num3;
            double num4;

            BorderLineLayoutEngine.CalcNormalLayout(lineItem, hOffset, vOffset, 0, out num, out num2, out num3, out num4);
            comboLine._line2.X1 = num;
            comboLine._line2.X2 = num2;
            comboLine._line2.Y1 = num3;
            comboLine._line2.Y2 = num4;
            comboLine._line2.StrokeDashOffset = ((lineItem.Line.StyleData.StrokeDashOffset + comboLine._line2.StrokeThickness) == 0.0) ? 0.0 : ((num + hOffset) / comboLine._line2.StrokeThickness);
        }
Example #5
0
        /// <summary>
        /// Creates a border line element or gets a border line element from BorderLinesPool"/&gt;.
        /// </summary>
        /// <param name="linePool">The line pool.</param>
        /// <param name="borderLine">The border line.</param>
        /// <returns>The border line</returns>
        public static ComboLine Create(BorderLinesPool linePool, BorderLine borderLine)
        {
            ComboLine line;

            if (linePool != null)
            {
                line = linePool.Pop() as ComboLine;
            }
            else
            {
                line = new ComboLine();
            }

            if (borderLine != null)
            {
                if (borderLine.Style == BorderLineStyle.Double)
                {
                    line._line1.Visibility      = Visibility.Visible;
                    line._line2.Visibility      = Visibility.Collapsed;
                    line._line3.Visibility      = Visibility.Visible;
                    line._line1.StrokeThickness = 1.0;
                    line._line3.StrokeThickness = 1.0;
                    if (linePool == null)
                    {
                        line._line1.Stroke = new SolidColorBrush(borderLine.Color);
                        line._line3.Stroke = new SolidColorBrush(borderLine.Color);
                    }
                    else
                    {
                        line._line1.SetColor(linePool.GetSolidBrush(borderLine.Color), borderLine.Color);
                        line._line3.SetColor(linePool.GetSolidBrush(borderLine.Color), borderLine.Color);
                    }
                    ApplyDashArray(line._line1, borderLine.StyleData.FarDash, borderLine.StyleData.StrokeDashOffset);
                    ApplyDashArray(line._line3, borderLine.StyleData.NearDash, borderLine.StyleData.StrokeDashOffset);
                    return(line);
                }

                if (borderLine.Style == BorderLineStyle.SlantedDashDot)
                {
                    line._line1.Visibility      = Visibility.Visible;
                    line._line2.Visibility      = Visibility.Visible;
                    line._line3.Visibility      = Visibility.Collapsed;
                    line._line1.StrokeThickness = 1.0;
                    line._line2.StrokeThickness = 1.0;
                    if (linePool == null)
                    {
                        line._line1.Stroke = new SolidColorBrush(borderLine.Color);
                        line._line2.Stroke = new SolidColorBrush(borderLine.Color);
                    }
                    else
                    {
                        line._line1.SetColor(linePool.GetSolidBrush(borderLine.Color), borderLine.Color);
                        line._line2.SetColor(linePool.GetSolidBrush(borderLine.Color), borderLine.Color);
                    }
                    ApplyDashArray(line._line1, borderLine.StyleData.FarDash, borderLine.StyleData.StrokeDashOffset - 1);
                    ApplyDashArray(line._line2, borderLine.StyleData.MiddleDash, borderLine.StyleData.StrokeDashOffset);
                    return(line);
                }

                line._line1.Visibility      = Visibility.Collapsed;
                line._line2.Visibility      = Visibility.Visible;
                line._line3.Visibility      = Visibility.Collapsed;
                line._line2.StrokeThickness = borderLine.StyleData.DrawingThickness;
                if (linePool == null)
                {
                    line._line2.Stroke = new SolidColorBrush(borderLine.Color);
                }
                else
                {
                    line._line2.SetColor(linePool.GetSolidBrush(borderLine.Color), borderLine.Color);
                }
                ApplyDashArray(line._line2, borderLine.StyleData.MiddleDash, borderLine.StyleData.StrokeDashOffset);
            }
            return(line);
        }