Вам нужно будет использовать холст, если вы хотите, чтобы квадраты появлялись там, где пользователь щелкает мышью и перетаскивает их.Вам нужно было бы ограничить движение курсора так, чтобы размеры прямоугольника по x и y были одинаковыми.
При каждом событии перемещения мыши вы должны проверять, находится ли курсор над одним изсуществующие квадраты и не допускать дальнейшего роста квадрата.
Для перетаскивания существующих квадратов измените событие мыши, чтобы проверить, что находится под курсором.Если это холст, запустите режим рисования квадратов, если это прямоугольник (квадрат), то начните режим перетаскивания.Опять же, вам нужно использовать событие перемещения мыши, чтобы убедиться, что квадрат не пересекается ни с одним из существующих квадратов.