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; }
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); } }
/// <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]); }
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); }
/// <summary> /// Creates a border line element or gets a border line element from BorderLinesPool"/>. /// </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); }