Мне нужен алгоритм, который найдет место для окна гаджета в первом доступном пространстве между другими окнами гаджета, уже находящимися на экране. В основном экран будет содержать окна гаджетов разных размеров, все в разных позициях. При добавлении на экран другого гаджета фиксированного размера мне нужен способ тренировки, где гаджет можно разместить, т. Е. В пустом пространстве между гаджетами. Если алгоритм не смог найти нужное пространство, то гаджет просто разместится в нижней части существующих гаджетов.
Я думал о создании двумерного массива в, представляющего экран, содержащий все гаджеты и занимаемое ими пространство, но я думаю, что, вероятно, есть более эффективный способ сделать это.
Требования следующие
- Перемещаясь слева направо / сверху вниз, найдите первое доступное пустое пространство, которое будет полностью соответствовать окну гаджета с фиксированным отступом от окружающих гаджетов.
- Если пустое место не найдено, поместите гаджет в левом нижнем углу всех других гаджетов.
Спасибо.