![]() | |
| Одежда для The Bat! версии 3.хх |
Если в предыдущих версиях мышонка скин представлял собой просто картинку glyphs.bmp фиксированного размера с чётким расположением элементов на ней, то в третьей версии есть заметные изменения.
Теперь скин состоит из двух файлов: из картинки и сопровождающего её файла-описания batskin.ini. Отмечу, что так обстоят дела по крайней мере на момент написания этой статьи и в будущем возможны изменения. Оригиналы этих файлов (заводские настройки, так сказать) включены в ресурсы thebat.exe и без труда извлекаются Restorator’ом. Для ленивых вот выковырянные таким образом файлы из The Bat! 3.0.2.10. Можете использовать их в качестве опорных.
Изображения могут быть в формате jpg, bmp или png. Последние два позволяют использовать полупрозрачность для сглаживания краёв изображения. Их без проблем можно создавать и редактировать, например, в Photo Shop.
Расположение элементов в графическом файле теперь задаётся в сопровождающем batskin.ini. Об этом ниже.
Структура файла довольно громоздкая, пользовательскими удобствами тут не пахнет, но тем не менее гибкая. Ну ничего, прорвёмся. Это классический ini-файл. Заголовки разделов заключены в квадратные скобки, названия переменных и их значения разделены знаком равенства, комментарием считается всё от ; до конца строки.
Начинается история с раздела General. Он пока что не используется, но в перспективе не исключено, что эта информация будет проскакивать где-нибудь в самом Бате.
[General] Title=Colorful icon scheme Copyright=(C) 2004 Ritlabs
Для начала определяемся, в каких именно графических файлах содержатся наши картинки. Они перечисляются в разделе Bitmaps.
[Bitmaps] Bitmap0=new_icons.png,,28,33,608,384
Должен быть, понятное дело, как минимум один графический файл (но при желании можете разделить свой скин и на несколько, тогда они именуются по порядку: Bitmap0, Bitmap1 и так далее). Сначала указывается имя true color файла. Затем через запятую имя файла с 16-цветными картинками (но, поскольку нам это скорее всего не нужно, после запятой не пишем ничего). После этого через запятые пишем координаты и размеры области с иконками (отсчет от верхнего левого угла): позиция по горизонтали, позиция по вертикали, ширина области и высота области. Всё, что по краям, будет обрезано ещё при загрузке картинки Батом. При желании последние 4 цифры можно не указывать, тогда ничего обрезаться не будет. Но учтите, что после обрезания исходного графического файла он целиком загружается в память в распакованном виде (png, например, на диске хранится сжатым). Потому в ваших интересах указать неиспользуемые поля, если они есть.
Затем перечисляем, какие списки картинок в каком наборе картинок находятся.
[Schemes] WorkIcons=GlyphList16x16 Buttons=GlyphList32x32 ListIcons=GlyphList24x16 Folders=GlyphList16x16 Controls=GlyphList16x16 AddrBook=GlyphList20x20 BigIcons=GlyphList32x32
Эти семь списков картинок должны быть описаны обязательно. Имена наборов картинок в которых фактически находятся сами изображения, вы можете менять по вкусу, если не боитесь запутаться :) .
Описываем наборы картинок, которые были упомянуты выше. Имена ключей до знака «равно» строго фиксированные: GlyphSet0, GlyphSet1 и так далее. Затем идёт имя набора, как оно упоминалось в разделе Schemes. Затем ширина и высота самих картинок, содержащихся в этом наборе.
[GlyphSets] GlyphSet0=GlyphList16x16,16,16 GlyphSet1=GlyphList24x24,24,24 GlyphSet2=GlyphList24x16,24,16 GlyphSet3=GlyphList20x20,20,20 GlyphSet4=GlyphList32x32,32,32
После определения наборов картинок расписываем их подробно. Называем раздел ini файла как тот или иной набор и перечисляем изображения из этого набора.
[GlyphList32x32] fixup=32,32,0,0 bFetch=0,1,0 bSend=0,0,0 bNewMsg=0,2,0 bReply=0,3,0 bReplyAll=0,4,0 bForward=0,5,0 ...
Описание набора обязательно должно содержать строку fixup. Первые две цифры указывают ширину и высоту воображаемой сетки, которая накладывается на обрезанный (см. раздел Bitmaps) графический файл. Вторая пара цифр задаёт смещение картинок внутри ячеек этой сетки.
Затем следует перечисление всевозможных картинок, которые используются в Бате. Здесь ничего сочинять не приходится, полный их список приведен в оригинальном файле и изменять его не стоит. После имени картинки через запятые перечисляются: номер графического файла (см. раздел Bitmaps), координаты ячейки с картинкой в воображаемой сетке в этом файле (координаты столбца и строки, отсчет начинается с нуля), смещение данной конкретной картинки относительно описанной в fixup позиции (по горизонтали и вертикали, этого можно не указывать, как это сделано в оригинальном файле).
В оригинальном batskin.ini содержится ряд неясностей и неточностей. Некоторые кнопки (например, «корзина» – удаление) берутся не совсем оттуда, откуда следовало бы ожидать. Вы обязательно это заметите, если начнете рисовать свой скин. Не удивляйтесь, пока что вся система работает на честном слове и, скорее всего, в будущем будет изменена.
Ну а пока довольствуемся тем, что есть. Удачи! ;)
Да, и не забывайте присылать нам свои варианты одежды для The Bat!