Выравнивание, распределение и зеркалирование
Блок из девяти кнопок в левой панели решает три разные задачи: собрать выделенные экраны вплотную к одному краю, разложить их с равными промежутками и отразить раскладку экрана произвольной формы. Кнопки включаются по количеству выделенного, поэтому блок почти всегда выглядит частично погашенным — это рабочее состояние, а не ошибка.
Сетка кнопок
Блок устроен как сетка 3×3. В центре — «собрать в центр композиции», по сторонам от него — четыре края, по углам — зеркалирование и распределение. Под сеткой стоит поле зазора с ползунком.
| Кнопка | Что делает | Активна при |
|---|---|---|
| ⇤ ⇥ ⤒ ⤓ — по левому, правому, верхнему, нижнему краю | Сдвигает выделенные экраны друг к другу в сторону указанного края | выделено 2 и более |
| ⛶ — собрать в центр композиции | Стягивает выделенные экраны к центру их общего габарита по обеим осям | выделено 2 и более |
| Равномерно по горизонтали и по вертикали | Оставляет крайние экраны на месте, остальным задаёт равные промежутки | выделено 3 и более |
| ⇋ ⇵ — отразить по горизонтали и вертикали | Зеркалит раскладку кабинетов внутри одного экрана | выделен один экран произвольной формы |

Порог «3 и более» у распределения не произволен: между двумя экранами распределять нечего — промежуток там ровно один, и он уже такой, какой есть.
Выравнивание работает по рядам, а не по общей линии
Это главное, что стоит понять про четыре кнопки краёв: они не ставят все экраны на одну линию. Экраны сначала разбиваются на независимые группы — в одну группу попадают те, что перекрываются по перпендикулярной оси (для выравнивания влево и вправо это перекрытие по высоте, для верха и низа — по ширине). Каждая группа обрабатывается отдельно и ничего не знает о соседних.
Внутри группы экраны выстраиваются в цепочку: ближайший к нужному краю остаётся на месте и служит опорой, а каждый следующий встаёт вплотную к предыдущему. Поэтому кнопка «по левому краю» не двигает левую границу выделения — она закрывает щели между экранами, подтягивая их влево.
Пример: два ряда по два экрана
Четыре экрана 2000×1500 мм стоят двумя рядами — верхний на y = 0, нижний на y = 3000, внутри каждого ряда между экранами щель:
| Экран | Ряд | X до | X после «по левому краю» |
|---|---|---|---|
| A | верхний | 0 | 0 — опора своего ряда, не двигается |
| B | верхний | 3500 | 2000 — встал вплотную к A |
| C | нижний | 800 | 0 — опора своего ряда, подтянулся к общему левому краю |
| D | нижний | 4200 | 2000 — встал вплотную к C |
Обратите внимание на C: он сдвинулся с 800 на 0, потому что в своём ряду он крайний слева и едет к внешней границе выделения. Ряды при этом не смешались — B не пытался встать в затылок к C, хотя по X они были рядом.
Если все выделенные экраны перекрываются по высоте, они образуют ОДНУ группу и выстроятся в одну горизонтальную цепочку вплотную друг к другу. Это ожидаемо, но выглядит неожиданно, если вы рассчитывали на выравнивание по линии — проверьте, действительно ли экраны стоят рядами.
Зазор
Поле под сеткой задаёт расстояние между соседними экранами в цепочке, в миллиметрах. Значение от 0 до 100, ползунок ходит шагом 10, число можно ввести вручную — при расхождении главным считается именно число.
| Операция | Учитывает зазор |
|---|---|
| Четыре кнопки краёв | Да — экраны встают через заданное расстояние |
| Собрать в центр композиции | Да |
| Равномерно по горизонтали и вертикали | Нет — промежутки там вычисляются сами |
| Отразить по горизонтали и вертикали | Нет — экран не двигается |
В том же примере с двумя рядами зазор 500 мм ставит B не на 2000, а на 2500 — ровно ширина A плюс зазор.
Собрать в центр композиции
Кнопка в середине сетки стягивает выделенные экраны к центру их общего габарита — сначала по горизонтали, потом по вертикали. У неё два предохранителя: экран никогда не пересекает центральную линию выделения и никогда не уезжает назад относительно того места, где стоял. Поэтому повторное нажатие уже ничего не меняет, а экраны не «проскакивают» друг сквозь друга.
Равномерное распределение
Две угловые кнопки раскладывают экраны с одинаковыми промежутками — так же, как это делают графические редакторы. Крайние экраны остаются на своих местах, а всё, что между ними, получает равные интервалы; собственный порядок экранов по оси сохраняется.
| Экран | X до | X после «равномерно по горизонтали» |
|---|---|---|
| A | 0 | 0 — крайний, не двигается |
| B | 2600 | 4500 — встал ровно посередине |
| C | 9000 | 9000 — крайний, не двигается |
Зазор на эту операцию не влияет: промежуток вычисляется из свободного места между крайними экранами и суммарной ширины тех, что внутри.
Зеркалирование раскладки
Две кнопки с двойными стрелками работают иначе остальных: они действуют на один выделенный экран и включаются только если это экран произвольной формы. У обычного прямоугольного экрана отражать нечего — симметричная сетка после зеркалирования выглядит точно так же, поэтому кнопки остаются погашенными.
Отражение переставляет кабинеты внутри собственного габарита экрана: сам экран не двигается, не меняет размер и сохраняет своё место в проекте. Номера кабинетов при этом не меняются — это те же физические кабинеты, просто на других местах.
- ⇋ по горизонтали — раскладка отражается слева направо;
- ⇵ по вертикали — сверху вниз.
Типичный сценарий — симметричная пара: собрали «лесенку» в режиме произвольной формы, скопировали экран через Ctrl+D и отразили копию. Получается зеркальное крыло без повторной сборки.
Внутри самого режима произвольной формы блок выравнивания полностью недоступен — вся левая панель там погашена, пока вы правите раскладку. Зеркалить CUSTOM-экран нужно на холсте, выйдя из режима редактирования кабинетов.
Что нужно знать ещё
- Все операции блока пишутся в историю: Ctrl+Z возвращает раскладку в прежний вид одним шагом.
- Выделить несколько экранов можно рамкой по пустому месту холста или Shift+кликом — подробнее в статье «Работа на холсте».
- Выравнивание считает по видимому габариту экрана, поэтому повёрнутый экран учитывается тем прямоугольником, который он реально занимает.
- На телефоне блока нет: он работает по нескольким выделенным экранам, а сенсорного жеста для выделения рамкой не существует — см. «Мобильная версия».