public SingleConnectionDrawer(Grid grid) { _grid = grid; _mainLineIn = DrawerHelper.GetLine(); _mainLineOut = DrawerHelper.GetLine(DrawerHelper.BlueBrush); _firstLine = DrawerHelper.GetLine(); _secondLine = DrawerHelper.GetLine(DrawerHelper.BlueBrush); _outFirstLine = DrawerHelper.GetLine(); _outSecondLine = DrawerHelper.GetLine(DrawerHelper.BlueBrush); AddLines(); void AddLines() { _grid.Children.Add(_mainLineIn); _grid.Children.Add(_mainLineOut); _grid.Children.Add(_firstLine); _grid.Children.Add(_secondLine); _grid.Children.Add(_outFirstLine); _grid.Children.Add(_outSecondLine); } }
public void Draw(LetterView from, LetterView to, SignalDirection direction) { Point start = DrawerHelper.GetLocation(from, _grid, _xOffset, _yOffset); Point end = DrawerHelper.GetLocation(to, _grid, _xOffset, _yOffset); Point middlePoint = DrawerHelper.GetMiddlePoint(start, end); DrawerHelper.SetLine(_mainLineIn, start, middlePoint); DrawerHelper.SetLine(_mainLineOut, middlePoint, end); DrawerHelper.SetHorizontalLine(_firstLine, start, 5); DrawerHelper.SetHorizontalLine(_secondLine, end, 5); var v = new Vector(from.Width + 4, 0); DrawerHelper.SetHorizontalLine(_outFirstLine, start + v, 50); DrawerHelper.SetHorizontalLine(_outSecondLine, end + v, 50); }
public void DrawFirst(LetterView from, LetterView to) { Point start = DrawerHelper.GetLocation(from, _grid, _xOffset, _yOffset); Point end = DrawerHelper.GetLocation(to, _grid, to.Width + 2 + _xOffset + 7, _yOffset); DrawerHelper.SetLine(_mainLineIn, start, end); DrawerHelper.SetHorizontalLine(_firstLineIn, start, 5); DrawerHelper.SetHorizontalLine(_secondLineIn, end, -5); var v = new Vector(from.Width + 4, 0); Point outerStart = Point.Add(start, v); DrawerHelper.SetHorizontalLine(_startOuterLineIn, outerStart, 50); Point outerEnd = Point.Add(end, -v); DrawerHelper.SetHorizontalLine(_endOuterLineIn, outerEnd, -50); }
public DoubleConnectionDrawer(Grid grid) { _grid = grid; _mainLineIn = DrawerHelper.GetLine(); _firstLineIn = DrawerHelper.GetLine(); _secondLineIn = DrawerHelper.GetLine(); _startOuterLineIn = DrawerHelper.GetLine(); _endOuterLineIn = DrawerHelper.GetLine(); var brush = DrawerHelper.BlueBrush; _mainLineOut = DrawerHelper.GetLine(brush); _firstLineOut = DrawerHelper.GetLine(brush); _secondLineOut = DrawerHelper.GetLine(brush); _startOuterLineOut = DrawerHelper.GetLine(brush); _endOuterLineOut = DrawerHelper.GetLine(brush); AddLines(); void AddLines() { _grid.Children.Add(_mainLineIn); Grid.SetColumnSpan(_mainLineIn, 2); _grid.Children.Add(_firstLineIn); Grid.SetColumnSpan(_firstLineIn, 2); _grid.Children.Add(_secondLineIn); Grid.SetColumnSpan(_secondLineIn, 2); _grid.Children.Add(_startOuterLineIn); Grid.SetColumnSpan(_startOuterLineIn, 2); _grid.Children.Add(_endOuterLineIn); Grid.SetColumnSpan(_endOuterLineIn, 2); _grid.Children.Add(_mainLineOut); Grid.SetColumnSpan(_mainLineOut, 2); _grid.Children.Add(_firstLineOut); Grid.SetColumnSpan(_firstLineOut, 2); _grid.Children.Add(_secondLineOut); Grid.SetColumnSpan(_secondLineOut, 2); _grid.Children.Add(_startOuterLineOut); Grid.SetColumnSpan(_startOuterLineOut, 2); _grid.Children.Add(_endOuterLineOut); Grid.SetColumnSpan(_endOuterLineOut, 2); } }