|
Идея, лежащая в основе современного формата скинов, та же самая, что и в случае с классическим форматом. Скины также рассмариваются как многослойные "бутерброды", но в данном случае слоев несколько больше.
Давайте сосчитаем их сверху вниз:
- Передний план: декоративный слой, относящийся только к одной ячейке. Другими словами, у матрицы скина может быть только один передний план.
- Кнопки: кнопки AltDesk "Свернуть" и "Опции", расположенные поверх заднего плана.
- Фланги: декоративные бордюры, расположеные поверх матрицы скина.
- Стекло: оно функционирует так же, как и бордюр в классическом формате скинов, но в данном формате может использоваться альфа-канал.
- Значки: значки приложений Windows® как таковые.
- Ячейка: изображение фона ячейки, точно так же, как и в классическом формате.
- Задний план (фон): он функционирует точно так же, как передний план, но расположенный снизу.
Имейте в виду, что некоторые слои можно пропускать. Однако мы настоятельно рекомендуем использовать как минимум следующие слои: Стекло, Ячейка (слой значков автоматически отображается поверх заднего плана ячейки). Использование декоративных слоев, таких как фланги, передний и задний план, зависит от Ваших предпочтений.
Кроме того, в отличие от скинов классического формата, скины современного формата могут иметь до трех различных положений: горизонтальное, вертикальное и в виде матрицы. Эти типы скинов отличаются только видом матрицы и в целом могут выглядеть по-разному.
Давайте рассмотрим в качестве примера скин Trinity, созданный художником Дмитрием Просвирниным:

Как видите, современный формат скинов позволяет создавать скины, которые автоматически подстраиваются под тип матрицы. Теперь давайте попробуем разобрать некоторые основные моменты создания скинов в современном формате. В отличие от классических, они позволяют создавать как сложные, так и простые скины в зависимости от Вашего опыта и вкуса. Однако, изучая специфику формата, Вы поймете, насколько шире стали Ваши возможности. Итак, прежде, чем мы начнем, давайте вспомним азы:
- Скины современного формата многослойны. Как правило, в них достаточно слоев для любой практической цели.
- Многие элементы имеют активное (с наведенным фокусом) и неактивное состояния.
- В отличие от классического формата, современный формат скинов часто предполагает использование одного графического объекта для каждой переменной. Это позволяет избежать проблем со смещением.
- В скинах могут использоваться 32-битовые PNG-изображения с альфа-каналом.
- Каждая из четырех сторон ячейки (верх, низ, левая сторона и правая сторона) может содержать один из следующих элементов: ячейку, кнопки, фланг.
- Скины современного формата могут легко подстраиваться под настройки пользователя: в зависимости от этих настроек может меняться их внешний вид.
- Скины современного формата также могут предствалять собой ASZ-файлы: для этого нужно просто заархивировать папку скина при помощи ZIP-архиватора и поменять ее расширение с ZIP на ASZ. Это значительно облегчит установку скина.
Давайте рассмотрим пример со скином Trinity. Если Вы читали предыдущий учебник (о скинах классического формата), то Вам не составит труда понять его.
В INI-файл скина также включены некоторые комментарии, так что Вы можете найти в нем дополнительную информацию.
Параметр |
Описание |
[AltDesk Skin] NAME=Trinity ClientRect=10,10,64,64
|
Запуск главного раздела скина AltDesk. В этом разделе описано использование матрицы в общем виде, где размер матрицы - X x Y, при этом обе эти переменные больше или равны 2. Если не существует никаких прочих разделов матрицы, скин этого раздела применяется к любой матрице.
Принцип действия название и переменных внутренней области ячейки тот же, что и в классическом формате скинов. Только не забудьте, что внутренняя область ячейки определяется относительно графического объекта главного изображения ячейки. |
ActiveBackground= InActiveBackground=
|
Активное и неактивное состояния декоративного фонового слоя.
В данном случае фон не используется.
|
BackgroundAlign=0 BackgroundOffset=-50,-50
|
Выравнивание и смещение фона.
Выравнивание производится в следующем формате: 0=верх слева, 1=верх справа, 2=низ слева, 3=низ справа |
ActiveCell=MtxCellon1.png
|
Изображение активной ячейки матрицы:
|
InActiveCell=MtxCelloff1.png
|
То же самое для неактивного состояния:
 (в нашем случае картинка заднего плана одинакова для обоих состояний, поэтому мы можем использовать один и тот же графический объект) |
CellDistance=-4,-4
|
Расстояние между ячейками матрицы по горизонтали и вертикали, точно так же, как и в скинах классического формата.
|
ActiveGlass=
|
Стекло активной ячейки.
В нашем случае значки активной ячейки ничем не покрыты.
|
InActiveGlass=MtxCelloff2+.png
|
Стекло неактивной ячейки:
 Значки неактивной ячейки выглядят менее ярко за счет данного слоя. |
LeftFlank = LeftFlankOffset = 0,0 RightFlank = RightFlankOffset = 0,0 TopFlank = TopFlankOffset = 0,0 BottomFlank = BottomFlankOffset = 0,0
|
Фланги и их смещение.
У нашего скина в виде матрицы фланги отсутствуют.
|
ActiveForeground= InActiveForeground= ForegroundAlign=1 ForegroundOffset=0,0
|
Слои переднего плана и их свойства:
Для данного скина не используются никакие декоративные элементы переднего плана.
|
BtnBacks = BtnBacks.png
|
Фон кнопок:
 (пример представлен в масштабе 1:4) 8 фонов кнопок для всех положений, заданных скином. Если то или иное положение не существует, не заполняйте соответствующую строку. Желаемое положение кнопок задается значением от 1 до 8. Если Вы используете все 8 задних планов, рекомендуется поместить каждый из них в квадрат, а затем поворачивать его вокруг своей оси вместо того, чтобы прописывать смещения вручную. Это позволит Вам избежать проблем с определением точных положений. |
BtnBacksOffset = -21,46
|
Смещение каждого фона относительно ячейки.
|
OptButton=btn1.png
|
Кнопка "Опции":
 Нормальное состояние, состояние при наведенном курсоре и нажатое состояние |
MinButton=btn2.png
|
Кнопка "Свернуть":
 Так же, как и для кнопки "Опции". |
BtnDistance=0
|
Расстояние между двумя кнопками. |
BtnMode = 0
|
Направление кнопки.
По умолчанию кнопки расположены следующим образом: Горизонтальные позиции: 1,2,5,6 Вертикальные позиции: 3,4,7,8 Задайте значение BtnMode равное 0, чтобы применить значения направления по умолчанию; или равное 1, чтобы заменить значения на противоположные. Другими словами, при BtnMode=1 позиции кнопки
1,2,5,6 сменятся с горизонтальных на вертикальные. |
BtnOffset = -7,-3
|
Смещение кнопки.
|
[AltDesk Skin Row]
|
Раздел, описывающий горизонтальные скины. Здесь используются те же переменные, что и для скинов в виде матриц, но графические объекты будут другими.
|
ClientRect=11,13,141,29
|
Область значков.
|
ActiveCell=RowCellon1.png
|
Активная ячейка:
|
InActiveCell=RowCelloff1.png
|
Неактивная ячейка:

Мы использовали тот же задний план. |
CellDistance=0,-10
|
Расстояние между ячейками.
|
InActiveGlass=RowCelloff2+.png
|
 И вновь мы используем стекло только для неактивного состояния: активные ячейки по-прежнему ничем не покрыты.
|
LeftFlank =
LeftFlank.png
|

Левый фланг, который используется в качестве левого бордюра ряда.
|
RightFlank =
RightFlank.png
|

Правый фланг, который используется в качестве правого бордюра ряда.
|
BtnBacks = BtnBacks.png
|
Мы использовали те же фоны, что и для основной матрицы.
|
BtnBacksOffset = -34,49
|
См. выше.
|
OptButton=btn1.png
|
 Для всего скина используются одни и те же кнопки.
|
MinButton=btn2.png
|
|
BtnDistance=2
|
Расстояние между кнопками.
|
BtnMode = 0
|
Кнопки расположены так же, как и в матрице.
|
BtnOffset = -20,-6
|
Смещение кнопок.
|
BtnPos = 1, 2, 5, 6
|
Список позиций кнопок. Имейте в виду, что пользователь сможет выбирать значения только из этого списка.
|
[AltDesk Skin Col]
|
Раздел вертикальных скинов AltDesk. Здесь используются те же переменные, что и для горизонтальных скинов и скинов в виде матриц.
|
ClientRect=13,8,29,130
|
Область значков.
|
ActiveCell=ColCellon1.png
|
|
InActiveCell=ColCelloff1.png
|
 И снова мы используем один и тот же фон для активного и неактивного состояний. Вы можете использовать различные изображения.
|
CellDistance=-10,0
|
Расстояние между ячейками. Мы выбрали это значение, чтобы соединить ячейки друг с другом.
|
ActiveGlass=
|
Стекло активной ячейки отсутствует.
|
InActiveBorder=ColCelloff2+.png
|
Стекло неактивной ячейки:
|
TopFlank = TopFlank.png
|
Верхний фланг. Он будет отображаться в верхней части колонки.
|
BottomFlank =
BotFlank.png
|
Нижний фланг:
|
BtnBacks = BtnBacks.png
|
Тот же фон кнопок, что и для всех прочих состояний.
|
BtnBacksOffset = -34,49
|
Смещение фона кнопки.
|
OptButton1 =btn1.png MinButton2 =btn2.png BtnMode = 0
|
Кнопки выглядят так же, как и во всех прочих состояниях.
|
BtnBacksOffset = -34,49
|
Смещение кнопки.
|
BtnPos = 3, 4, 7, 8
|
Желаемое положение кнопки, доступное конечному пользователю.
|
[Description]
|
Раздел описания. |
test skin for AltDesk
1.6
|
Данное описание отображается под списком скинов в разделе "Выбор скина".
|
[author]
|
Авторский раздел.
|
AuthorName=Dmitry
Prosvirnin
|
Имя автора, которое отобразит AltDesk.
|
AuthorContact=www.astonshell.com
|
Адрес электронной почты или ссылка на сайт автора.
|
b>Желаемое положение кнопок в AltDesk:
1=Вверху слева; 2=Вверху справа; 3=Слева сверху; 4=Слева снизу; 5=Снизу слева; 6=Снизу справа; 7=Справа сверху; 8=Справа снизу.
Как видите, теперь Вы можете создавать еще более сложные скины, ограничивая себя лишь пределами собственного воображения и здравым смыслом. Советы и подсказки
- Вы можете сделать незаметными некоторые приложения и даже сам факт существования AltDesk одним нажатием "горячих клавиш" "Босс идет!". Для этого Вам потребуется просто перенести задачи, присутствие которых Вы хотите скрыть, с первого Виртуального Рабочего Стола на любой другой. Одним нажатием заранее заданых "горячих клавиш" Вы переключитесь на первый Рабочий Стол, в то время как окно AltDesk и его значок в системной области (трее) исчезнут. Спустя некоторое время Вы сможете вернуть их, повторно нажав те же "горячие клавиши".
"Горячие клавиши" - это прекрасный способ обеспечить конфиденциальный характер своей работы в ситуациях, когда Вам необходимо спрятать данные на Вашем экране от посторонних глаз.
- Неплохо присвоить каждому виртуальному Рабочему Столу собственное название: это поможет Вам упорядочить задачи.
- Вы можете восстановить окно закрытого по ошибке приложения при помощи функции "Вернуть окно" (кликните правой кнопкой мыши на ячейке и выберите Дополнительно>Вернуть окно нужного приложения из всплывающего меню).
- Вы можете увидеть все текущие задачи на всех виртуальных Рабочих Столах, кликнув правой кнопкой мыши на любой ячейке и вызвав всплывающее меню Списка задач.
| |