Exemple #1
0
        Point ComputeStartPoint(IConnectable firstPoint, IConnectable nextPoint, ref double startPointRelativePos, ref ConnectorDocking docking, ref ulong connectorStartPort)
        {
            var start = _startPointHint;

            if (docking == ConnectorDocking.Undefined)
            {
                start = firstPoint.GetPreferredConnectorStart(start, out startPointRelativePos, out docking, out connectorStartPort);
                if (connectorStartPort == 0)
                {
                    start = ConnectorUtilities.ComputeCenter(nextPoint.Bounds);
                    start = firstPoint.GetPreferredConnectorStart(start, out startPointRelativePos, out docking, out connectorStartPort);
                }
            }
            else
            {
                start = firstPoint.GetConnectorPoint(docking, startPointRelativePos, connectorStartPort);
            }
            return(start);
        }