changeset 19864:b7314f750a02

translation by Vladimir Voroshilov, voroshil gmail com
author voroshil
date Sun, 17 Sep 2006 12:06:02 +0000
parents 4fce64943ac0
children 85f9fdd032b3
files DOCS/xml/ru/skin.xml
diffstat 1 files changed, 1156 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DOCS/xml/ru/skin.xml	Sun Sep 17 12:06:02 2006 +0000
@@ -0,0 +1,1156 @@
+<?xml version="1.0" encoding="koi8-r"?>
+<!-- synced with r19081 -->
+<appendix id="skin">
+<title>Формат скинов <application>MPlayer</application></title>
+
+<sect1 id="skin-overview">
+<title>Обзор</title>
+<para>
+На самом деле с форматом скинов уже нет неоходимости что-либо делать, но вам
+следует знать, что <application>MPlayer</application> 
+<emphasis role="bold">не имеет</emphasis> встроенного скина, так что 
+<emphasis role="bold">как минимум однин скин должнен быть установлен, для 
+возможности использовать GUI.</emphasis>
+</para>
+
+<sect2 id="skin-overview-directories">
+<title>Каталоги</title>
+<para>
+Скины ищутся в следующих каталогах (по порядку):
+<orderedlist>
+<listitem><para>
+<filename class="directory">$(DATADIR)/skins/</filename>
+</para></listitem>
+<listitem><para>
+<filename class="directory">$(PREFIX)/share/mplayer/skins/</filename>
+</para></listitem>
+<listitem><para>
+<filename class="directory">~/.mplayer/skins/</filename>
+</para></listitem>
+</orderedlist>
+</para>
+
+<para>
+Имейте в виду, что первый путь может меняться в соответствии с конфигурацией
+<application>MPlayer</application> (смотрите аргументы скрипта
+<command>configure</command> <option>--prefix</option> и <option>--datadir</option>).
+</para>
+
+<para>
+Каждый скин устанавливается в его собственный подкаталог, в одном из указанных выше
+каталогов, например:
+<screen>$(PREFIX)/share/mplayer/skins/default/</screen>
+</para>
+</sect2>
+
+<sect2 id="skin-overview-formats">
+<title>Форматы изображений</title>
+<para>Изображениями должны быть truecolor (24 или 32 бит/пиксел) PNG.</para>
+<para>
+В главном окне и полосе воспроизведения (смотрите ниже) можно использовать
+изобрадения с 'прозрачностью': Области, заполненные цветом #FF00FF (magenta) полностью
+прозрачны при просмотре программой <application>MPlayer</application>. Это значит, что
+если ваш X сервер поддерживает расширение XShape, вы сможете получить даже 
+окна произвольной формы.
+</para>
+</sect2>
+
+<sect2 id="skin-overview-components">
+<title>Компоненты скина</title>
+<para>
+Скины имеют достаточно свободный формат (в отличие,например, от скинов
+<application>Winamp</application>/<application>XMMS</application>,
+имеющих формат фиксированный), так что зависит исключительно от вас, выйдет ли
+у вас что-то грандиозное.
+</para>
+
+<para>
+В данный момент могут быть оформлены четыре окна: 
+<link linkend="skin-file-main">главное окно</link>, 
+<link linkend="skin-file-subwindow">вспомогательное окно</link>, 
+<link linkend="skin-file-main">полоса воспроизведения</link>, and the
+<link linkend="skin-file-menu">меню со скинами</link> (активирующееся правым щелчком
+мыши).
+
+<itemizedlist>
+<listitem><para>
+  <emphasis role="bold">Главное окно</emphasis> и/или 
+  <emphasis role="bold">полоса воспроизведения</emphasis> - те, через которые вы
+  управляете <application>MPlayer</application>. Фон окна - это изображение.
+  Различные элементы могут (и должны) размещаться в окне: <emphasis>кнопки</emphasis>,
+  <emphasis>ползунки</emphasis> и <emphasis>надписи</emphasis>.
+  Для каждого элемента должен быть задан размер и положение.
+</para><para>
+  <emphasis role="bold">Кнопка</emphasis> имеет три состояния (нажата, отпущена,
+  отключена), таким образом, ее изображение должно быть разделено вертикально на три части. 
+  Смотрите элемент <link linkend="skin-button">кнопка</link> для подробностей.
+</para><para>
+  <emphasis role="bold">Ползунок</emphasis> (в основном используется для полосы перемещения
+  и управления громкостью/балансом) может иметь любое количество положений, задаваемых делением
+  его изображения на различные части одна под другой. Смотрите
+  <link linkend="skin-hpotmeter">hpotmeter</link> и
+  <link linkend="skin-potmeter">potmeter</link> для подробностей.
+</para><para>
+  <emphasis role="bold">Надписи</emphasis> чуть особеннее: Символы, необходимые для их
+  отрисовки, берутся из графического файла, и задаются
+  <link linkend="skin-fonts">файлом описания шрифта</link>.
+  Последний - это текстовый файл, указывающий x,y положения и размер каждого символа 
+  в файле с изображением (файл изображения и файл описания шрифта 
+  <emphasis>вместе</emphasis> формируют шрифт). Смотрите <link linkend="skin-dlabel">dlabel</link>
+  и <link linkend="skin-slabel">slabel</link> для подробностей.
+</para>
+<note><para>Все изображения могут быть полностью прозрачными, как описано в разделе, 
+  посвященном <link linkend="skin-overview-formats">форматам изображений</link>. Если X 
+  сервер не поддерживает расширение XShape, части, помеченные как прозрачные, будут черными.
+  Если вам нравится использовать эту возможность, ширина фона главного окна должна 
+  делиться на 8.
+</para></note>
+</listitem>
+
+<listitem><para>
+  <emphasis role="bold">Вспомогательное окно</emphasis>  - это то, где появляется фильм. 
+  Оно может отображать указанную картинку, если  никакого фильма не загружено (пустое окно 
+  немного надоедает :-)) <emphasis role="bold">Замечание:</emphasis> прозрачность здесь
+  <emphasis role="bold">не допускается</emphasis>.
+</para></listitem>
+
+<listitem><para>
+  <emphasis role="bold">Меню со скинами</emphasis> - всего лишь способ управлять 
+  <application>MPlayer</application> в понятиях елементов меню. Для меню требуются 
+  два изображения: одно из них - основное, показывает меню в обычном режиме,
+  другое используется для отображения выбранных элементов. Когда появляется меню, 
+  отображается первое. Если вы перемещаете мышь над элементами меню,
+  выбранный элемент копируется из второго изображения поверх элемента меню под указателем мыши
+  (второе изображение никогда не отображается целиком).
+</para><para>
+  Элемент меню определяется его позицией и размером изображения (смотрите раздел,
+  посвященный <link linkend="skin-file-menu">меню со скинами</link> для подробностей).
+</para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+  Важная вешь, не упомянутая выше: Чтобы работали кнопки, ползунки и элементы меню,
+  <application>MPlayer</application> должен знать, что делать, если на них 
+  щелкнули мышью. Это делается при помощи <link linkend="skin-gui">сообщений</link>
+  (событий). Для этих элементов вы должны определить сообщения, генерируемые, когда
+  на них щелкают мышью.
+</para>
+</sect2>
+
+<sect2 id="skin-files">
+<title>Файлы</title>
+<para>
+Вам нужны следующие файлы для создания скина:
+<itemizedlist>
+<listitem><para>
+  Файл конфигурации, называющийся <link linkend="skin-file">skin</link> говорит
+  <application>MPlayer</application> как совместить разные части скина воедино,
+  и что делать, если производится щелчок где-нибудь в окне.
+</para></listitem>
+<listitem><para>
+  Фоновое изображение главного окна.
+</para></listitem>
+<listitem><para>
+  Изображения элементов главного окна (включая один или более файлов описания шрифтов, 
+  необходимых для отрисовки надписей.
+</para></listitem>
+<listitem><para>
+  Изображение, показываемое во вспомогательном окне (необязательно).
+</para></listitem>
+<listitem><para>
+  Два изображения для меню со скинами (нужны, только если вы хотите создавать меню).
+</para></listitem>
+</itemizedlist>
+  Все файлы, за исключением skin, могут быть названы так, как вам захочется
+  (но заметьте, что файлы описания шрифтов дожны иметь расширение 
+  a <filename>.fnt</filename>).
+</para>
+</sect2>
+</sect1>
+<sect1 id="skin-file">
+<title>Файл skin</title>
+<para>
+Как описано выше, это файл конфигурации скина. он строчно-орентирован:
+строки комментариев начинаются с символа '<literal>;</literal>' в начале 
+строки (только пробелы и табуляция допускается перед символом '<literal>;</literal>').
+</para>
+
+<para>
+Файл создается из разделов. Каждый описывает скин для приложения и 
+имеет следующую форму:
+<programlisting>
+section = <replaceable>название раздела</replaceable>
+.
+.
+.
+end
+</programlisting>
+</para>
+
+<para>
+В данный момент приложение одно, так что вам потребуется только один раздел: его название 
+<emphasis role="bold">movieplayer</emphasis>.
+</para>
+
+<para>
+В пределах раздела каждое окно описывается блоком следующей структуры:
+<programlisting>
+window = <replaceable>название окна</replaceable>
+.
+.
+.
+end
+</programlisting>
+</para>
+
+<para>
+где  <replaceable>название окна</replaceable> может быть одной из этих строк:
+<itemizedlist>
+<listitem><para><emphasis role="bold">main</emphasis> - главное окно</para></listitem>
+<listitem><para><emphasis role="bold">sub</emphasis> - вспомогательное окно</para></listitem>
+<listitem><para><emphasis role="bold">menu</emphasis> - меню со скинами</para></listitem>
+<listitem><para><emphasis role="bold">playbar</emphasis> - полоса воспроизведения</para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+(Блоки sub и menu опциональные - необязательно создавать меню или оформлять вспомогательное
+окно.)
+</para>
+
+<para>
+В пределах блока window вы можете описать каждый элемент окна строкой в следующем формате:
+<programlisting>item = parameter</programlisting>
+Где <literal>item</literal> - это строка, определяющая тип элемента GUI,
+<literal>parameter</literal> - числовое или текстовое значение (или список значений, разделенных
+запятой).
+</para>
+
+<para>
+Если собрать все вместе, файл целиком будет выглядеть примерно так:
+<programlisting>
+section = movieplayer
+  window = main
+  ; ... items for main window ...
+  end
+
+  window = sub
+  ; ... items for subwindow ...
+  end
+
+  window = menu
+  ; ... items for menu ...
+  end
+
+  window = playbar
+  ; ... items for playbar ...
+  end
+end
+</programlisting>
+</para>
+
+<para>
+Название файла с изображением  должно указываться без лидирующих каталогов - 
+изображения ищутся в каталоге <filename class="directory">skins</filename>.
+Вы можете (но не обязаны) указать расширение файла. Если файл не существует,
+<application>MPlayer</application> пытается загрузить файл
+<filename>&lt;filename&gt;.&lt;ext&gt;</filename>, где <literal>png</literal>
+и <literal>PNG</literal> пробуются вместо <filename>&lt;ext&gt;</filename>
+(в этом порядке). Будет использоваться первый найденный файл.
+</para>
+
+<para>
+И наконец несколько слов о позиционировании. Главное и вспомогательное окна могут
+быть размещены в разных углах экрана указанием <literal>X</literal> и
+<literal>Y</literal> координат. <literal>0</literal> -  это верхний и левый край,
+<literal>-1</literal> - центр и <literal>-2</literal> - правый или нижний, как
+указано на иллюстрации:
+</para>
+<informalfigure>
+<screen>
+(0, 0)----(-1, 0)----(-2, 0)
+  |          |          |
+  |          |          |
+(0,-1)----(-1,-1)----(-2,-1)
+  |          |          |
+  |          |          |
+(0,-2)----(-1,-2)----(-2,-2)
+</screen>
+</informalfigure>
+
+<para>
+Вот пример, чтобы было понятнее. Предположим вы имеете изображение, называющееся
+<filename>main.png</filename>, которое используете для главного окна:
+<programlisting>base = main, -1, -1</programlisting>
+<application>MPlayer</application> пытается загрузить файлы <filename>main</filename>,
+<filename>main.png</filename>, <filename>main.PNG</filename>.
+</para>
+
+<sect2 id="skin-file-main">
+<title>Главное окно и полоса воспроизведения</title>
+<para>
+Ниже  - список элементов, которые можно указывать в
+'<literal>window = main</literal>' ... '<literal>end</literal>',
+и '<literal>window = playbar</literal>' ... '<literal>end</literal>'
+блоках.
+</para>
+
+<variablelist>
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-main-base"/>base = image, X, Y
+  </literal></term>
+  <listitem><para>
+Позволяет вам указать фоновое изображение, используемое в главном окне.  
+Окно будет появляться в указанной <literal>X,Y</literal> позиции на экране и
+иметь размер изображения.
+    </para>
+    <note><para>Эти координаты пока не работают для окна отображения.</para></note>
+    <warning><para>Прозрачные регионы в изображении (цвет #FF00FF) станут черными
+    на X сервере без расширения XShape. Ширина картинки должна делиться
+    на 8.</para></warning>
+    </listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-button"/>button = image, X, Y, width, height, message
+  </literal></term>
+  <listitem><para>
+Размещает кнопку размера <literal>width</literal> * <literal>height</literal> на
+позиции <literal>X,Y</literal>. Указанное сообщение <literal>message</literal> 
+генерируется при щелчке на кпопку. Изображение <literal>image</literal>,
+должно иметь три части одна ниже другой (в соответствии с возможными состояниями
+кнопки), как здесь:
+</para>
+<informalfigure>
+<screen>
++------------+
+|  нажата    |
++------------+
+|  отпущена  |
++------------+
+|  отключена |
++------------+
+</screen>
+</informalfigure>
+  </listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-decoration"/>decoration = enable|disable
+  </literal></term>
+  <listitem><para>
+Включает или выключает декорации главного окна, осуществляемые window manager . По-умолчанию 
+<emphasis role="bold">disable</emphasis>.
+    </para>
+    <note><para>Это не работает для окна отображения, в этом нет надобности.</para></note>
+  </listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-hpotmeter"/>hpotmeter = button, bwidth, bheight, phases, numphases, default, X, Y, width, height, message
+  </literal></term>
+  <listitem><para>
+
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-vpotmeter"/>vpotmeter = button, bwidth, bheight, phases, numphases, default, X, Y, width, height, message
+  </literal></term>
+  <listitem><para>
+Размещает горизонтальный (hpotmeter) или вертикальный (vpotmeter) ползунок размера
+<literal>width</literal> * <literal>height</literal> на позиции 
+<literal>X,Y</literal>. Изображение может быть разделено на разные части для
+указания различных положений ползунка (например, вы можете иметь регулятор для 
+управления громкостью звука, изменющийся с красного на зеленый при изменении его
+уровня с минимального на максимальный.). <literal>hpotmeter</literal> может иметь
+кнопку, которую можно таскать горизонтально. Параметры:
+    </para>
+    <itemizedlist>
+    <listitem><para><literal>button</literal> - изображение, используемое для 
+    кнопки (должно иметь три части одна под другой, как в случае 
+    <link linkend="skin-button">кнопки</link>)
+    </para></listitem>
+    <listitem><para><literal>bwidth</literal>, <literal>bheight</literal> - размер
+    кнопки
+    </para></listitem>
+   <listitem><para><literal>phases</literal> - изображение, используемое для 
+   различных положений hpotmeter. Специальное значение <literal>NULL</literal>
+   может использоваться, если подобное изображение вам не нужно. Изображение
+   должно быть разделено вертикально на 
+   <literal>numphases</literal> частей, как указано ниже:
+    </para>
+<informalfigure>
+<screen>
++--------------+
+| положение #1 |
++--------------+
+| положение #2 |
++--------------+
+     ...
++--------------+
+| положение #n |
++--------------+
+</screen>
+</informalfigure>
+    </listitem>
+    <listitem><para><literal>numphases</literal> - количество положений в изображении
+    <literal>phases</literal>
+    </para></listitem>
+    <listitem><para><literal>default</literal> - положение hpotmeter по-умолчанию
+    (в диапазоне от <literal>0</literal> до <literal>100</literal>)
+    </para></listitem>
+    <listitem><para><literal>X</literal>, <literal>Y</literal> - позиция hpotmeter
+    </para></listitem>
+    <listitem><para><literal>width</literal>, <literal>height</literal> - ширина и высота
+    <literal>hpotmeter</literal>
+    </para></listitem>
+    <listitem><para><literal>message</literal> - сообщение, генерируемое  при изменении значения
+    <literal>hpotmeter</literal>
+    </para></listitem>
+    </itemizedlist>
+
+    </listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-potmeter"/>potmeter = phases, numphases, default, X, Y, width, height, message
+  </literal></term>
+  <listitem><para>
+<literal>hpotmeter</literal> без кнопки. 
+<!-- FIXME need correct translation 
+(I guess it is meant to be
+turned around, but it reacts to horizontal dragging only.)
+-->  
+(Я предполагаю, что это означает повернутый вокруг,
+но он реагирует только на горизонтальное перетаскивание.) Для описания параметров смотрите 
+<link linkend="skin-hpotmeter">hpotmeter</link>.
+<literal>phases</literal> может быть равен <literal>NULL</literal>, но это совершенно 
+бесполезно, поскольку вы не сможете определить в каком положении 
+находится <literal>potmeter</literal>.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-font"/>font = fontfile, fontid
+  </literal></term>
+  <listitem><para>
+Определяет шрифт. <literal>fontfile</literal> - это название файла описания шрифта 
+с расширением <filename>.fnt</filename> (не указывайте расширение здесь).
+<literal>fontid</literal> используется для ссылки на шрифт (смотрите <link linkend="skin-dlabel">dlabel</link>
+и <link linkend="skin-slabel">slabel</link>). Может быть определено до 25 шрифтов.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-slabel"/>slabel = X, Y, fontid, &quot;text&quot;
+  </literal></term>
+  <listitem><para>
+Размещает  статическую метку на позиции <literal>X,Y</literal>. <literal>text</literal>
+отображается, используя шрифт, определенный по <literal>fontid</literal>. 
+Текст - просто обычная строка (<literal>$x</literal> переменные не работают), которая должна
+быть заключена в двойные кавычки (но символ &quot; не может быть частью текста). 
+Метка отображается, используя шрифт определенный по <literal>fontid</literal>.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-dlabel"/>dlabel = X, Y, length, align, fontid, &quot;text&quot;
+  </literal></term>
+  <listitem>
+<para>
+Размещает динамическую метку на позиции <literal>X,Y</literal>. Метка зовется 
+динамической, потому что ее текст периодически обновляется. Максимальная длина 
+метки задается параметром <literal>length</literal> (ее высота равна высоте символа).
+Если отображаемый текст шире этого значения, он будет скроллироваться,
+иначе он выравнивается в пределах указанного пространства в соответствии со
+значением параметра 
+<literal>align</literal>: <literal>0</literal> - вправо,
+<literal>1</literal> - по центру, <literal>2</literal> - влево.
+</para>
+<para>
+Отображаемый текст задается параметром <literal>text</literal>: Он должен быть
+заключен в двойные кавычки (но символ &quot; не может быть частью текста).
+Метка отображается, используя шрифт, определяемый по <literal>fontid</literal>. 
+Вы можете использовать следующие переменные в тексте:
+</para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+  <row><entry>Переменная</entry><entry>Значение</entry></row>
+</thead>
+<tbody>
+<row>
+<entry>$1</entry>
+<entry>время воспроизведения в формате <emphasis>чч:мм:сс</emphasis></entry>
+</row>
+<row>
+<entry>$2</entry>
+<entry>время воспроизведения в формате <emphasis>мммм:сс</emphasis></entry>
+</row>
+<row>
+<entry>$3</entry>
+<entry>время воспроизведения формате <emphasis>чч</emphasis>(часы)</entry>
+</row>
+<row>
+<entry>$4</entry>
+<entry>время воспроизведения в формате <emphasis>мм</emphasis>(минуты)</entry>
+</row>
+<row>
+<entry>$5</entry>
+<entry>время воспроизведения в формате <emphasis>сс</emphasis>(секунды)</entry>
+</row>
+<row>
+<entry>$6</entry>
+<entry>длительность фильма в формате <emphasis>чч:мм:сс</emphasis></entry>
+</row>
+<row>
+<entry>$7</entry>
+<entry>длительность фильма в формате <emphasis>мммм:сс</emphasis></entry>
+</row>
+<row>
+<entry>$8</entry>
+<entry>время воспроизведения формате <emphasis>ч:мм:сс</emphasis></entry>
+</row>
+<row>
+<entry>$v</entry>
+<entry>кромкость в формате <emphasis>xxx.xx</emphasis>%</entry>
+</row>
+<row>
+<entry>$V</entry>
+<entry>кромкость в формате <emphasis>xxx.xx</emphasis></entry>
+</row>
+<row>
+<entry>$b</entry>
+<entry>баланс в формате <emphasis>xxx.xx</emphasis>%</entry>
+</row>
+<row>
+<entry>$B</entry>
+<entry>баланс в формате <emphasis>xxx.xx</emphasis></entry>
+</row>
+<row>
+<entry>$$</entry>
+<entry>символ $</entry>
+</row>
+<row>
+<entry>$a</entry>
+<entry>символ ,соответствующий типу звука (нет: <literal>n</literal>,
+моно: <literal>m</literal>, стерео: <literal>t</literal>)</entry>
+</row>
+<row>
+<entry>$t</entry>
+<entry>номер дорожки (в плейлисте)</entry>
+</row>
+<row>
+<entry>$o</entry>
+<entry>имя файла</entry>
+</row>
+<row>
+<entry>$f</entry>
+<entry>имя файла в нижнем регистре</entry>
+</row>
+<row>
+<entry>$F</entry>
+<entry>имя файла в верхнем регистре</entry>
+</row>
+<row>
+<entry>$T</entry>
+<entry>символ, соответствующий типу потока (файл: <literal>f</literal>,
+Video CD: <literal>v</literal>, DVD: <literal>d</literal>, URL: <literal>u</literal>)</entry>
+</row>
+<row>
+<entry>$p</entry>
+<entry>символ <keycap>p</keycap> (если фильм воспроизводится и шрифт имеет 
+символ <keycap>p</keycap>)</entry>
+</row>
+<row>
+<entry>$s</entry>
+<entry>символ <keycap>s</keycap> (если фильм остановлен и шрифт имеет 
+символ <keycap>s</keycap>)</entry>
+</row>
+<row>
+<entry>$e</entry>
+<entry>символ <keycap>e</keycap> (если фильм на паузе и шрифт имеет 
+символ <keycap>e</keycap>)</entry>
+</row>
+<row>
+<entry>$x</entry>
+<entry>ширина фильма</entry>
+</row>
+<row>
+<entry>$y</entry>
+<entry>высота фильма</entry>
+</row>
+<row>
+<entry>$C</entry>
+<entry>название используемого кодека</entry>
+</row>
+
+</tbody>
+</tgroup>
+</informaltable>
+</listitem>
+
+</varlistentry>
+</variablelist>
+
+<note><para>
+Переменные <literal>$a, $T, $p, $s</literal> и <literal>$e</literal> все
+возвращают символы, которые должны быть отображены в качестве специальных значков
+(например, <keycap>e</keycap> - для значка паузы, который обычно выглядит как ||). 
+Вы должны иметь шрифт для обычных символов и отличающийся шрифт для значков.
+Смотрите раздел о <link linkend="skin-fonts-symbols">значках</link>
+для дополнительной информации.
+</para></note>
+</sect2>
+<sect2 id="skin-file-subwindow">
+<title>Вспомогательное окно</title>
+<para>
+Следующие элементы модут быть использованы в блоке
+'<literal>window = sub</literal>' . . . '<literal>end</literal>' .
+</para>
+
+<variablelist>
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-sub-base"/>base = image, X, Y, width, height
+  </literal></term>
+  <listitem><para>
+Изображение, отображаемое в окне. Окно будет появляться в указанной позиции 
+<literal>X,Y</literal> экрана (<literal>0,0</literal> - верхний левый угол). 
+Вы можете указать <literal>-1</literal> для центра и <literal>-2</literal>
+для правого (<literal>X</literal>) и нижнего (<literal>Y</literal>) края. 
+Окно будет того же размера, что и изображение. <literal>width</literal> и 
+<literal>height</literal> означают размер окна; они необязательны
+(если отсутствуют, окно будет иметь те же размеры, что и изображение).
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-background"/>background = R, G, B
+  </literal></term>
+  <listitem><para>
+Позволяет указать цвет фона. Это полезно, если изображение меньше окна. 
+<literal>R</literal>, <literal>G</literal> и <literal>B</literal>
+указывают красную, зеленую и синюю составляющие цвета (каждое из них -
+десятичное число от 0 до 255).
+    </para></listitem>
+</varlistentry>
+</variablelist>
+</sect2>
+
+<sect2 id="skin-file-menu">
+<title>Меню со скинами</title>
+<para>
+Как было описано выше, меню отображается при помощи двух картинок. Нормальные
+элементы меню берутся из изображения, указанного элементом <literal>base</literal>,
+в то время как выделенный в данный момент эелемент берется  из изображения,
+указанного элементом <literal>selected</literal>. Вы должны определить позицию и
+размер каждого элемента меню.
+</para>
+
+<para>
+Следующие элементы можно использовать в блоке 
+'<literal>window = menu</literal>'. . .'<literal>end</literal>'.
+</para>
+
+<variablelist>
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-menu-base"/>base = image
+  </literal></term>
+  <listitem><para>
+Изображение для нормальных элементов меню.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-selected"/>selected = image
+  </literal></term>
+  <listitem><para>
+Изоражение, показывающее меню со всеми выделенными элементами.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-menu"/>menu = X, Y, width, height, message
+  </literal></term>
+  <listitem><para>
+Определяет позицию <literal>X,Y</literal> и размер элемента меню в изображении.
+<literal>message</literal> - это сообщение, генерируемое, когда кнопка мыши будет отпущена 
+над элементом меню.
+    </para></listitem>
+</varlistentry>
+</variablelist>
+</sect2>
+</sect1>
+
+<sect1 id="skin-fonts">
+<title>Шрифты</title>
+<para>
+Как описано в разделе, посвященому частям скина, шрифт определяется
+изображением и файлом описания. Вы можете поместить символы в любое место изображения,
+но будьте уверены, что их позоция и размер точно указаны в файле описания.
+</para>
+
+<para>
+Файл описания шрифта (с расширением <filename>.fnt</filename>) может иметь комментарии,
+начинающиеся с '<literal>;</literal>'. Файл должен иметь строку вида
+<anchor id="skin-font-image"/>
+<programlisting>image = <replaceable>image</replaceable></programlisting>,
+где <literal><replaceable>image</replaceable></literal> - это название 
+файла с изображением, используемым для шрифта (расширение указывать необязательно).
+<anchor id="skin-font-char"/>
+<programlisting>&quot;char&quot; = X, Y, width, height</programlisting>
+Здесь <literal>X</literal> и <literal>Y</literal> указывают позицию символа 
+<literal>char</literal> в изображении (<literal>0,0</literal> - верхний левый угол),
+<literal>width</literal> и <literal>height</literal> - размеры символа в пикселах.
+</para>
+
+<para>
+Этот пример определяет символы  A, B, C, используя <filename>font.png</filename>.
+<programlisting>
+; Can be &quot;font&quot; instead of &quot;font.png&quot;.
+image = font.png
+
+; Three characters are enough for demonstration purposes :-)
+&quot;A&quot; =  0,0, 7,13
+&quot;B&quot; =  7,0, 7,13
+&quot;C&quot; = 14,0, 7,13
+</programlisting>
+</para>
+
+<sect2 id="skin-fonts-symbols">
+<title>Значки</title>
+<para>
+Некоторые символы иеют специальное значение, когда возвращаются некоторыми переменными,
+используемыми в <link linkend="skin-dlabel">dlabel</link>. Подразумевается, что эти символы
+должны отображаться в виде значков, так для DVD потока можно отображать значок
+красивого логотипа DVD вместо символа '<literal>d</literal>'.
+</para>
+<para>
+Следующая таблица содержит список всех символов, которые могут использоваться для
+отображения значков (и поэтому требуют другой шрифт).
+</para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+  <row><entry>Символ</entry><entry>Значок</entry></row>
+</thead>
+<tbody>
+<row><entry><keycap>p</keycap></entry><entry>воспроизведение</entry></row>
+<row><entry><keycap>s</keycap></entry><entry>стоп</entry></row>
+<row><entry><keycap>e</keycap></entry><entry>пауза</entry></row>
+<row><entry><keycap>n</keycap></entry><entry>без звука</entry></row>
+<row><entry><keycap>m</keycap></entry><entry>звук моно</entry></row>
+<row><entry><keycap>t</keycap></entry><entry>звук стерео</entry></row>
+<row><entry><keycap>f</keycap></entry><entry>файл</entry></row>
+<row><entry><keycap>v</keycap></entry><entry>Video CD</entry></row>
+<row><entry><keycap>d</keycap></entry><entry>DVD</entry></row>
+<row><entry><keycap>u</keycap></entry><entry>URL</entry></row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect2>
+</sect1>
+
+<sect1 id="skin-gui">
+<title>GUI сообщения</title>
+<para>
+Это сообщения, которые могут генерировться кнопками, ползунками и элементами меню.
+</para>
+
+<variablelist>
+<title>Управление воспроизведением:</title>
+<varlistentry>
+  <term><emphasis role="bold">evNext</emphasis></term>
+  <listitem><para>
+Переход к следующему элементу списка воспроизведения.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evPause</emphasis></term>
+  <listitem><para>
+Вместе с <literal>evPlaySwitchToPause</literal> формирует переключатель паузы.
+Может быть использовано для общей кнопки воспроизведение/пауза. Оба сообщения
+должны быть назначены кнопкам, находящимся практически в одной точке окна.
+Это сообщение ставит воспроизведение на паузу и показывает изображение кнопки с
+назначенным сообщением <literal>evPlaySwitchToPause</literal> 
+(чтобы показать, что кнопка может быть нажата для продолжения воспроизведения).
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evPlay</emphasis></term>
+  <listitem><para>
+Старт воспроизведения.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term>
+  <listitem><para>
+Противоположность <literal>evPauseSwitchToPlay</literal>. Это сообщение 
+запускает воспроизведение и показывает изображение кнопки с
+назначенным сообщением <literal>evPauseSwitchToPlay</literal>
+(чтобы показать, что кнопка может быть нажата для включения паузы).
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evPrev</emphasis></term>
+  <listitem><para>
+Переход к предыдущему элементу списка воспроизведения.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evStop</emphasis></term>
+  <listitem><para>
+Останавливает воспроизведение.
+    </para></listitem>
+</varlistentry>
+</variablelist>
+
+<variablelist>
+<title>Перемещение:</title>
+<varlistentry>
+  <term><emphasis role="bold">evBackward10sec</emphasis></term>
+  <listitem><para>
+Перемещение назад на 10 секунд.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evBackward1min</emphasis></term>
+  <listitem><para>
+Перемещение назад на 1 минуту.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evBackward10min</emphasis></term>
+  <listitem><para>
+Перемещение назад на 10 минут.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evForward10sec</emphasis></term>
+  <listitem><para>
+Перемещение вперед на 10 секунд.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evForward1min</emphasis></term>
+  <listitem><para>
+Перемещение вперед на 1 минуту.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evForward10min</emphasis></term>
+  <listitem><para>
+Перемещение вперед на 10 минут.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evSetMoviePosition</emphasis></term>
+  <listitem><para>
+Перемещается к позиции (может использоваться ползунком; 
+используется относительное (0-100%) положение ползунка).
+    </para></listitem>
+</varlistentry>
+</variablelist>
+
+<variablelist>
+<title>Управление видео:</title>
+<varlistentry>
+  <term><emphasis role="bold">evHalfSize</emphasis></term>
+  <listitem><para>
+Установить половинный размер окна.
+    </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term><emphasis role="bold">evDoubleSize</emphasis></term>
+  <listitem><para>
+Установить двойной размер окна.
+    </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term><emphasis role="bold">evFullScreen</emphasis></term>
+  <listitem><para>
+Включить/выключить полноэкранный режим.
+    </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term><emphasis role="bold">evNormalSize</emphasis></term>
+  <listitem><para>
+Установить нормальный размер окна.
+    </para></listitem>
+</varlistentry>
+</variablelist>
+
+<variablelist>
+<title>Управление звуком:</title>
+<varlistentry>
+  <term><emphasis role="bold">evDecAudioBufDelay</emphasis></term>
+  <listitem><para>
+Уменьшить задержку буфера звука.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evDecBalance</emphasis></term>
+  <listitem><para>
+Уменьшить баланс.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evDecVolume</emphasis></term>
+  <listitem><para>
+Уменьшить громкость.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evIncAudioBufDelay</emphasis></term>
+  <listitem><para>
+Увеличить задержку буфера звука.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evIncBalance</emphasis></term>
+  <listitem><para>
+Увеличить баланс.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evIncVolume</emphasis></term>
+  <listitem><para>
+Увеличить громкость.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evMute</emphasis></term>
+  <listitem><para>
+Выключить/включить звук.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evSetBalance</emphasis></term>
+  <listitem><para>
+Установить баланс (может использоваться ползунком;
+используется относительное (0-100%) значение ползунка),
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evSetVolume</emphasis></term>
+  <listitem><para>
+Установить громкость (может использоваться ползунком;
+используется относительное (0-100%) значение ползунка),
+    </para></listitem>
+</varlistentry>
+</variablelist>
+
+<variablelist>
+<title>Разное:</title>
+<varlistentry>
+  <term><emphasis role="bold">evAbout</emphasis></term>
+  <listitem><para>
+Открыть окно 'О программе'.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evDropSubtitle</emphasis></term>
+  <listitem><para>
+Отключает субтитры, использующиеся в данный момент.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evEqualizer</emphasis></term>
+  <listitem><para>
+Включает/выключает эквалайзер.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evExit</emphasis></term>
+  <listitem><para>
+Выход из программы.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evIconify</emphasis></term>
+  <listitem><para>
+Сворачивает окно в иконку.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evLoad</emphasis></term>
+  <listitem><para>
+Открывает файл (открывая окно навигации, в котором вы можете выбрать файл).
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evLoadPlay</emphasis></term>
+  <listitem><para>
+Делает то же, что и <literal>evLoad</literal>, но запускает вопроизведение файла автоматически 
+после его загрузки.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evLoadSubtitle</emphasis></term>
+  <listitem><para>
+Загружает файл с субтитрами (с диалогом выбора файла).
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evLoadAudioFile</emphasis></term>
+  <listitem><para>
+Загружает звуковой файл (с диалогом выбора файла).
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evNone</emphasis></term>
+  <listitem><para>
+Пустое сообщение, не имеет действий (за исключением, возможно, Subversion версий :-)).
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evPlaylist</emphasis></term>
+  <listitem><para>
+Открывае/закрывает окно со списком воспроизведения.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evPlayDVD</emphasis></term>
+  <listitem><para>
+Пытается открыть диск в указанном устройстве DVD-ROM.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evPlayVCD</emphasis></term>
+  <listitem><para>
+Пытается открыть диск в указанном устройстве CD-ROM.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evPreferences</emphasis></term>
+  <listitem><para>
+Открывает окно с настройками.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evSetAspect</emphasis></term>
+  <listitem><para>
+Включает показ пропорций изображения.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evSetURL</emphasis></term>
+  <listitem><para>
+Отображает диалог ввода URL.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evSkinBrowser</emphasis></term>
+  <listitem><para>
+Открывает окно навигации по скинам.
+    </para></listitem>
+</varlistentry>
+</variablelist>
+
+</sect1>
+
+<sect1 id="skin-quality">
+<title>Создание качественного скина</title>
+
+<para>
+Итак, вы прочитали о создании скина для
+<application>MPlayer</application> GUI, прекрасно нарисовали все в
+<application>Gimp</application> и желаете отправить скин нам?
+Прочтите некоторые руководства для избежания основных ошибок и 
+создания высококачественного скина.
+</para>
+
+<para>
+Мы хотим, чтобы скины, добавляемые нами в репозиторий, удовлетворяли 
+некоторым стандартам качества. Есть также несколько вещей,
+сделающих вашу жизнь проще.
+</para>
+
+<para>
+В качестве примера можете посмотреть на скин <systemitem>Blue</systemitem>,
+начиная с версии 1.5, он удовлетворяет всем критериям, указанным ниже.
+</para>
+
+<itemizedlist>
+  <listitem><para>Каждый скин должна идти с файлом 
+  <filename>README</filename>, содержащим информацию о вас, авторе,
+  правах на копирование, лицензионным уведомлением и всем другим,
+  что вам захочется добавить. Если хотите иметь историю изменений, то 
+  этот файл - хорошее место для нее.</para></listitem>
+
+  <listitem><para>Должен быть файл <filename>VERSION</filename>,
+  содержащийт только номер версии скина в одной строке
+  (например 1.0).</para></listitem>
+
+  <listitem><para>Горизондальные и вертикальные элементы управления 
+  (такие как ползунки громкости или положения) должны иметь
+  кнопку-ползунок точно отцентрированную по центру самого ползунка. 
+  Должно быть возможно двигать кнопку к обоим концам ползунка,
+  но не выходить за них.</para></listitem>
+
+  <listitem><para>Элементы скина должны иметь правильные размеры,
+  указанные в файле skin. Если это не так, вы сможете щелкнуть, например,
+  мимо кнопки и все равно она сработает, или наоборот кликнуть на нее,
+  не вызвав никакого действия.</para></listitem>
+
+  <listitem><para>Файл <filename>skin</filename> должен быть набран аккуратно
+  и не должен содержать символов табуляции. Аккуратно набран означает,
+  что числа должны выравниваться стройно в столбцы.</para></listitem>
+</itemizedlist>
+
+</sect1>
+
+</appendix>