diff options
Diffstat (limited to 'DOCS/xml/ru/skin.xml')
-rw-r--r-- | DOCS/xml/ru/skin.xml | 1231 |
1 files changed, 0 insertions, 1231 deletions
diff --git a/DOCS/xml/ru/skin.xml b/DOCS/xml/ru/skin.xml deleted file mode 100644 index e8dd1480f4..0000000000 --- a/DOCS/xml/ru/skin.xml +++ /dev/null @@ -1,1231 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- synced with r21612 --> -<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><filename>.<ext></filename>, где <literal>png</literal> -и <literal>PNG</literal> пробуются вместо <filename><ext></filename> -(в этом порядке). Будет использоваться первый найденный файл. -</para> - -<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> - -<para> -И наконец несколько слов о позиционировании. Главное и вспомогательное окна могут -быть размещены в разных углах экрана указанием <literal>X</literal> и -<literal>Y</literal> координат. <literal>0</literal> - это верхний и левый край, -<literal>-1</literal> - центр и <literal>-2</literal> - правый или нижний, как -указано на иллюстрации: -<informalfigure> -<screen> -(0, 0)----(-1, 0)----(-2, 0) - | | | - | | | -(0,-1)----(-1,-1)----(-2,-1) - | | | - | | | -(0,-2)----(-1,-2)----(-2,-2) -</screen> -</informalfigure> -</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> может иметь - кнопку, которую можно таскать горизонтально. Параметры: - <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> частей, как указано ниже: - <informalfigure><screen> -+--------------+ -| положение #1 | -+--------------+ -| положение #2 | -+--------------+ - ... -+--------------+ -| положение #n | -+--------------+<!-- - --></screen></informalfigure> - </para></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> - </para></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> без кнопки. - (Я предполагаю, что это означает повернутый вокруг, - но он реагирует только на перетаскивание по горизонтали.) Для описания параметров смотрите - <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, "text" - </literal></term> - <listitem><para> - Размещает статическую метку на позиции <literal>X,Y</literal>. <literal>text</literal> - отображается, используя шрифт, определенный по <literal>fontid</literal>. - Текст - просто обычная строка (<literal>$x</literal> переменные не работают), которая должна - быть заключена в двойные кавычки (но символ " не может быть частью текста). - Метка отображается, используя шрифт определенный по <literal>fontid</literal>. - </para></listitem> -</varlistentry> - -<varlistentry> - <term><literal> - <anchor id="skin-dlabel"/>dlabel = X, Y, length, align, fontid, "text" - </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>: Он должен быть - заключен в двойные кавычки (но символ " не может быть частью текста). - Метка отображается, используя шрифт, определяемый по <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> - - <note><para> - Переменные <literal>$a, $T, $p, $s</literal> и <literal>$e</literal> все - возвращают символы, которые должны быть отображены в качестве специальных значков - (например, <keycap>e</keycap> - для значка паузы, который обычно выглядит как ||). - Вы должны иметь шрифт для обычных символов и отличающийся шрифт для значков. - Смотрите раздел о <link linkend="skin-fonts-symbols">значках</link> - для дополнительной информации. - </para></note> - </listitem> -</varlistentry> -</variablelist> -</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>"char" = 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 "font" instead of "font.png". -image = font.png - -; Three characters are enough for demonstration purposes :-) -"A" = 0,0, 7,13 -"B" = 7,0, 7,13 -"C" = 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> |