Я думаю, что ключевым моментом здесь является попытка использовать ТОЧКИ вместо прямоугольников, а затем нарисовать линии для соединения этих точек, чтобы отобразить любую произвольную фигуру, которую редактирует пользователь.
Может быть, использовать массив для записи начальных позиций всех четырех точек, затем, основываясь на пользовательском вводе, обновить эти точки и обновить рисунок линий и способ их соединения.