private GoLink DrawEdge(GoNodeWrapper nodeWrapper, GoView myView, InstructionNode backNode, GoLayer layer, Pen pen) { GoLink link = new GoLink(); var backNodeWrapper = GetNodeWrapper(backNode); link.Pen = pen; link.ToPort = nodeWrapper.Node.LeftPort; if (backNodeWrapper.Node == nodeWrapper.Node) { link.FromPort = backNodeWrapper.Node.RightPort; link.Style = GoStrokeStyle.Bezier; link.CalculateRoute(); foreach (int index in new[] { 1, 2 }) { link.SetPoint(index, new PointF(link.GetPoint(index).X, link.GetPoint(index).Y - 40)); } } else { link.FromPort = backNodeWrapper.Node.RightPort; } layer.Add(link); link.PenWidth = 3; return(link); }
private void DrawFlowLinks(GoNodeWrapper nodeWrapper, GoView myView) { foreach (InstructionNode wrapper in nodeWrapper.InstructionNode.ProgramFlowForwardRoutes) { Color randomColor; GoLink link = new GoLink(); link.FromArrow = true; link.ToPort = nodeWrapper.Node.RightPort; link.Pen = new Pen(link.Pen.Brush) { DashStyle = DashStyle.Dash }; link.PenWidth = 1; link.Style = GoStrokeStyle.RoundedLineWithJumpGaps; link.BrushStyle = GoBrushStyle.EllipseGradient; var backNode = GetNodeWrapper(wrapper); link.FromPort = backNode.Node.LeftPort; myView.Document.Add(link); randomColor = Color.Black; link.PenColor = randomColor; } }