TUM.CMS.VplControl.Core.Connector.Origin_PropertyChanged C# (CSharp) Method

Origin_PropertyChanged() private method

private Origin_PropertyChanged ( object sender, PropertyChangedEventArgs e ) : void
sender object
e System.ComponentModel.PropertyChangedEventArgs
return void
        private void Origin_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            Point startBezierPoint, endBezierPoint;

            if (HostCanvas.GraphFlowDirection == GraphFlowDirections.Horizontal)
            {
                startBezierPoint = StartPort.Origin.Point +
                                   new Vector((StartPort.Origin.Point - EndPort.Origin.Point).Length/2, 0);
                endBezierPoint = EndPort.Origin.Point +
                                 new Vector(-(StartPort.Origin.Point - EndPort.Origin.Point).Length/2, 0);
            }
            else
            {
                startBezierPoint = StartPort.Origin.Point +
                                   new Vector(0, (StartPort.Origin.Point - EndPort.Origin.Point).Length/2);
                endBezierPoint = EndPort.Origin.Point +
                                 new Vector(0, -(StartPort.Origin.Point - EndPort.Origin.Point).Length/2);
            }

            StartBezierPoint.X = startBezierPoint.X;
            StartBezierPoint.Y = startBezierPoint.Y;

            EndBezierPoint.X = endBezierPoint.X;
            EndBezierPoint.Y = endBezierPoint.Y;

            srtEllipse.UpdateLayout();
             
            Canvas.SetLeft(srtEllipse, StartPort.Origin.X - srtEllipse.ActualWidth/2);
            Canvas.SetTop(srtEllipse, StartPort.Origin.Y - srtEllipse.ActualHeight/2);

            Canvas.SetLeft(endEllipse, EndPort.Origin.X - endEllipse.ActualWidth/2);
            Canvas.SetTop(endEllipse, EndPort.Origin.Y - endEllipse.ActualHeight/2);
        }