             return
         }
         
+        let originRectX:CGFloat = rect.origin.x
+        let originRectY:CGFloat = rect.origin.y
         let viewMargin:CGFloat = DLink.kMargin
         let markerRadius:CGFloat = CGFloat(self.markerRadius)
         let markerRadius2:CGFloat = markerRadius + markerRadius

        
        if originMinX <= destinationMinX
        {
            initialX = originWidth + viewMargin
            endingX = rectWidth - destinationWidth - markerRadius2
            
            if originMinY <= destinationMinY
            {
                initialY = originHeight_2 + viewMargin
                endingY = rectHeight - destinationHeight_2
            }
            else
            {
                initialY = rectHeight - originHeight_2
                endingY = destinationHeight_2 + viewMargin
            }
            
            originPointX = initialX

        }
        else
        {
            initialX = destinationWidth + markerRadius2 + viewMargin + originRectX
            endingX = rectWidth - originWidth + originRectX
            
            if originMinY <= destinationMinY
            {
                initialY = rectHeight - destinationHeight_2 + originRectY
                endingY = originHeight_2 + viewMargin + originRectY
            }
            else
            {
                initialY = destinationHeight_2 + viewMargin + originRectY
                endingY = rectHeight - originHeight_2 + originRectY
            }
            
            originPointX = endingX
