code: private Point getDropPoint(QuickWidget element, DropPosition pos) {
      Point dropPoint = new Point(element.getCenterLocation().x, element.getCenterLocation().y);
      if (pos == DropPosition.CENTER) {
        return dropPoint;
      }
  
      Point dragPoint = new Point(this.getCenterLocation().x, this.getCenterLocation().y);
  
      // Find the side of the DesktopWindowRect of the widget that as the intersect
      Point
          dragIntersectPoint =
          intersection(dragPoint.x, dragPoint.y, dropPoint.x, dropPoint.y, this.getRect());
  
      if (dragIntersectPoint != null) {
        Point
            dropIntersectPoint =
            intersection(dragPoint.x, dragPoint.y, dropPoint.x, dropPoint.y, element.getRect());
  
        if (dropIntersectPoint != null) {
          if (pos == DropPosition.EDGE) {
            return dropIntersectPoint;
          }
  
          // Get the mid point of the line
          return new Point((dragIntersectPoint.x + dropIntersectPoint.x) / 2,
                           (dragIntersectPoint.y + dropIntersectPoint.y) / 2);
        }
      }
  
      return null;
    }
docs: The drop point is on the quick widget passed in