Формат файла 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 состоит в том, что иконки должны располагаться в ячейках виртуальной таблицы. Это работает следующим образом:

 

BatSkinTable

Рисунок 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)

 

Параметр ID

Описание

MenuIcons

Иконки для меню

ToolbarIcons

Иконки для панелей инструментов

Buttons

Иконки для кнопок

ListIcons

Иконки, используемые в списке писем

Folders

Иконки, используемые в дереве папок

AddrBook

Иконки, используемые для папок в Адресной книге

Controls

Иконки, используемые в элементах интерфейса

BigIcons

-

WorkIcons

-

       

 

Приложение 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