Формат файла batskin.xml |
Наверх Предыдущий Следующий |
Описание
Файл batskin.xml предназначен для настройки собственного набора иконок в программе The Bat!
Использование
Этот файл должен быть в обычном XML-формате с требуемой структурой. Структура XML-файла должна иметь главный раздел batskin:
<batskin> … </batskin>
Формат этого файла может не в полной мере отвечать стандарту XML (файл является текстовым конфигурационным файлом со структурой приближенной к XML). В частности можно не соблюдать все требования XML, а также отсутствуют «лишние» возможности формата. В тексте можно вставлять комментарии в стиле XML, например:
<!-- Здесь может располагаться ваш комментарий -->
Внутри раздела batskin могут быть необязательные элементы title (описание или название скина) и copyright (информация об авторе и условиях распространения), например:
<title> Скин "Альфа" для программы The Bat! </title> <copyright> Иван Иванов - ivan@mail.com, 2005 </copyright>
Далее должен следовать обязательный раздел bitmaps (все используемые файлы изображений).
<bitmaps> … </bitmaps>
Этот раздел должен содержать несколько описаний элементов bitmap (отдельный файл изображения). В разделе bitmaps должен быть по крайней мере один элемент bitmap в следующем виде:
<bitmap id="ID" file="FILE" cropx="CROPX" cropy="CROPY" cropwidth="CROPWIDTH" cropheight="CROPHEIGHT" />
Каждому используемому файлу с изображением должка соответствовать один такой элемент. Значение параметров: ID – уникальный код для файла, на который вы сможете в ссылаться в следующих разделах Batskin.xml FILE – имя файла с используемым изображением. Поддерживаются форматы PNG, BMP и JPG. В случае если исходный файл в формате PNG, то альфа-канал(alpha layer) будет использоваться для задания (полу)прозрачных областей. В случае если исходный файл в формате JPG, тогда в качестве прозрачного цвета будет использован цвет самой верхней левой точки. В случае если исходный файл в формате BMP с 32-битным цветом и альфа-каналом, тогда альфа-канал будет использоваться для задания прозрачности. В случае простого BMP-файла в качестве прозрачного цвета будет выбран цвет верхней левой точки. Дополнительные необязательные параметры CROPX, CROPY, CROPWIDTH, CROPHEIGHT могут быть целыми числами, которые задают параметры используемого фрагмента из всего изображения. В некоторых случаях изображение может быть бо'льшим, чем это необходимо. Эти параметры позволяют задать области для отсекания при загрузке, процесс такой обрезки похож на функцию «Обрезать» (Crop) в большинстве графических редакторов.
После раздела bitmaps должен располагаться на располагаться раздел sizes:
<sizes> … </sizes>
Этот подраздел должен определять размеры используемых иконок в программе (The Bat!). В разделе должны располагаться несколько элементов size следующего вида:
<size id="GROUP_ID" width="WIDTH" height="HEIGHT" />
Обязательный параметр GROUP_ID (код группы иконок) должен быть одним из предопределенных значений, полный список которых вы можете найти в Приложении A. Остальные обязательные параметры WIDTH и HEIGHT должны содержать целочисленные размеры иконок (ширину и высоту соответственно).
Обязательный раздел glyphs определяет соответствие иконок в программе фрагментам в используемых изображениях.
<glyphs> … </glyphs>
Внутри этого раздела могут быть помещены элементы source, grid, glyph, glyphex.
<source bitmap="BITMAP_ID" width="GLYPH_WIDTH" height="GLYPH_HEIGHT" />
Здесь параметр BITMAP_ID должен в точности соответствовать одному из изображений описанных в разделе bitmaps (параметр ID из элемента bitmap). Параметры GLYPH_WIDTH/GLYPH_HEIGHT определяют размер следующих ниже определений иконок.
<grid width="GRID_WIDTH" height="GRID_HEIGHT" xofs="XOFS" yofs="YOFS" />
Одна из концепций batskin.xml состоит в том, что иконки должны располагаться в ячейках виртуальной таблицы. Это работает следующим образом:
Рисунок 1. Виртуальная таблица иконок
Исходное изображение виртуально делится на таблицу с одинаковыми ячейками. Каждая ячейка может содержать только одну иконку. Ссылки на конкретную иконку делаются посредством указания номера колонки и строки. Нумерация колонок и строк начинается с 0. Параметры GRID_WIDTH/GRID_HEIGHT определяют размер ячейки таблицы. Необязательные параметры XOFS/YOFS определяют смещение каждой иконки внутри ячейки. Если параметры не указаны, то оба параметра считаются равными 0.
<glyph id="GLYPH_ID" col="COL" row="ROW" xofs="XOFS" yofs="YOFS" width="GLYPH_WIDTH" height="GLYPH_HEIGHT" />
Этот элемент определяет конкретную иконку в The Bat!. Параметр GLYPH_ID должен содержать одно из предопределённых значений (полный список приведён в Приложении B). Параметры COL/ROW указывают на позицию иконки в текущей виртуальной таблице. Эти параметры могут быть опущены для, в этом случае новые координаты будут автоматически браться согласно сетки таблицы по строке слева направо и со сдвигом вниз в случае окончания строки.
Дополнительные параметры XOFS/YOFS можно использовать для переопределения параметров из предшествующего элемента grid. Параметры grid используются по умолчанию. Дополнительные параметры GLYPH_WIDTH/GLYPH_HEIGHT можно использовать для переопределения размеров, которые по умолчанию берутся из предшествующего элемента source.
<glyphex id="GLYPH_ID" file="FILE" xofs="XOFS" yofs="YOFS" width="GLYPH_WIDTH" height="GLYPH_HEIGHT" />
Такой элемент может быть использован для определения иконки, которая может быть взята из отдельного файла (файл в таком случае содержит только одну иконку и может быть не описан в секции bitmaps). Параметр FILE содержит имя файла с иконкой. Дополнительные(необязательные) параметры XOFS/YOFS определяют смещение иконки от верхнего левого угла. По умолчанию принимаются равными 0. Дополнительные(необязательные) параметры GLYPH_WIDTH/GLYPH_HEIGHT указывают на размер иконки. По умолчанию иконка берется по всему размеру изображения в файле.
При написании собственного файла batskin.xml следует учитывать, что пользовательский файл лишь переопределяет и дополняет стандартный набор иконок, так как будут использоваться стандартные иконки в случае отсутствия требуемых иконок в пользовательском файле.
Приложение A. Коды групп иконок (GROUP_ID)
Приложение B. Коды иконок (GLYPH_ID)
bFetch bFetchAllAccounts bSend SendCheckAll bNewMsg bReply bReplyAll bForward bRedirect bAddrBook bSaveAs bSaveAll bPrint bDelete bNewContact bNewGroup bUserProps bSearchAddr bCancelSearch bStore bDraft bSave bCopy bCut bPaste bQPaste bReplace bCopyTo bPasteFrom bQPasteFrom bAttach bCancel bStartTransfer bHeaderView bOpen bBrowse bSaveMsgAs bPrev bNext bDelUp bDelDown bTextCopyClp bTextCopyTo bTextSearch bTextFindNext bFindMsg bDispatchAll bViewLog bLock bNewUser bCfgAccount bCfgFilters bCfgNetwork bLeft bDown bUp bRight bNewFilter bScheduler bSmartBat CertBigNormal CertBigError
bEditSchedule bMarkAsSpam bMarkNoSpam
UnknownSignature ValidSignature InvalidSignature EncryptedMessage ExpiredSignature
bKeyManager bViewSource bNewCustFolder bPlaceCustFolder
cbUnchecked cbChecked
logInfo logError logDown logUp
NewAddrBook
iSave
pgpKeyPair pgpKey pgpUID pgpSignature pgpRevokedSignature pgpRevokedKeyPair pgpRevokedKey pgpDisabledKey pgpInvalidUID pgpValidUID pgpValidKey
AccountNewMsgs Account FolderClosed Trash FolderOpened UnemptyTrash UnsentClosed UnsentOpened RecentClosed RecentOpened RecentOutboxClosed RecentOutboxOpened UnreadSubfolders UnreadTrash RedCross ImapFlag ovrInboxSign ovrOutboxSign ovrSentSign ovrChat ovrOutboxDraft ovrJunkFlag ImapTrash
BlueRuleClosed BlueRuleOpened GreyRuleClosed GreyRuleOpened AddrBook Transport MailMgm Options FilesDirs BrowseFolder Templates NewTpl ReplyTpl FwdTpl CfmTpl SaveMsg Cookies Sound Network Memo Chat ImapFineTune AddrGroup
RasLogReceive RasLogSend NoPark ParkLst
NormalPriority HighPriority LowPriority CfmReceipt CfmRead
acUnspec acMale acFemale
DropDown RightArrow OpenAddrBook
CertSmallNormal CertWithPrivateKey CertFieldV1 CertFieldV3NExt CertFieldV3CExt CertProp CertSmallError CertSmallWarning CertUnknown KeyOnToken CertHasPrivateKey ValidSignature InvalidSignature
AddrBookLocalClosed AddrBookLocalOpened AddrBookRemoteClose AddrBookRemoteOpene AddrBookSearch AddrBookTrash AddrBookGroup AddrBookTrustCAClose AddrBookTrustCAOpen AddrBookIntermCAClose AddrBookIntermCAOpen
mlvNormalEnvelope mlvHighEnvelope mlvLowEnvelope mlvNormalOpen mlvHighOpen mlvLowOpen
mlvNoPark mlvNoDraft mlvNoFlag
mlvPark mlvDraft mlvFlag mlvAttach
mlvHdrPark mlvHdrDraft mlvHdrFlag mlvHdrAttach mlvHdrMessage
mlvHdrPriority mlvNormalPriority mlvHighPriority mlvLowPriority
mlvSortUp mlvSortDown
mlvReply mlvForward mlvSigned
iFontStyleBold iFontStyleItalic iFontStyleUnderline iTextColor iTextAlignLeft iTextAlignRight iTextAlignCenter iTextAlignJustify iSearch iMail iBook iSearchNext iHelp iPageSetup iWinCascade iPaste iClock iTextHeight iWinTile iCopy iCalendar iDateTime iCut iOpen iUndo iRedo iDelete iSome bNewFilter iSmallBat iMenubar iToolbar iPopup iShortcuts iForm
bLeft bDown bUp bRight bNewFilter
iAlignRight iBold iItalic iUnderline iTextColor iBkColor iDocBkg iAlignLeft iAlignCenter iAlignJust iTextImage iAddLink iAddHrLine iListBullets iListNumbers iInsertTable iDelCol iDelRow iInsertColL iInsertColR iInsertRowD iInsertRowU iMergeCell
|