ee73e287fb0e0aa1b4e50ea409db1ae76287a24e
[mono.git] / mcs / class / referencesource / System.Activities.Presentation / System.Activities.Presentation / System / Activities / Presentation / FreeFormEditing / ConnectorCreationAdorner.cs
1 //----------------------------------------------------------------
2 // Copyright (c) Microsoft Corporation.  All rights reserved.
3 //----------------------------------------------------------------
4 namespace System.Activities.Presentation.FreeFormEditing
5 {
6     using System.Activities.Presentation;
7     using System.Collections.Generic;
8     using System.Diagnostics;
9     using System.Windows;
10     using System.Windows.Documents;
11     using System.Windows.Media;
12     using System.Runtime;
13
14     sealed class ConnectorCreationAdorner : Adorner
15     {
16         List<Point> linkPoints;
17         public ConnectorCreationAdorner(UIElement adornedElement, List<Point> linkPoints)
18             : base(adornedElement)
19         {
20             Fx.Assert(adornedElement != null, "adornedElement is null");
21             this.IsHitTestVisible = false;
22             this.linkPoints = linkPoints;
23         }
24
25         protected override void OnRender(DrawingContext drawingContext)
26         {
27             if (drawingContext != null)
28             {
29                 SolidColorBrush renderBrush = new SolidColorBrush(WorkflowDesignerColors.WorkflowViewElementSelectedBorderColor);
30                 Pen renderPen = new Pen(renderBrush, FreeFormPanel.ConnectorEditorThickness);
31                 for (int i = 0; i < linkPoints.Count - 1; i++)
32                 {
33                     drawingContext.DrawLine(renderPen, linkPoints[i], linkPoints[i + 1]);
34                 }
35             }
36             base.OnRender(drawingContext);
37         }
38     }
39 }