protected internal virtual void OnPaintSelected(ActivityDesignerPaintEventArgs e, bool primarySelection, Point[] segmentEditPoints)
        {
            CompositeDesignerTheme designerTheme = e.DesignerTheme as CompositeDesignerTheme;

            if (designerTheme != null)
            {
                using (Pen pen = new Pen(WorkflowTheme.CurrentTheme.AmbientTheme.SelectionForeColor, 1f))
                {
                    Size connectorCapSize = new Size(designerTheme.ConnectorSize.Width / 5, designerTheme.ConnectorSize.Height / 5);
                    Size connectorSize    = designerTheme.ConnectorSize;
                    ActivityDesignerPaint.DrawConnectors(e.Graphics, pen, new List <Point>(this.ConnectorSegments).ToArray(), connectorCapSize, connectorSize, designerTheme.ConnectorStartCap, designerTheme.ConnectorEndCap);
                }
                if (this.source != null)
                {
                    this.source.OnPaint(e, false);
                }
                ReadOnlyCollection <Point> connectorSegments = this.ConnectorSegments;
                for (int i = 1; i < (connectorSegments.Count - 1); i++)
                {
                    this.PaintEditPoints(e, connectorSegments[i], false);
                }
                for (int j = 0; j < segmentEditPoints.Length; j++)
                {
                    this.PaintEditPoints(e, segmentEditPoints[j], true);
                }
                if (this.target != null)
                {
                    this.target.OnPaint(e, false);
                }
            }
        }
        protected internal virtual void OnPaintEdited(ActivityDesignerPaintEventArgs e, Point[] segments, Point[] segmentEditPoints)
        {
            CompositeDesignerTheme designerTheme = e.DesignerTheme as CompositeDesignerTheme;

            if (designerTheme != null)
            {
                using (Pen pen = new Pen(e.AmbientTheme.SelectionForegroundPen.Color, e.AmbientTheme.SelectionForegroundPen.Width))
                {
                    pen.DashStyle = DashStyle.Dash;
                    Size connectorCapSize = new Size(designerTheme.ConnectorSize.Width / 5, designerTheme.ConnectorSize.Height / 5);
                    Size connectorSize    = designerTheme.ConnectorSize;
                    ActivityDesignerPaint.DrawConnectors(e.Graphics, pen, segments, connectorCapSize, connectorSize, designerTheme.ConnectorStartCap, designerTheme.ConnectorEndCap);
                }
                if (this.source != null)
                {
                    this.source.OnPaint(e, false);
                }
                for (int i = 1; i < (segments.Length - 1); i++)
                {
                    this.PaintEditPoints(e, segments[i], false);
                }
                for (int j = 0; j < segmentEditPoints.Length; j++)
                {
                    this.PaintEditPoints(e, segmentEditPoints[j], true);
                }
                if (this.target != null)
                {
                    this.target.OnPaint(e, false);
                }
            }
        }
        protected internal virtual void OnPaint(ActivityDesignerPaintEventArgs e)
        {
            CompositeDesignerTheme designerTheme = e.DesignerTheme as CompositeDesignerTheme;

            if (designerTheme != null)
            {
                Size connectorCapSize = new Size(designerTheme.ConnectorSize.Width / 5, designerTheme.ConnectorSize.Height / 5);
                Size connectorSize    = designerTheme.ConnectorSize;
                ActivityDesignerPaint.DrawConnectors(e.Graphics, e.DesignerTheme.ForegroundPen, new List <Point>(this.ConnectorSegments).ToArray(), connectorCapSize, connectorSize, designerTheme.ConnectorStartCap, designerTheme.ConnectorEndCap);
            }
        }
        protected void DrawConnectors(Graphics graphics, Pen pen, Point[] points, LineAnchor startCap, LineAnchor endCap)
        {
            Size empty      = Size.Empty;
            Size maxCapSize = Size.Empty;
            CompositeDesignerTheme designerTheme = base.DesignerTheme as CompositeDesignerTheme;

            if (designerTheme != null)
            {
                empty      = new Size(designerTheme.ConnectorSize.Width / 3, designerTheme.ConnectorSize.Height / 3);
                maxCapSize = designerTheme.ConnectorSize;
            }
            ActivityDesignerPaint.DrawConnectors(graphics, pen, points, empty, maxCapSize, startCap, endCap);
        }
Exemplo n.º 5
0
        protected void DrawConnectors(Graphics graphics, Pen pen, Point[] points, LineAnchor startCap, LineAnchor endCap)
        {
            Size arrowCapSize = Size.Empty;
            Size maxCapSize   = Size.Empty;

            CompositeDesignerTheme compositeDesignerTheme = DesignerTheme as CompositeDesignerTheme;

            if (compositeDesignerTheme != null)
            {
                arrowCapSize = new Size(compositeDesignerTheme.ConnectorSize.Width / 3, compositeDesignerTheme.ConnectorSize.Height / 3);
                maxCapSize   = compositeDesignerTheme.ConnectorSize;
            }
            ActivityDesignerPaint.DrawConnectors(graphics, pen, points, arrowCapSize, maxCapSize, startCap, endCap);
        }